{"version":3,"file":"static/js/main-8ef7ed10.4b0e5a3e.js","mappings":"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","sources":["components/bidding/seller/SellerView.tsx","components/bidding/common/participants/Participants.tsx","components/bidding/common/SubHeader.tsx","components/bidding/seller/auto-feedback/AutoFeedbackSettingsButton.tsx","components/bidding/seller/auto-feedback/AutoFeedbackSettingsPanel.tsx","components/bidding/seller/Scheduled.tsx","components/bidding/seller/trade/TiedForBestWarningIcon.tsx","components/bidding/seller/trade/TradePopup.tsx","components/bidding/seller/dealer-list-panel/DealerListSection.tsx","components/bidding/seller/useDealerListAggregatedData.tsx","components/bidding/seller/BidOnlyFilter.tsx","components/bidding/seller/Stage2ParticipantsFilter.tsx","components/bidding/seller/dealer-list-panel/DealerListPanel.tsx","components/bidding/seller/dealer-list-panel/DealerListButton.tsx","components/bidding/seller/biddingSecurities/PnL.jsx","components/bidding/seller/biddingSecurities/Events.jsx","components/bidding/common/table/columns/best.js","components/bidding/common/table/columns/cover.js","components/bidding/common/table/columns/third.js","components/bidding/common/table/columns/fourth.js","components/bidding/common/table/columns/fifth.js","components/bidding/common/table/columns/events.js","components/bidding/common/table/columns/pnl.js","components/bidding/seller/bid-list/BidListButton.tsx","components/bidding/common/table/columns/seller-actions/bid-list-button.js","components/bidding/seller/trade/TradeButton.tsx","components/bidding/common/table/columns/seller-actions/trade-button.js","components/bidding/seller/biddingSecurities/CompanyBid.tsx","components/bidding/seller/bid-on-behalf/EditBidValue.tsx","components/bidding/seller/bid-on-behalf/EditBidOnBehalf.tsx","components/bidding/seller/columns/DealerColumnHeaderContent.tsx","components/bidding/common/table/columns/biddersCounter.tsx","components/bidding/seller/columns/columns.tsx","components/bidding/seller/bid-on-behalf/BidOnBehalfConflictPopup.tsx","components/bidding/seller/bid-on-behalf/BidOnBehalfSavingLabel.tsx","components/bidding/seller/blast-message/BlastMessageButton.tsx","components/bidding/seller/blast-message/Stage1AboutToEndTimeoutRadioButton.tsx","components/bidding/seller/blast-message/BlastMessageType.tsx","components/bidding/seller/blast-message/BlastMessageRecipient.tsx","components/bidding/seller/blast-message/BlastMessageRecipients.tsx","components/bidding/seller/blast-message/BlastMessageButtons.tsx","components/bidding/seller/blast-message/BlastMessageStatusMessage.tsx","components/bidding/seller/blast-message/BlastMessagePanel.tsx","components/bidding/seller/jump-ball/SwitchStageButton.tsx","components/bidding/seller/bid-on-behalf/bulk-save/ShowBidOnBehalfPopupButton.tsx","components/bidding/seller/bid-on-behalf/bulk-save/SelectBdDropDown.tsx","components/bidding/seller/bid-on-behalf/bulk-save/ParseErrors.tsx","components/bidding/seller/bid-on-behalf/bulk-save/SaveBidOnBehalfPopup.tsx","components/bidding/seller/Notifications.tsx","components/bidding/seller/useBobAutoSave.ts","components/bidding/seller/Bidding.tsx","components/bidding/seller/Cancelled.tsx","components/bidding/seller/Finished.tsx","components/bidding/otherSeller/OtherSellerView.jsx","components/bidding/OpenBiddingExplanation.jsx","components/bidding/admin/AdminBiddingView.tsx","components/bidding/BiddingView.jsx","components/bidding/brokerDealer/biddingSecurities/BidFeedback.tsx","components/bidding/brokerDealer/biddingSecurities/BiddingInfo.tsx","components/bidding/brokerDealer/confirm-bids/ReSubmitButton.tsx","components/bidding/brokerDealer/confirm-bids/SubmitStatus.tsx","components/bidding/brokerDealer/BrokerDealerView.tsx","components/bidding/brokerDealer/invitation/RequestInvitationPanel.jsx","components/bidding/brokerDealer/invitation/RequestInvitationDialog.jsx","components/bidding/brokerDealer/Scheduled.tsx","components/bidding/common/bid-placement/BidAll.tsx","components/bidding/brokerDealer/confirm-bids/usePositionSubmitResult.ts","components/bidding/brokerDealer/confirm-bids/SubmitBidStatus.tsx","components/bidding/brokerDealer/confirm-bids/ReSubmitBidButton.tsx","components/bidding/brokerDealer/confirm-bids/ConfirmBidsPopup.tsx","components/bidding/brokerDealer/BrokerDealerBiddingRouteLeaveGuard.tsx","components/bidding/brokerDealer/BiddingTable.tsx","components/bidding/brokerDealer/Bidding.tsx","components/bidding/brokerDealer/Cancelled.tsx","components/bidding/brokerDealer/FinishedTable.tsx","components/bidding/brokerDealer/Finished.tsx","components/bidding/brokerDealer/BwicCreator.tsx","components/bidding/brokerDealer/trade-affirm/TradeRejectReasonPopup.tsx","components/bidding/brokerDealer/trade-affirm/AffirmTradePopup.jsx","components/bidding/brokerDealer/trade-affirm/AffirmTradeButtons.tsx","components/bidding/common/AxedIcon.tsx","components/bidding/common/BiddingTimer.tsx","components/bidding/seller/bid-list/EmptyBid.tsx","components/bidding/seller/bid-list/BidGroup.tsx","components/bidding/seller/bid-list/BidList.tsx","components/bidding/common/ControlPanel.jsx","components/bidding/common/ControlPanelOptions.ts","components/bidding/common/EmailLink.tsx","components/bidding/common/FinalIcon.tsx","components/bidding/common/LiveBiddingStage2Timer.tsx","components/bidding/common/PhoneNumberLink.tsx","components/bidding/common/RejectedLink.jsx","components/bidding/common/Timer.jsx","components/bidding/common/feedback/FeedbackLabel.tsx","components/bidding/common/feedback/LiveBiddingStage2Level.tsx","components/bidding/common/feedback/LiveBiddingStrage2LevelData.tsx","components/bidding/common/TopPanel.tsx","components/bidding/common/RulesButton.jsx","components/bidding/common/ActionBar.tsx","components/bidding/common/CompletionTime.tsx","components/bidding/common/TargetLevel.tsx","components/bidding/common/ExportButton.tsx","components/bidding/common/tab-list/TabItem.jsx","components/bidding/common/tab-list/TabList.jsx","components/bidding/common/table/CollapseStickRightColumn.tsx","components/bidding/common/table/sticky/TableGroupingRow.tsx","components/bidding/common/table/sticky/StickyTableContent.tsx","components/bidding/common/table/TableContent.jsx","components/bidding/common/table/Table.jsx","components/bidding/common/table/columns/color.js","components/bidding/common/table/columns/column-builder/ColumnHeaderWrapper.tsx","components/bidding/common/table/columns/column-builder/ColumnBuilder.tsx","components/bidding/common/table/columns/isinCusip.js","components/bidding/common/table/columns/ticker.js","components/bidding/common/table/columns/ccy.js","components/bidding/brokerDealer/scheduledSecurities/PxTalkChange.tsx","components/bidding/common/table/columns/pxTalk-change.js","components/bidding/common/table/columns/history.js","components/bidding/common/table/columns/bid.tsx","components/bidding/common/table/columns/colorDistribution/colorDistributionTradedStatus.js","components/bidding/common/table/columns/colorDistribution/colorDistributionType.js","components/bidding/common/table/columns/colorDistribution/colorDistributionLabel.js","components/bidding/common/bid-placement/Axed.tsx","components/bidding/common/table/columns/bid-placement/axed.tsx","components/bidding/common/bid-placement/Final.tsx","components/bidding/common/table/columns/bid-placement/final.tsx","components/bidding/common/bid-placement/Bid.tsx","components/bidding/common/bid-placement/LiveBid.tsx","components/bidding/common/bid-placement/JumpBallBid.tsx","components/bidding/common/bid-placement/TopXBid.tsx","components/bidding/common/bid-placement/BFFBid.tsx","components/bidding/common/table/columns/bid-placement/bid.tsx","components/bidding/common/table/columns/bid-placement/feedback.jsx","components/bidding/common/bid-placement/BidButton.tsx","components/bidding/common/bid-placement/PassButton.tsx","components/bidding/common/table/columns/bid-placement/broker-dealer.action.buttons.tsx","components/bidding/common/bid-placement/Commission.tsx","components/bidding/common/table/columns/bid-placement/commission.tsx","components/bidding/common/table/columns/trade-affirm/couterparty.js","components/bidding/common/table/columns/trade-affirm/settle.date.js","components/bidding/common/table/columns/trade-affirm/trade.price.js","components/bidding/common/table/columns/trade-affirm/trade.size.js","components/bidding/common/table/columns/trade-affirm/trade-comment.js","components/bidding/common/table/columns/trade-affirm/affirm-reject.buttons.js","components/bidding/common/table/columns/trade-affirm/trade-commission.tsx","components/bidding/common/table/columns/trade-affirm/trade-total-price.tsx","components/bidding/common/table/columns/trade-affirm/trade-rating.tsx","components/bidding/common/table/columns/open-bidding/liveBiddingStage2Level.tsx","components/bidding/common/table/columns/bid-placement/bidding-info.jsx","components/bidding/common/table/columns/column.presets.js","components/bidding/common/table/columns/live-bidding-stage2-timer.js","components/bidding/common/table/columns/pxTalk.js","components/bidding/common/table/columns/rating.js","components/bidding/common/table/columns/size.js","components/bidding/common/table/columns/target.level.js","components/bidding/common/table/columns/ticker-button.js","components/bidding/common/table/columns/trade-affirm/trade.status.js","components/bidding/common/table/sticky/StickyTableCollapsibleRow.tsx","components/bidding/common/table/sticky/StickyTableRow.tsx","components/bidding/common/table/types/TableColumnStickType.ts","components/bidding/seller/CancelReasonPopup.tsx","components/bidding/seller/FeedbackMenu.tsx","components/bidding/seller/bid-on-behalf/BidOnBehalfIcon.tsx","components/bidding/seller/biddingSecurities/BidLevel.jsx","components/bidding/seller/biddingSecurities/BidOverThemSelf.tsx","components/bidding/seller/biddingSecurities/BidOverThemselfIcon.tsx","components/bidding/seller/colorDistribution/ColorDistributionBlocked.tsx","components/bidding/seller/colorDistribution/ColorDistribution.jsx","components/bidding/seller/colorDistribution/TradedSelect.tsx","components/bidding/seller/colorDistribution/DntSelect.tsx","components/bidding/seller/colorDistribution/PublicColor.jsx","components/bidding/seller/colorDistribution/ColorType.jsx","components/bidding/seller/colorDistribution/ColorLabel.jsx","components/blotter/BlotterEmptyListPlaceholder.jsx","components/blotter/BlotterTradesFilter.tsx","components/blotter/BlotterTrades.jsx","components/blotter/BlotterExportButton.tsx","components/blotter/BlotterTradesView.tsx","components/blotter/BlotterView.tsx"],"sourcesContent":["import { useEffect } from 'react';\r\nimport { bwicStatuses } from '../../../constants';\r\nimport { Scheduled, Bidding, Cancelled, Finished } from '.';\r\nimport { ColorDistribution } from './colorDistribution';\r\nimport {\r\n sellerBiddingActions,\r\n controlPanelActions,\r\n} from '../../../actions';\r\nimport { Preloader } from '../../common';\r\nimport {\r\n DirectBiddingDisclaimerContentBlocker\r\n} from '../../direct-bidding-agreement-disclaimer/DirectBiddingDisclaimerContentBlocker';\r\nimport { useParams } from 'react-router-dom';\r\nimport { useAppSelector } from '../../../effects/useAppSelector';\r\nimport { BiddingTabs } from '../../../constants/bidding';\r\nimport { useAppDispatch } from '../../../effects/useAppDispatch';\r\n\r\nexport const SellerView = () => {\r\n const dispatch = useAppDispatch();\r\n const { tab } = useParams<{ tab: BiddingTabs }>();\r\n const bwic = useAppSelector((s) => s.bidding.bwic);\r\n const isLoading = useAppSelector((s) => s.bidding.isLoading);\r\n\r\n const rightSidePanelVisible = useAppSelector((s) => (\r\n s.bwicHistory.visible ||\r\n s.sellerBidding.bidList.visible ||\r\n s.securityDetails.security ||\r\n s.rules.show ||\r\n s.pxTalkList.visible ||\r\n s.sellerBidding.autoFeedbackSettingsVisible ||\r\n s.dealerListPanel.panelVisible ||\r\n s.blastMessage.panelVisible ||\r\n s.bwicLog.security\r\n ))\r\n\r\n const activePositionId = useAppSelector((s) => (\r\n rightSidePanelVisible &&\r\n (\r\n (s.bwicHistory.visible && s.bwicHistory.positionId) ||\r\n (s.sellerBidding.bidList.visible && s.sellerBidding.bidList.positionId) ||\r\n (s.securityDetails.security && s.securityDetails.security.id) ||\r\n (s.bwicLog.security && s.bwicLog.security.id) ||\r\n (s.rules.show && s.rules.positionId) ||\r\n (s.pxTalkList.visible && s.pxTalkList.positionId)\r\n )\r\n ))\r\n\r\n const getActiveTab = () => bwic.isAllToAll ? undefined : tab\r\n\r\n useEffect(() => {\r\n return () => {\r\n dispatch(sellerBiddingActions.reset());\r\n }\r\n //eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n useEffect(() => {\r\n dispatch(controlPanelActions.hide());\r\n //eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [tab])\r\n\r\n const renderTemplate = () => {\r\n switch (bwic.status) {\r\n case bwicStatuses.scheduled.key:\r\n return ;\r\n\r\n case bwicStatuses.bidding.key:\r\n return bwic.isColorDistribution\r\n ? \r\n : ;\r\n\r\n case bwicStatuses.cancelled.key:\r\n return ;\r\n\r\n case bwicStatuses.finished.key:\r\n return ;\r\n\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n {renderTemplate()}\r\n \r\n \r\n )\r\n}\r\n","import { useEffect, useMemo } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { biddingActions } from '../../../../actions';\r\nimport { Preloader } from '../../../common';\r\nimport { DealerList } from '../../../dealer-list/DealerList';\r\nimport { arrayUtils } from '../../../../utils/array.utils';\r\nimport { sortDealersByConfirmedAgreement } from '../../../../utils/direct-bidding.utils';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { Bid } from '../../../../types/bidding/Bid';\r\nimport { isRequestSuccess } from '../../../../utils';\r\nimport { BwicProcessType } from '../../../../types/models/Process';\r\nimport { useAppDispatch } from '../../../../effects/useAppDispatch';\r\n\r\nexport function Participants() {\r\n const dispatch = useAppDispatch();\r\n\r\n const bwicDealers = useSelector((state: AppState) => state.bidding.bwicDealers);\r\n const bwicDealerUsers = useSelector((state: AppState) => state.bidding.bwicDealerUsers);\r\n const bwicDealerContacts = useSelector((state: AppState) => state.bidding.bwicDealerContacts);\r\n const participantsLoadingState = useSelector((state: AppState) => state.bidding.participantsLoadingState);\r\n const bwic = useSelector((state: AppState) => state.bidding.bwic);\r\n const positions = useSelector((state: AppState) => state.sellerBidding.securities);\r\n const settlementAgentAgreementsState = useSelector((state: AppState) => state.entities.settlementAgentAgreements);\r\n\r\n useEffect(() => {\r\n if (bwic) {\r\n dispatch(biddingActions.loadBwicParticipants());\r\n }\r\n }, [dispatch, settlementAgentAgreementsState, bwic]);\r\n\r\n const sortedDealers = useMemo(\r\n () => sortDealersByConfirmedAgreement(bwicDealers, settlementAgentAgreementsState.items),\r\n [bwicDealers, settlementAgentAgreementsState.items]\r\n );\r\n\r\n const bidsByCompany = useMemo(() => {\r\n const allBids = positions\r\n .map(p => p.bids || [])\r\n .flat()\r\n .filter(b => !b.buyerPseudoOrderNumber);\r\n return arrayUtils.groupBy(allBids, (bid: Bid) => bid.company.id)\r\n }, [positions]);\r\n\r\n return (\r\n
\r\n \r\n
\r\n {\r\n isRequestSuccess(participantsLoadingState) &&\r\n \r\n }\r\n
\r\n
\r\n
\r\n )\r\n}\r\n","import React from 'react';\r\nimport { useHistory } from 'react-router';\r\nimport { BiddingTabs } from '../../../constants/bidding';\r\nimport { ActionBar, ExportButton } from '../common';\r\nimport { TabList, TabItem } from '../common/tab-list';\r\nimport { Bwic } from '../../../types/bwic/Bwic';\r\nimport { routes } from '../../../constants';\r\nimport { useParams } from 'react-router-dom';\r\n\r\ninterface Props {\r\n bwic: Bwic;\r\n children?: React.ReactNode;\r\n disabledTabs?: BiddingTabs[];\r\n actionBarVisible?: boolean;\r\n}\r\n\r\nexport default function SubHeader({ bwic, children, actionBarVisible = true, disabledTabs }: Props) {\r\n return (\r\n
\r\n {!bwic.isAllToAll && }\r\n {actionBarVisible && (\r\n \r\n {children}\r\n \r\n \r\n )}\r\n
\r\n );\r\n}\r\n\r\n\r\ninterface TabListProps {\r\n bwic: Bwic;\r\n disabledTabs: BiddingTabs[];\r\n}\r\n\r\nfunction BiddingTabList({ bwic, disabledTabs }: TabListProps) {\r\n const history = useHistory();\r\n const { tab } = useParams<{ tab: string }>();\r\n\r\n return (\r\n \r\n history.push(routes.biddingUrl(bwic.referenceName, BiddingTabs.bidding))}\r\n disabled={disabledTabs.indexOf(BiddingTabs.bidding) > -1}\r\n />\r\n history.push(routes.biddingUrl(bwic.referenceName, BiddingTabs.participants))}\r\n disabled={disabledTabs.indexOf(BiddingTabs.participants) > -1}\r\n />\r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport classNames from 'classnames';\r\nimport IconSVG from '../../../../styles/svg-icons';\r\nimport { autoFeedbackSettingsActions } from '../../../../actions/auto-feedback-settings-actions';\r\nimport { FeatureButton } from '../../../access/FeatureButton';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { OnHoverTooltip } from '../../../common';\r\nimport { RoleActionBlocker } from '../../../access/RoleActionBlocker';\r\nimport { roles } from '../../../../constants';\r\nimport { useAppDispatch } from '../../../../effects/useAppDispatch';\r\n\r\ninterface Props {\r\n disabled?: boolean;\r\n disabledTooltip?: string;\r\n}\r\n\r\nexport function AutoFeedbackSettingsButton({ disabled = false, disabledTooltip }: Props) {\r\n const dispatch = useAppDispatch();\r\n const autoFeedbackSettingsVisible = useSelector((s: AppState) => s.sellerBidding.autoFeedbackSettingsVisible);\r\n const bwic = useSelector((s: AppState) => s.bidding.bwic)\r\n\r\n React.useEffect(() => {\r\n if (disabled && autoFeedbackSettingsVisible) {\r\n dispatch(autoFeedbackSettingsActions.showAutoFeedbackSettingsPanel(false));\r\n }\r\n },\r\n [disabled, autoFeedbackSettingsVisible, dispatch]);\r\n\r\n if (!bwic) {\r\n return null;\r\n }\r\n\r\n const isActive = bwic.autoFeedbackConfiguration.onPlatform || bwic.autoFeedbackConfiguration.offPlatform;\r\n\r\n return (\r\n \r\n {\r\n blocked =>\r\n \r\n dispatch(autoFeedbackSettingsActions.toggleAutoFeedbackSettingsPanel())}\r\n >\r\n \r\n Auto-Feedback: \r\n {isActive ? 'on' : 'off'}\r\n \r\n \r\n }\r\n \r\n );\r\n}\r\n","import { useSelector } from 'react-redux';\r\nimport classNames from 'classnames';\r\nimport { RightSidePanel, Toggle } from '../../../controls';\r\nimport { autoFeedbackSettingsActions as actions } from '../../../../actions/auto-feedback-settings-actions';\r\nimport { AutoFeedbackSettings } from '../../../../types/models/AutoFeedbackSettings';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { OnHoverTooltip } from '../../../common';\r\nimport { StatusMessageSection } from '../../../status-message/StatusMessageSection';\r\nimport { StatusMessageSectionType } from '../../../../types/state/NotificationState';\r\nimport { useAppSelector } from '../../../../effects/useAppSelector';\r\nimport { BwicProcessType } from '../../../../types/models/Process';\r\nimport { OpenBiddingStatus } from '../../../../types/enums/OpenBiddingStatus';\r\nimport { TopXStage2Participants } from '../../../../types/bwic-process/TopXSettings';\r\nimport { useAppDispatch } from '../../../../effects/useAppDispatch';\r\n\r\ninterface Props {\r\n scheduled?: boolean;\r\n}\r\n\r\nexport function AutoFeedbackSettingsPanel(props: Props) {\r\n const autoFeedbackSettingsVisible = useSelector((s: AppState) => s.sellerBidding.autoFeedbackSettingsVisible);\r\n\r\n if (!autoFeedbackSettingsVisible) return null;\r\n\r\n return ;\r\n}\r\n\r\nfunction AutoFeedbackSettingsPanelContent({ scheduled }: Props) {\r\n const dispatch = useAppDispatch();\r\n const settings: AutoFeedbackSettings = useSelector((s: AppState) => s.bidding.bwic && s.bidding.bwic?.autoFeedbackConfiguration);\r\n const autoFeedbackSettingsSaving = useSelector((s: AppState) => s.sellerBidding.autoFeedbackSettingsSaving);\r\n const isAutoFeedbackBlastMessageSending = useSelector((s: AppState) => s.sellerBidding.isAutoFeedbackBlastMessageSending);\r\n const process = useAppSelector(s => s.bidding.bwic?.process)\r\n\r\n if (!settings || !process) return null;\r\n\r\n const enabled = !scheduled && settings.onPlatform && settings.offPlatform;\r\n const isTopXStage2 = process.type === BwicProcessType.TopX && process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended;\r\n const isThirdTextVisible = isTopXStage2 && process.topX!.improverCount >= TopXStage2Participants.Top3;\r\n const isFourthTextVisible = isTopXStage2 && process.topX!.improverCount >= TopXStage2Participants.Top4;\r\n const isFifthTextVisible = isTopXStage2 && process.topX!.improverCount === TopXStage2Participants.Top5;\r\n\r\n return (\r\n dispatch(actions.showAutoFeedbackSettingsPanel(false))}\r\n >\r\n
\r\n \r\n

The system provides the following feedback:

\r\n
    \r\n
  1. to best: \"Best\"
  2. \r\n
  3. in case if multiple dealers are best, to all of them: \"Tied for the best level\"
  4. \r\n
  5. to cover: \"Cover\"
  6. \r\n {isThirdTextVisible &&
  7. to third: \"Third\"
  8. }\r\n {isFourthTextVisible &&
  9. to fourth: \"Fourth\"
  10. }\r\n {isFifthTextVisible &&
  11. to fifth: \"Fifth\"
  12. }\r\n {\r\n !isTopXStage2 &&\r\n
  13. to participants with no bid: \"Please submit your bid or indicate that you pass\"
  14. \r\n }\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n dispatch(actions.toggleAutofeedback())}\r\n disabled={autoFeedbackSettingsSaving || isAutoFeedbackBlastMessageSending || scheduled}\r\n />\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import { useState } from 'react';\r\nimport classNames from 'classnames';\r\nimport { sellerBiddingActions as actions } from '../../../actions';\r\nimport { TopPanel } from '../common';\r\nimport { Participants } from '../common/participants';\r\nimport { BiddingTabs } from '../../../constants/bidding';\r\nimport { ContextMenu } from '../../controls';\r\nimport { Table } from '../common/table/Table';\r\nimport { sellerScheduledColumns } from '../common/table/columns';\r\nimport { CancelReasonPopup } from './CancelReasonPopup';\r\nimport SubHeader from '../common/SubHeader';\r\nimport { AutoFeedbackSettingsButton } from './auto-feedback/AutoFeedbackSettingsButton';\r\nimport { AutoFeedbackSettingsPanel } from './auto-feedback/AutoFeedbackSettingsPanel';\r\nimport { ControlPanel } from '../common/ControlPanel';\r\nimport { BwicProcessType } from '../../../types/models/Process';\r\nimport { useAppSelector } from '../../../effects/useAppSelector';\r\nimport { BwicPosition } from '../../../types/bwic/BwicPosition';\r\nimport { roles } from '../../../constants';\r\nimport { useAppDispatch } from '../../../effects/useAppDispatch';\r\n\r\ninterface ScheduledProps {\r\n activeTab?: BiddingTabs;\r\n activePositionId: number;\r\n}\r\n\r\nexport const Scheduled = ({ activeTab, activePositionId }: ScheduledProps) => {\r\n const [cancelBwicDialogVisible, setCancelBwicDialogVisible] = useState(false);\r\n const dispatch = useAppDispatch();\r\n const bwic = useAppSelector((s) => s.bidding.bwic);\r\n const securities = useAppSelector((s) => s.sellerBidding.securities);\r\n\r\n const handleBwicCancel = (reason: string) => {\r\n dispatch(actions.cancelBwic(bwic.referenceName, reason));\r\n setCancelBwicDialogVisible(false);\r\n }\r\n\r\n const createSecurityCustomClassName = (security: BwicPosition) => {\r\n return classNames('pointer', {\r\n active: security.id === activePositionId\r\n });\r\n }\r\n\r\n const isStandard = bwic.process.type === BwicProcessType.Standard;\r\n const isJumpBall = bwic.process.type === BwicProcessType.JumpBall;\r\n const isTopX = bwic.process.type === BwicProcessType.TopX;\r\n const optionsMenuItems = [\r\n {\r\n text: 'Cancel',\r\n requiredRoles: [roles.SellerTrader, roles.BrokerDealerTrader],\r\n action: () => setCancelBwicDialogVisible(true)\r\n }\r\n ];\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n {\r\n (isStandard || isTopX || isJumpBall) &&\r\n \r\n }\r\n \r\n
\r\n
\r\n {activeTab === BiddingTabs.participants\r\n ? \r\n : (\r\n ({ bwic })}\r\n />\r\n )\r\n }\r\n {\r\n cancelBwicDialogVisible &&\r\n setCancelBwicDialogVisible(false)}\r\n onCancel={handleBwicCancel}\r\n />\r\n }\r\n \r\n {bwic.process.type !== BwicProcessType.Live && }\r\n
\r\n
\r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { BwicPosition } from '../../../../types/bwic/BwicPosition';\r\nimport { getSecuritiesWithLatestBids } from '../../../../selectors';\r\nimport { biddingUtils } from '../../../../utils';\r\nimport { OnHoverTooltip } from '../../../common';\r\n\r\ninterface Props {\r\n position: BwicPosition;\r\n}\r\n\r\nexport function TiedForBestWarningIcon({ position }: Props) {\r\n const [{ bids }] = getSecuritiesWithLatestBids({ securities: [position] });\r\n const [best = []] = biddingUtils.groupBidsByLevel(bids);\r\n\r\n if (best.length > 1) {\r\n const counterparties = best\r\n .map(b => b.buyerPseudoOrderNumber\r\n ? `${b.company.name}-${b.buyerPseudoOrderNumber} (${b.company.code}-${b.buyerPseudoOrderNumber})`\r\n : `${b.company.name} (${b.company.code})`)\r\n .join(', ');\r\n\r\n const message = `These participants are tied for the best price: ${counterparties}.`;\r\n\r\n return (\r\n \r\n \r\n \r\n\r\n );\r\n }\r\n\r\n return null;\r\n}\r\n","import * as React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport classNames from 'classnames';\r\nimport { keys } from 'lodash';\r\nimport TextareaAutosize from 'react-textarea-autosize';\r\nimport { Popup, PopupBody, PopupFooter, FormError } from '../../../controls';\r\nimport { Confirm } from '../../../alerts';\r\nimport { sellerBiddingActions } from '../../../../actions';\r\nimport { formatUtils, moneyUtils, biddingUtils, arrayUtils } from '../../../../utils';\r\nimport IconSVG from '../../../../styles/svg-icons';\r\nimport { OnHoverTooltip } from '../../../common';\r\nimport { getSecuritiesWithLatestBids, tradingPositionsSelector } from '../../../../selectors';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { IColumnDefinition } from '../../common/table/types/ColumnDefinition';\r\nimport { BwicPosition } from '../../../../types/bwic/BwicPosition';\r\nimport { TraidingPositionState } from '../../../../types/state/SellerBiddingState';\r\nimport { ColumnBuilder } from '../../common/table/columns/column-builder/ColumnBuilder';\r\nimport { Table } from '../../common/table';\r\nimport { Bid } from '../../../../types/bidding/Bid';\r\nimport { TiedForBestWarningIcon } from './TiedForBestWarningIcon';\r\nimport { DropDownList, DropDownListItem } from '../../../controls/DropDownList';\r\nimport { Checkbox } from '../../../controls/Checkbox';\r\nimport { BidOverThemselfIcon } from '../biddingSecurities/BidOverThemselfIcon';\r\nimport { useAppDispatch } from '../../../../effects/useAppDispatch';\r\nimport { DayPickerInput } from '../../../controls/DayPickerInput';\r\n\r\ninterface Props {\r\n tradingPositions: {\r\n [positionId: number]: TraidingPositionState\r\n };\r\n}\r\n\r\nfunction TradePopupContent({ tradingPositions }: Props) {\r\n const dispatch = useAppDispatch();\r\n\r\n const positions = useSelector((s: AppState) => tradingPositionsSelector(s.sellerBidding));\r\n const holidays = useSelector((s: AppState) => s.sellerBidding.holidays);\r\n const tradeAllChecked = useSelector((s: AppState) => s.sellerBidding.tradeAllChecked);\r\n const tradingConfirmationVisible = useSelector((s: AppState) => s.sellerBidding.tradingConfirmationVisible);\r\n const minimumSettleDate = useSelector((s: AppState) => s.sellerBidding.minimumSettleDate);\r\n\r\n const hasSelectedPositions = React.useMemo(\r\n () => keys(tradingPositions).some(positionId => tradingPositions[+positionId]?.selected),\r\n [tradingPositions]\r\n );\r\n\r\n const canSelect = positions.length > 1;\r\n\r\n const handleClose = () => {\r\n dispatch(sellerBiddingActions.cancelTrade());\r\n dispatch(sellerBiddingActions.tradeAllSelectionChange(false));\r\n }\r\n\r\n const handleConfirmTraded = () => {\r\n dispatch(sellerBiddingActions.submitTrade());\r\n dispatch(sellerBiddingActions.tradeAllSelectionChange(false));\r\n }\r\n\r\n const getColumns = () => {\r\n const columns: IColumnDefinition[] = [\r\n {\r\n columnKey: 'onBehalf',\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: position => {\r\n const tradingState = tradingPositions[position.id];\r\n const isOffPlatformCompanySelected = position.bids.some(b =>\r\n b.onBehalf &&\r\n biddingUtils.getBidCompanyIdentifier(b) === tradingState?.tradingCompanyIdentifier\r\n );\r\n\r\n return (\r\n isOffPlatformCompanySelected &&\r\n \r\n \r\n \r\n );\r\n },\r\n headerClassName: 'data-list-cell-xxs',\r\n bodyClassName: 'data-list-cell-xxs',\r\n },\r\n {\r\n columnKey: 'position-check',\r\n renderColumnHeaderContent: () => {\r\n const tradingPositionIdList = Object.keys(tradingPositions).map(positionId => +positionId);\r\n\r\n return (\r\n <>\r\n {\r\n canSelect &&\r\n {\r\n e.stopPropagation();\r\n dispatch(sellerBiddingActions.tradeAllSelectionChange(!tradeAllChecked));\r\n }}\r\n checked={tradeAllChecked || !canSelect}\r\n disabled={!canSelect}\r\n partially={\r\n tradingPositionIdList.some(id => tradingPositions[id].selected) &&\r\n tradingPositionIdList.some(id => !tradingPositions[id].selected)\r\n }\r\n />\r\n }\r\n {\r\n !canSelect &&
ISIN/CUSIP
\r\n }\r\n \r\n );\r\n },\r\n renderColumnContent: position => {\r\n const tradingState = tradingPositions[position.id];\r\n return (\r\n {\r\n e.stopPropagation();\r\n dispatch(sellerBiddingActions.tradingPositionSelectionChange(position.id, !tradingState?.selected))\r\n }}\r\n checked={tradingState?.selected}\r\n disabled={!canSelect}\r\n />\r\n );\r\n },\r\n headerClassName: 'data-list-cell-md',\r\n bodyClassName: 'data-list-cell-md',\r\n },\r\n {\r\n columnKey: 'ticker',\r\n renderColumnHeaderContent: () => 'Ticker',\r\n renderColumnContent: position => position.ticker,\r\n headerClassName: 'data-list-cell-lg',\r\n bodyClassName: 'data-list-cell-lg',\r\n },\r\n {\r\n columnKey: 'rating',\r\n renderColumnHeaderContent: () => 'Rtg',\r\n renderColumnContent: position => position.rating,\r\n headerClassName: 'data-list-cell-xxs',\r\n bodyClassName: 'data-list-cell-xxs',\r\n },\r\n {\r\n columnKey: 'settleDate',\r\n renderColumnHeaderContent: () => 'Settle Date',\r\n renderColumnContent: position => renderSettleDate(position, tradingPositions[position.id]),\r\n headerClassName: 'data-list-cell-md cell-input cell-settle overflow-visible',\r\n bodyClassName: 'data-list-cell-md cell-input cell-settle overflow-visible',\r\n },\r\n {\r\n columnKey: 'counterparty',\r\n renderColumnHeaderContent: () => 'Counterparty',\r\n renderColumnContent: position => renderCompanyList(position, tradingPositions[position.id]),\r\n headerClassName: 'data-list-cell-sm cell-input cell-counterparty overflow-visible',\r\n bodyClassName: 'data-list-cell-sm cell-input cell-counterparty overflow-visible'\r\n },\r\n {\r\n columnKey: 'tiedForBestWarning',\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: position => ,\r\n headerClassName: 'data-list-cell-xxs padding-l-0 text-center',\r\n bodyClassName: 'data-list-cell-xxs padding-l-0 text-center',\r\n },\r\n {\r\n columnKey: 'price',\r\n renderColumnHeaderContent: () => 'Price',\r\n renderColumnContent: position => renderTradingCompanyBids(position, tradingPositions[position.id]),\r\n headerClassName: 'data-list-cell-md cell-input overflow-visible',\r\n bodyClassName: 'data-list-cell-md cell-input overflow-visible'\r\n },\r\n {\r\n columnKey: 'bidOverThemselfWarning',\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: position =>\r\n ,\r\n headerClassName: 'data-list-cell-xxs padding-l-0 text-center',\r\n bodyClassName: 'data-list-cell-xxs padding-l-0 text-center',\r\n },\r\n {\r\n columnKey: 'size',\r\n renderColumnHeaderContent: () => 'Size',\r\n renderColumnContent: position =>\r\n ,\r\n headerClassName: 'data-list-cell-sm cell-input text-right',\r\n bodyClassName: 'data-list-cell-sm cell-input text-right',\r\n },\r\n {\r\n columnKey: 'comment',\r\n renderColumnHeaderContent: () => 'Comments',\r\n renderColumnContent: position => {\r\n const tradingState = tradingPositions[position.id];\r\n return (\r\n dispatch(sellerBiddingActions.tradingPositionCommentChange(position.id, e.target.value))}\r\n onClick={(e) => e.stopPropagation()}\r\n />\r\n );\r\n },\r\n headerClassName: 'data-list-cell-xl-flexible cell-comment',\r\n bodyClassName: 'data-list-cell-xl-flexible cell-comment',\r\n }\r\n ];\r\n\r\n return columns.map(c => new ColumnBuilder(c));\r\n }\r\n\r\n const renderSettleDate = (position: BwicPosition, tradingState?: TraidingPositionState) => {\r\n const error = tradingState?.errors?.settleDate;\r\n return (\r\n e.stopPropagation()}\r\n >\r\n dispatch(sellerBiddingActions.tradingPositionSettleDateChange(position.id, day))}\r\n minimumDate={minimumSettleDate}\r\n selectedDate={tradingState?.settleDate}\r\n allowWeekends={false}\r\n disabledDays={holidays?.map(h => new Date(h))}\r\n />\r\n {!!error && }\r\n \r\n );\r\n }\r\n\r\n const renderCompanyList = (position: BwicPosition, tradingState?: TraidingPositionState) => {\r\n const [positionWithLatestBids] = getSecuritiesWithLatestBids({ securities: [position] });\r\n const [best] = biddingUtils.groupBidsByLevel(positionWithLatestBids.bids);\r\n\r\n const tradingCompanies = positionWithLatestBids.bids\r\n .filter(b => !b.pass)\r\n .sort((a, b) => +b.value - +a.value)\r\n .map(b => ({\r\n key: biddingUtils.getBidCompanyIdentifier(b),\r\n title: b.buyerPseudoOrderNumber\r\n ? `${b.company.code}-${b.buyerPseudoOrderNumber}`\r\n : b.company.code\r\n }));\r\n\r\n const handleTradingCompanyChange = (item: DropDownListItem, e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n dispatch(sellerBiddingActions.tradingPositionCompanyChange(position.id, item.value));\r\n };\r\n\r\n const renderItem = (item: DropDownListItem) => {\r\n const isTiedForBest = best?.length > 1 && best.some(b => biddingUtils.getBidCompanyIdentifier(b) === item.value);\r\n return (\r\n <>\r\n {item.text} {isTiedForBest && (tied for best)}\r\n \r\n );\r\n };\r\n\r\n return (\r\n ({\r\n value: c.key,\r\n text: c.title,\r\n selected: c.key === tradingState?.tradingCompanyIdentifier,\r\n }))}\r\n defaultSortingEnabled={false}\r\n renderItemContentCallback={renderItem}\r\n onChange={handleTradingCompanyChange}\r\n />\r\n );\r\n };\r\n\r\n const renderTradingCompanyBids = (position: BwicPosition, tradingState?: TraidingPositionState) => {\r\n const allCompanyBids = position.bids\r\n .filter(b => !b.pass && biddingUtils.getBidCompanyIdentifier(b) === tradingState?.tradingCompanyIdentifier)\r\n .sort((a, b) => b.id - a.id);\r\n const companyBids = arrayUtils.distinct(allCompanyBids, (bid: Bid) => bid.value);\r\n\r\n return (\r\n ({\r\n value: b.id,\r\n text: formatUtils.formatBid(b.value),\r\n selected: b.id === tradingState?.tradingBidId,\r\n }))}\r\n defaultSortingEnabled={false}\r\n onChange={(item: DropDownListItem) =>\r\n dispatch(sellerBiddingActions.tradingPositionBidChange(position.id, +item.value))\r\n }\r\n />\r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n `Trades-${p.id}`}\r\n />\r\n \r\n \r\n \r\n dispatch(sellerBiddingActions.tradeConfirm(true))}\r\n disabled={!hasSelectedPositions}\r\n >\r\n proceed\r\n \r\n \r\n {\r\n tradingConfirmationVisible &&\r\n <>Would you like to complete the trade?
This operation is irreversible.}\r\n onCancel={() => dispatch(sellerBiddingActions.tradeConfirm(false))}\r\n onConfirm={handleConfirmTraded}\r\n />\r\n }\r\n
\r\n );\r\n}\r\n\r\nexport function TradePopup() {\r\n const tradingPositions = useSelector((s: AppState) => s.sellerBidding.tradingPositions);\r\n\r\n if (!keys(tradingPositions).length) return null;\r\n\r\n return \r\n}\r\n","import * as React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport classNames from 'classnames';\r\nimport { Checkbox } from '../../../controls';\r\nimport { OnHoverTooltip } from '../../../common';\r\nimport { TooltipPlacement } from '../../../common/Tooltip';\r\nimport IconSVG from '../../../../styles/svg-icons';\r\nimport { dealerListPanelActions } from '../../../../actions';\r\n\r\n\r\ninterface Props {\r\n title: string;\r\n checkboxTooltip?: string;\r\n defaultExpanded?: boolean;\r\n toggleState: boolean;\r\n toggleEnabled?: boolean;\r\n children: React.ReactNode;\r\n onToggleAll: () => void;\r\n totalCount: number;\r\n checkedCount: number;\r\n}\r\n\r\nexport function DealerListSection({ title, checkboxTooltip, children, defaultExpanded = true, toggleState, toggleEnabled = true, onToggleAll, totalCount, checkedCount }: Props) {\r\n const dispatch = useDispatch();\r\n const [expanded, setExpanded] = React.useState(defaultExpanded);\r\n const isPartiallySelected = checkedCount > 0 && totalCount !== checkedCount;\r\n\r\n const handleToggleAll = () => {\r\n if (toggleEnabled) {\r\n onToggleAll();\r\n dispatch(dealerListPanelActions.stage2ParticipantsFlagChange(false));\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
setExpanded(!expanded)}>\r\n \r\n {\r\n \r\n \r\n \r\n }\r\n

{title}

\r\n ({checkedCount}/{totalCount} selected)\r\n
\r\n
\r\n {\r\n expanded &&\r\n
\r\n {children}\r\n
\r\n }\r\n
\r\n
\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { useAppSelector } from \"../../../effects/useAppSelector\";\r\nimport { getBuyers } from \"../../../selectors\";\r\nimport { Bid } from \"../../../types/bidding/Bid\";\r\nimport { BidderCompanySlim } from \"../../../types/company/BidderCompanySlim\";\r\nimport { CompanySlim } from \"../../../types/company/CompanySlim\";\r\nimport { CompanyStatus } from \"../../../types/company/CompanyStatus\";\r\nimport { arrayUtils } from \"../../../utils/array.utils\";\r\nimport { biddingUtils } from \"../../../utils/bidding.utils\";\r\n\r\nexport function useDealerListAggregatedData() {\r\n const positions = useAppSelector(s => s.sellerBidding.securities);\r\n const offPlatformCompaniesSlim = useAppSelector(s => s.bidOnBehalf.companies);\r\n const bwicParticipants = useAppSelector(s => s.bidding.bwic?.companies ?? []);\r\n const isAllToAll = useAppSelector(s => s.bidding.bwic?.isAllToAll) ?? false;\r\n const companyHiddenState = useAppSelector(s => s.dealerListPanel.companyHiddenState);\r\n const bidOnlyFlag = useAppSelector(s => s.dealerListPanel.bidOnlyFlag);\r\n\r\n const allBids: Bid[] = React.useMemo(() =>\r\n positions\r\n .map(p => p.bids || [])\r\n .flat(),\r\n [positions]);\r\n\r\n const bidsByCompanyIdentifier = React.useMemo(\r\n () => arrayUtils.groupBy(allBids, bid => biddingUtils.getBidCompanyIdentifier(bid)),\r\n [allBids]\r\n );\r\n\r\n const addIdentifier = (company: CompanySlim) =>\r\n ({ ...company, identifier: biddingUtils.getBidCompanyIdentifier({ company }) })\r\n\r\n const onPlatformCompanies: BidderCompanySlim[] = React.useMemo(\r\n () => bwicParticipants\r\n .filter(c => c.status === CompanyStatus.active)\r\n .filter(c => !c.isClearingBank || !isAllToAll)\r\n .map(addIdentifier),\r\n [bwicParticipants, isAllToAll]\r\n );\r\n\r\n const offPlatformCompanies: BidderCompanySlim[] = React.useMemo(\r\n () => offPlatformCompaniesSlim.map(addIdentifier),\r\n [offPlatformCompaniesSlim]\r\n );\r\n\r\n const buyers = getBuyers(positions);\r\n\r\n return {\r\n allBids,\r\n companyHiddenState,\r\n bidOnlyFlag,\r\n bidsByCompanyIdentifier,\r\n onPlatformCompanies,\r\n offPlatformCompanies,\r\n buyers\r\n }\r\n}","import React from 'react';\r\nimport { Checkbox } from '../../controls';\r\nimport { OnHoverTooltip } from '../../common/OnHoverTooltip';\r\nimport { useDispatch } from 'react-redux';\r\nimport { TooltipPlacement } from '../../common/Tooltip';\r\nimport { dealerListPanelActions } from '../../../actions/dealer-list-panel.actions';\r\nimport { useDealerListAggregatedData } from './useDealerListAggregatedData';\r\n\r\nexport function BidOnlyFilter() {\r\n const dispatch = useDispatch();\r\n\r\n const {\r\n allBids,\r\n companyHiddenState,\r\n bidOnlyFlag,\r\n bidsByCompanyIdentifier,\r\n onPlatformCompanies,\r\n offPlatformCompanies,\r\n buyers\r\n } = useDealerListAggregatedData()\r\n\r\n const handleBidOnlyFlagChange = () => {\r\n const enabled = !bidOnlyFlag;\r\n dispatch(dealerListPanelActions.setBidOnlyFlag(enabled));\r\n dispatch(dealerListPanelActions.stage2ParticipantsFlagChange(false));\r\n\r\n const allDealers = [...onPlatformCompanies, ...offPlatformCompanies, ...buyers];\r\n\r\n if (enabled) {\r\n allDealers.forEach(c => {\r\n const bids = bidsByCompanyIdentifier.get(c.identifier);\r\n const hasBids = bids != null && bids.length > 0;\r\n const hidden = companyHiddenState[c.identifier];\r\n\r\n if ((hasBids && hidden) || (!hasBids && !hidden)) {\r\n dispatch(dealerListPanelActions.toggleCompanyVisible(c.identifier));\r\n }\r\n });\r\n } else {\r\n dispatch(dealerListPanelActions.toggleAllPlatformVisible(onPlatformCompanies, true));\r\n dispatch(dealerListPanelActions.toggleAllSettlmentsClientsVisible(buyers, false));\r\n }\r\n };\r\n\r\n React.useEffect(() => {\r\n const allBrokerDealers = [...onPlatformCompanies, ...offPlatformCompanies, ...buyers];\r\n\r\n const isBrokerDealerWithoutBidsVisible = allBrokerDealers.some(b => {\r\n const isVisible = !companyHiddenState[b.identifier];\r\n const hasBids = bidsByCompanyIdentifier.get(b.identifier)?.length;\r\n return isVisible && !hasBids;\r\n });\r\n\r\n const allBrokerDealersWithBidsVisible = !allBrokerDealers.some(b =>\r\n companyHiddenState[b.identifier] &&\r\n bidsByCompanyIdentifier.get(b.identifier)?.length\r\n );\r\n\r\n if ((bidOnlyFlag && isBrokerDealerWithoutBidsVisible) || // BD without bids column added\r\n (bidOnlyFlag && !allBrokerDealersWithBidsVisible) || // BD with bids column removed\r\n (!bidOnlyFlag && !isBrokerDealerWithoutBidsVisible && allBrokerDealersWithBidsVisible)) { // Auto-check bid only flag\r\n dispatch(dealerListPanelActions.setBidOnlyFlag(!bidOnlyFlag));\r\n }\r\n // eslint-disable-next-line\r\n }, [companyHiddenState, dispatch]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import React from 'react'\r\nimport { useDispatch } from 'react-redux';\r\nimport { useAppSelector } from '../../../effects/useAppSelector'\r\nimport { Checkbox } from '../../controls/Checkbox';\r\nimport { dealerListPanelActions } from '../../../actions/dealer-list-panel.actions';\r\n\r\nexport function Stage2ParticipantsFilter() {\r\n const dispatch = useDispatch();\r\n const isStage2ParticipantsOnly = useAppSelector(s => s.dealerListPanel.isStage2ParticipantsOnly);\r\n\r\n return (\r\n dispatch(dealerListPanelActions.stage2ParticipantsFlagChange(!isStage2ParticipantsOnly, true))}\r\n />\r\n )\r\n}\r\n","import * as React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { CompanySlim } from '../../../../types/company/CompanySlim';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { RightSidePanel, Checkbox } from '../../../controls';\r\nimport { Preloader, Pluralize, FavoriteButton, SearchInput, OnHoverTooltip, EmptyPlaceholder } from '../../../common';\r\nimport { DealerListSection } from './DealerListSection';\r\nimport { dealerListPanelActions } from '../../../../actions';\r\nimport { biddingUtils } from '../../../../utils';\r\nimport { CompanyStatus } from '../../../../types/company/CompanyStatus';\r\nimport { BidderCompanySlim } from '../../../../types/company/BidderCompanySlim';\r\nimport { BidOnlyFilter } from '../BidOnlyFilter';\r\nimport { Stage2ParticipantsFilter } from '../Stage2ParticipantsFilter';\r\nimport { BwicProcessType } from '../../../../types/models/Process';\r\nimport { useDealerListAggregatedData } from '../useDealerListAggregatedData';\r\n\r\ninterface Props {\r\n bwicParticipants: CompanySlim[];\r\n offPlatformVisible: boolean;\r\n isStage2Mode: boolean;\r\n isClearingBankParticipant: boolean;\r\n isAllToAll: boolean;\r\n}\r\n\r\nexport function DealerListPanel(props: Props) {\r\n const dispatch = useDispatch();\r\n const panelVisible = useSelector((state: AppState) => state.dealerListPanel.panelVisible);\r\n const isDefaultVisibilityApplied = useSelector((state: AppState) => state.dealerListPanel.isDefaultVisibilityApplied);\r\n const isRequesting = useSelector((state: AppState) => state.bidOnBehalf.isRequesting);\r\n const offPlatformCompanies = useSelector((state: AppState) => state.bidOnBehalf.companies);\r\n\r\n React.useEffect(() => {\r\n if (!isRequesting && !isDefaultVisibilityApplied && props.bwicParticipants.length) {\r\n if (props.isStage2Mode) {\r\n dispatch(dealerListPanelActions.stage2ParticipantsFlagChange(true));\r\n } else {\r\n dispatch(dealerListPanelActions.showBwicParticipantsOnly());\r\n }\r\n }\r\n }, [isRequesting, isDefaultVisibilityApplied, props.bwicParticipants, props.isStage2Mode, offPlatformCompanies, dispatch]);\r\n\r\n return panelVisible ? : null;\r\n}\r\n\r\nfunction DealerListPanelContent({ offPlatformVisible = false, isClearingBankParticipant }: Props) {\r\n const dispatch = useDispatch();\r\n const [searchTerm, setSearchTerm] = React.useState('');\r\n const {\r\n companyHiddenState,\r\n allFavoriteCompaniesVisible,\r\n allPlatformCompaniesVisible,\r\n allOffPlatformCompaniesVisible,\r\n allSettlmentsClientsVisible,\r\n } = useSelector((state: AppState) => state.dealerListPanel);\r\n\r\n const {\r\n bidsByCompanyIdentifier,\r\n onPlatformCompanies,\r\n offPlatformCompanies,\r\n buyers\r\n } = useDealerListAggregatedData();\r\n\r\n const disabledCompanies = useSelector((state: AppState) => state.dealerListPanel.disabledCompanies);\r\n const isRequesting = useSelector((state: AppState) => state.bidOnBehalf.isRequesting);\r\n const favorites = useSelector((state: AppState) => state.favoriteBrokerDealers.favorites);\r\n const proccesType = useSelector((state: AppState) => state.bidding.bwic?.process.type);\r\n const isAllToAll = useSelector((state: AppState) => state.bidding.bwic?.isAllToAll);\r\n\r\n const favoriteCompanies: BidderCompanySlim[] = React.useMemo(() => {\r\n const result = [...onPlatformCompanies];\r\n if (offPlatformVisible) {\r\n result.push(...offPlatformCompanies);\r\n }\r\n\r\n return result.filter(c => favorites[c.id])\r\n .map(company => ({ ...company, identifier: biddingUtils.getBidCompanyIdentifier({ company }) }));\r\n }, [offPlatformCompanies, onPlatformCompanies, favorites, offPlatformVisible]);\r\n\r\n const applySearchTerm = React.useCallback((companies: BidderCompanySlim[]) => {\r\n const searchTermLowerCase = searchTerm?.toLowerCase();\r\n return companies.filter(c =>\r\n !searchTermLowerCase ||\r\n biddingUtils.getBidderName(c)?.toLowerCase().includes(searchTermLowerCase) ||\r\n biddingUtils.getBidderShortcode(c)?.toLowerCase().includes(searchTermLowerCase)\r\n );\r\n }, [searchTerm]);\r\n\r\n const filteredOnPlatformCompanies =\r\n React.useMemo(() => applySearchTerm(onPlatformCompanies), [onPlatformCompanies, applySearchTerm]);\r\n const filteredOffPlatformCompanies =\r\n React.useMemo(() => applySearchTerm(offPlatformCompanies), [offPlatformCompanies, applySearchTerm]);\r\n const filteredFavoriteCompanies =\r\n React.useMemo(() => applySearchTerm(favoriteCompanies), [favoriteCompanies, applySearchTerm]);\r\n const filteredBuyers =\r\n React.useMemo(() => applySearchTerm(buyers), [buyers, applySearchTerm]);\r\n\r\n React.useEffect(() => {\r\n const shouldForceAllState = (allToggleFlag: boolean, companies: BidderCompanySlim[]): boolean =>\r\n allToggleFlag !== companies.every(c => !companyHiddenState[c.identifier]);\r\n\r\n if (shouldForceAllState(allFavoriteCompaniesVisible, filteredFavoriteCompanies)) {\r\n dispatch(dealerListPanelActions.toggleAllFavoriteVisibleFlagOnly())\r\n }\r\n if (shouldForceAllState(allPlatformCompaniesVisible, filteredOnPlatformCompanies)) {\r\n dispatch(dealerListPanelActions.toggleAllPlatformVisibleFlagOnly())\r\n }\r\n if (shouldForceAllState(allOffPlatformCompaniesVisible, filteredOffPlatformCompanies)) {\r\n dispatch(dealerListPanelActions.toggleAllOffPlatformVisibleFlagOnly())\r\n }\r\n if (shouldForceAllState(allSettlmentsClientsVisible, buyers)) {\r\n dispatch(dealerListPanelActions.toggleAllSettlmentsClientsFlagOnly())\r\n }\r\n }, [\r\n dispatch,\r\n allFavoriteCompaniesVisible,\r\n filteredFavoriteCompanies,\r\n companyHiddenState,\r\n allPlatformCompaniesVisible,\r\n filteredOnPlatformCompanies,\r\n allOffPlatformCompaniesVisible,\r\n filteredOffPlatformCompanies,\r\n buyers,\r\n allSettlmentsClientsVisible\r\n ]);\r\n\r\n const renderSearch = () => {\r\n return (\r\n
\r\n setSearchTerm('')}\r\n maxLength={128}\r\n />\r\n
\r\n );\r\n };\r\n\r\n const renderCheckbox = (company: BidderCompanySlim, onPlatform: boolean, favoritedDisabled: boolean = false) => {\r\n const companyBids = bidsByCompanyIdentifier.get(company.identifier) || [];\r\n const disabledCompanyCheckbox = disabledCompanies[company.identifier];\r\n\r\n const getText = (noBidsSubmitted?: boolean) => {\r\n if (noBidsSubmitted) {\r\n return <>This Broker-Dealer did not submit any bids at Stage 1;\r\n }\r\n let text = biddingUtils.getBidderName(company);\r\n\r\n if (biddingUtils.getBidderShortcode(company) && !company.buyerPseudoOrderNumber) {\r\n text = text + ` (${biddingUtils.getBidderShortcode(company)})`;\r\n }\r\n\r\n return text;\r\n };\r\n\r\n const renderLabel = () => {getText()};\r\n\r\n return (\r\n \r\n \r\n {\r\n dispatch(dealerListPanelActions.toggleCompanyVisible(company.identifier, !onPlatform));\r\n dispatch(dealerListPanelActions.stage2ParticipantsFlagChange(false));\r\n }}\r\n label={onPlatform ? renderLabel() : getText()}\r\n />\r\n \r\n {\r\n !!companyBids.length &&\r\n
\r\n \r\n
\r\n }\r\n {\r\n favoritedDisabled ? null : (\r\n
\r\n \r\n
\r\n )\r\n }\r\n \r\n );\r\n };\r\n\r\n return (\r\n dispatch(dealerListPanelActions.hide())}>\r\n
\r\n {!isAllToAll && (\r\n <>\r\n {renderSearch()}\r\n
\r\n \r\n
\r\n \r\n )}\r\n {\r\n (proccesType === BwicProcessType.JumpBall ||\r\n proccesType === BwicProcessType.TopX ||\r\n proccesType === BwicProcessType.Live) &&\r\n
\r\n \r\n
\r\n }\r\n {\r\n !isAllToAll &&\r\n dispatch(dealerListPanelActions.toggleAllFavoriteCompaniesVisible(filteredFavoriteCompanies))}\r\n toggleEnabled={!!filteredFavoriteCompanies.length}\r\n totalCount={filteredFavoriteCompanies.length}\r\n checkedCount={filteredFavoriteCompanies.filter(company => !companyHiddenState[company.identifier]).length}\r\n >\r\n {filteredFavoriteCompanies.map(c => renderCheckbox(c, c.status === CompanyStatus.active))}\r\n {\r\n !filteredFavoriteCompanies.length && !searchTerm &&\r\n \r\n }\r\n {\r\n !filteredFavoriteCompanies.length && !!searchTerm &&\r\n \r\n }\r\n \r\n }\r\n {\r\n !isAllToAll &&\r\n dispatch(dealerListPanelActions.toggleAllPlatformVisible(filteredOnPlatformCompanies))}\r\n toggleEnabled={!!filteredOnPlatformCompanies.length}\r\n totalCount={filteredOnPlatformCompanies.length}\r\n checkedCount={filteredOnPlatformCompanies.filter(company => !companyHiddenState[company.identifier]).length}\r\n >\r\n {filteredOnPlatformCompanies.map(c => renderCheckbox(c, true))}\r\n {\r\n !filteredOnPlatformCompanies.length && !searchTerm &&\r\n \r\n }\r\n {\r\n !filteredOnPlatformCompanies.length && !!searchTerm &&\r\n \r\n }\r\n \r\n }\r\n {\r\n offPlatformVisible &&\r\n !isRequesting &&\r\n !!offPlatformCompanies.length &&\r\n !isAllToAll &&\r\n dispatch(dealerListPanelActions.toggleAllOffPlatformVisible(filteredOffPlatformCompanies))}\r\n toggleEnabled={!!filteredOffPlatformCompanies.length}\r\n totalCount={filteredOffPlatformCompanies.length}\r\n checkedCount={filteredOffPlatformCompanies.filter(company => !companyHiddenState[company.identifier]).length}\r\n >\r\n \r\n {filteredOffPlatformCompanies.map(c => renderCheckbox(c, false))}\r\n {\r\n !filteredOffPlatformCompanies.length && !!searchTerm &&\r\n \r\n }\r\n \r\n \r\n }\r\n {\r\n isClearingBankParticipant &&\r\n dispatch(dealerListPanelActions.toggleAllSettlmentsClientsVisible(filteredBuyers))}\r\n toggleEnabled={!!filteredBuyers.length}\r\n totalCount={filteredBuyers.length}\r\n checkedCount={filteredBuyers.filter(company => !companyHiddenState[company.identifier]).length}\r\n >\r\n {filteredBuyers.map(c => renderCheckbox(c, true, true))}\r\n {\r\n !filteredBuyers.length && !searchTerm &&\r\n \r\n }\r\n {\r\n !filteredBuyers.length && !!searchTerm &&\r\n \r\n }\r\n \r\n }\r\n
\r\n
\r\n );\r\n}\r\n","import classNames from 'classnames';\r\nimport { useSelector } from 'react-redux';\r\nimport { dealerListPanelActions, controlPanelActions } from '../../../../actions';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport IconSVG from '../../../../styles/svg-icons';\r\nimport { useAppDispatch } from '../../../../effects/useAppDispatch';\r\n\r\nexport function DealerListButton() {\r\n const dispatch = useAppDispatch();\r\n const { panelVisible } = useSelector((state: AppState) => state.dealerListPanel);\r\n\r\n const handleClick = () => {\r\n if (panelVisible) {\r\n dispatch(dealerListPanelActions.hide())\r\n } else {\r\n dispatch(controlPanelActions.hide());\r\n dispatch(dealerListPanelActions.show());\r\n }\r\n }\r\n\r\n return (\r\n \r\n );\r\n}\r\n","import React, { Component } from 'react';\r\nimport { biddingUtils, numericUtils, moneyUtils } from '../../../../utils';\r\nimport { OnHoverTooltip } from \"../../../common\";\r\nimport { constants } from '../../../../constants';\r\nimport { BidLevel } from '../../../../types/bidding/BidLevel';\r\n\r\nexport default class PnL extends Component {\r\n render = () => {\r\n const { targetLevel, bids, size } = this.props;\r\n const [best] = biddingUtils.getBidsByLevel(bids, BidLevel.Best);\r\n\r\n if (!best || !numericUtils.isNumber(targetLevel)) {\r\n return constants.emptyPlaceholder;\r\n }\r\n\r\n const pnl = numericUtils.round(Number(best.value) - Number(targetLevel), 4) * size / 100;\r\n const money = moneyUtils.money(pnl, true);\r\n\r\n return (\r\n \r\n {money}\r\n \r\n )\r\n }\r\n}\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport moment from 'moment';\r\nimport { dateTimeUtils, biddingUtils, formatUtils } from '../../../../utils';\r\nimport { RejectedLink } from '../../common';\r\nimport { FeedbackLabel } from '../../common/feedback/FeedbackLabel';\r\nimport { TradeStatus } from '../../../../types/trades/TradeStatus';\r\nimport IconSVG from \"../../../../styles/svg-icons\";\r\nimport { BidOnBehalfIcon } from '../bid-on-behalf/BidOnBehalfIcon';\r\nimport { BwicProcessType } from '../../../../types/models/Process';\r\n\r\nfunction Events({ bwic, position }) {\r\n const { trade, bids } = position;\r\n const bidsByCreatedDate = (bids && [...bids].sort((a, b) => b.createdUtc.localeCompare(a.createdUtc))) || [];\r\n const [lastSubmittedBid] = bidsByCreatedDate;\r\n\r\n const getCompanyCode = (company, buyerPseudoOrderNumber) => {\r\n const code = company && company.code && company.code.toUpperCase();\r\n\r\n return buyerPseudoOrderNumber ? `${code}-${buyerPseudoOrderNumber}` : code;\r\n }\r\n\r\n const renderTradeEvent = () => {\r\n if (trade && moment(trade.tradeDate).isAfter(lastSubmittedBid.createdUtc)) {\r\n const companyCode = getCompanyCode(trade.buyerCompany, trade.buyerPseudoOrderNumber);\r\n\r\n let tradeContent = null;\r\n if (trade.status === TradeStatus.rejected) {\r\n tradeContent = \r\n } else if (trade.status === TradeStatus.canceled) {\r\n tradeContent = ;\r\n } else {\r\n const text = `Traded to ${companyCode} @ ${formatUtils.formatBid(trade.price)} ${dateTimeUtils.utcToLocalString(trade.tradeDate)}.`;\r\n tradeContent = ;\r\n }\r\n\r\n return (\r\n <>\r\n {Boolean(trade.onBehalf) && }\r\n {tradeContent}\r\n \r\n );\r\n }\r\n\r\n return null;\r\n }\r\n\r\n const renderLiveBiddingEvent = () => {\r\n const { process } = bwic;\r\n if (process.type === BwicProcessType.Live && process.liveBidding && process.stagedBiddingStatus) { // after stage 1\r\n const notPassedBids = bidsByCreatedDate.filter(b => !b.pass);\r\n const [lastSubmittedNotPassedBid] = notPassedBids;\r\n const now = moment.utc();\r\n const stage2Start = moment.utc(bwic.bidsDueUtc).add(process.liveBidding.stage1Deadline, 'minute');\r\n const stage2Deadline = moment(stage2Start).add(process.liveBidding.improvementRound, 'minute');\r\n const bidSubmissionDeadline = lastSubmittedNotPassedBid && moment.utc(lastSubmittedNotPassedBid.createdUtc).add(process.liveBidding.improvementRound, 'minute');\r\n const isBiddingTimeEnded = now.isAfter(stage2Deadline) && now.isAfter(bidSubmissionDeadline);\r\n const hasStage2Bids = lastSubmittedNotPassedBid && moment.utc(lastSubmittedNotPassedBid.createdUtc).isAfter(stage2Start);\r\n\r\n if (lastSubmittedNotPassedBid && isBiddingTimeEnded) {\r\n return \r\n } else if (!hasStage2Bids && !isBiddingTimeEnded) {\r\n const message = notPassedBids.length ? 'Stage 2 started' : 'No bids were placed in Stage 1';\r\n return \r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n const getAxedFinalIcons = (axed, final) => {\r\n return (\r\n <>\r\n {(axed || final) &&  }\r\n {axed && }\r\n {final && }\r\n \r\n )\r\n }\r\n\r\n const renderBidEvent = () => {\r\n if (lastSubmittedBid) {\r\n const companyCode = getCompanyCode(lastSubmittedBid.company, lastSubmittedBid.buyerPseudoOrderNumber) || '';\r\n if (lastSubmittedBid.pass) {\r\n return \r\n } else {\r\n const bidLevel = biddingUtils.getBidLevel(lastSubmittedBid, position.bids);\r\n const levelBids = biddingUtils.getBidsByLevel(position.bids, bidLevel);\r\n const hasManySameLevelBids = levelBids && levelBids.length > 1;\r\n const process = bwic.process;\r\n const improversCount = process.type === BwicProcessType.JumpBall || process.type === BwicProcessType.TopX\r\n ? process.topX?.improverCount ?? process.jumpBall?.improverCount\r\n : 3;\r\n const levelString = formatUtils.formatBidLevel(bidLevel, hasManySameLevelBids, improversCount);\r\n\r\n return \r\n {`${companyCode}`} bids {`${formatUtils.formatBid(lastSubmittedBid.value)}`}\r\n {getAxedFinalIcons(lastSubmittedBid.axed, lastSubmittedBid.final)}{'. ' + levelString}\r\n \r\n } />\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n return renderTradeEvent() || renderLiveBiddingEvent() || renderBidEvent();\r\n}\r\n\r\nconst mapStateToProps = ({ bidding }) => ({\r\n bwic: bidding.bwic,\r\n});\r\n\r\nconst connectedEvents = connect(mapStateToProps)(Events);\r\nexport { connectedEvents as Events };\r\n","import React from 'react';\r\nimport {\r\n SecurityListHeaderColumn,\r\n SecurityListColumn,\r\n} from '../../../common';\r\nimport { BidLevel as BidLevelComponent } from '../../../seller/biddingSecurities';\r\nimport { BidOverThemSelf } from '../../../seller/biddingSecurities/BidOverThemSelf';\r\nimport { BidLevel } from '../../../../../types/bidding/BidLevel';\r\n\r\nexport const best = {\r\n columnName: 'best',\r\n renderHeader: function () {\r\n return (\r\n \r\n Best\r\n \r\n );\r\n },\r\n renderBody: function (position, context) {\r\n return (\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 {\r\n SecurityListHeaderColumn,\r\n SecurityListColumn,\r\n} from '../../../common';\r\nimport { BidLevel as BidLevelComponent } from '../../../seller/biddingSecurities';\r\nimport { BidLevel } from '../../../../../types/bidding/BidLevel';\r\n\r\nexport const cover = {\r\n columnName: 'cover',\r\n renderHeader: function () {\r\n return (\r\n \r\n Cover\r\n \r\n );\r\n },\r\n renderBody: function (position, context) {\r\n const { id, trade } = position;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n","import React from 'react';\r\nimport {\r\n SecurityListHeaderColumn,\r\n SecurityListColumn,\r\n} from '../../../common';\r\nimport { BidLevel as BidLevelComponent } from '../../../seller/biddingSecurities';\r\nimport { BidLevel } from '../../../../../types/bidding/BidLevel';\r\n\r\nexport const third = {\r\n columnName: 'third',\r\n renderHeader: function () {\r\n return (\r\n \r\n Third\r\n \r\n );\r\n },\r\n renderBody: function (position, context) {\r\n const { id, trade } = position;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n","import React from 'react';\r\nimport {\r\n SecurityListHeaderColumn,\r\n SecurityListColumn,\r\n} from '../../../common';\r\nimport { BidLevel as BidLevelComponent } from '../../../seller/biddingSecurities';\r\nimport { BidLevel } from '../../../../../types/bidding/BidLevel';\r\n\r\nexport const fourth = {\r\n columnName: 'fourth',\r\n renderHeader: function () {\r\n return (\r\n \r\n Fourth\r\n \r\n );\r\n },\r\n renderBody: function (position, context) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n","import React from 'react';\r\nimport {\r\n SecurityListHeaderColumn,\r\n SecurityListColumn,\r\n} from '../../../common';\r\nimport { BidLevel as BidLevelComponent } from '../../../seller/biddingSecurities';\r\nimport { BidLevel } from '../../../../../types/bidding/BidLevel';\r\n\r\nexport const fifth = {\r\n columnName: 'fifth',\r\n renderHeader: function () {\r\n return (\r\n \r\n Fifth\r\n \r\n );\r\n },\r\n renderBody: function (position, context) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n","import React from 'react';\r\nimport {\r\n SecurityListHeaderColumn,\r\n SecurityListColumn\r\n} from '../../../common';\r\nimport { Events } from '../../../seller/biddingSecurities';\r\n\r\nexport const events = {\r\n columnName: 'events',\r\n renderHeader: function () {\r\n return (\r\n \r\n Events\r\n \r\n );\r\n },\r\n renderBody: function (position) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n","import React from 'react';\r\nimport {\r\n SecurityListHeaderColumn,\r\n SecurityListColumn,\r\n} from '../../../common';\r\nimport { PnL } from '../../../seller/biddingSecurities';\r\n\r\nexport const pnl = {\r\n columnName: 'pnl',\r\n renderHeader: function () {\r\n return (\r\n \r\n PnL\r\n \r\n );\r\n },\r\n renderBody: function (position) {\r\n const { targetLevel, bids, size } = position;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n","import * as React from 'react';\r\nimport classNames from 'classnames';\r\nimport { useSelector } from 'react-redux';\r\nimport { sellerBiddingActions } from '../../../../actions';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { BwicPosition } from '../../../../types/bwic/BwicPosition';\r\nimport { arrayUtils, biddingUtils } from '../../../../utils';\r\nimport { Bid } from '../../../../types/bidding/Bid';\r\nimport { useAppDispatch } from '../../../../effects/useAppDispatch';\r\n\r\ninterface Props {\r\n position: BwicPosition;\r\n}\r\n\r\nexport function BidListButton({ position }: Props) {\r\n const dispatch = useAppDispatch();\r\n const bidList = useSelector((s: AppState) => s.sellerBidding.bidList);\r\n const isActive = bidList.visible && bidList.positionId === position.id;\r\n const bids = position.bids;\r\n const biddersCount = React.useMemo(() => bids?.length\r\n ? arrayUtils.groupBy(bids, (bid: Bid) => biddingUtils.getBidCompanyIdentifier(bid)).size\r\n : 0, [bids]);\r\n\r\n const handleClick = (e: React.MouseEvent) => {\r\n dispatch(sellerBiddingActions.toggleBidList(position.id));\r\n e.stopPropagation();\r\n };\r\n\r\n return (\r\n \r\n bids{!!biddersCount && ` (${biddersCount})`}\r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport {\r\n SecurityListHeaderColumn,\r\n SecurityListColumn,\r\n} from '../../../../common';\r\nimport { BidListButton } from '../../../../seller/bid-list/BidListButton';\r\n\r\nexport const bidListButton = {\r\n columnName: 'bidListButton',\r\n renderHeader: function () {\r\n return ;\r\n },\r\n renderBody: function (position) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n","import React from 'react';\r\nimport cn from 'classnames';\r\nimport { sellerBiddingActions } from '../../../../actions/seller.bidding.actions';\r\nimport { tradeStatuses } from '../../../../constants/bidding/trade.statuses';\r\nimport { isActiveTrade } from '../../../../types/trades/TradeStatus';\r\nimport { FeatureButton } from '../../../access/FeatureButton';\r\nimport { Trade } from '../../../../types/trades/Trade';\r\nimport { BwicProcessType, Process } from '../../../../types/models/Process';\r\nimport { TimeSpan } from '../../../../types/primitives/TimeSpan';\r\nimport { useAppDispatch } from '../../../../effects/useAppDispatch';\r\n\r\ninterface TradeButtonStyleProps {\r\n process: Process;\r\n children: (className: string) => React.ReactElement;\r\n}\r\n\r\nexport function TradeButtonStyle({ process, children }: TradeButtonStyleProps) {\r\n let className = \"btn-main\";\r\n\r\n if (process.type === BwicProcessType.Live ||\r\n process.type === BwicProcessType.TopX ||\r\n process.type === BwicProcessType.JumpBall) {\r\n\r\n let automaticStage1Deadline: TimeSpan | undefined;\r\n if (process.type === BwicProcessType.TopX) automaticStage1Deadline = process.topX?.automaticStage1Deadline;\r\n if (process.type === BwicProcessType.JumpBall) automaticStage1Deadline = process.jumpBall?.automaticStage1Deadline;\r\n\r\n const isStage1 = process.stagedBiddingStatus == null && (\r\n process.type === BwicProcessType.Live || automaticStage1Deadline == null\r\n );\r\n\r\n if (isStage1) {\r\n className = 'btn-ghost';\r\n }\r\n }\r\n\r\n return children(className);\r\n}\r\n\r\n\r\ninterface Props {\r\n positionId: number;\r\n process: Process;\r\n enabled?: boolean;\r\n trade?: Trade;\r\n}\r\n\r\nexport function TradeButton({ positionId, trade, process, enabled = true }: Props) {\r\n const dispatch = useAppDispatch();\r\n\r\n const handleClick = (e: React.MouseEvent) => {\r\n dispatch(sellerBiddingActions.trade(positionId));\r\n e.stopPropagation();\r\n }\r\n\r\n if (isActiveTrade(trade)) {\r\n return {tradeStatuses.getByKey(trade!.status)!.title}\r\n }\r\n\r\n\r\n return (\r\n \r\n {\r\n (className: string) =>\r\n \r\n trade\r\n \r\n }\r\n \r\n );\r\n}\r\n","import {\r\n SecurityListHeaderColumn,\r\n SecurityListColumn,\r\n} from '../../../../common';\r\nimport { TradeButton } from '../../../../seller/trade/TradeButton';\r\nimport { biddingUtils } from '../../../../../../utils/bidding.utils';\r\nimport { roles } from '../../../../../../constants/roles';\r\nimport { RoleActionBlocker } from '../../../../../access/RoleActionBlocker';\r\n\r\nexport const tradeButton = {\r\n columnName: 'tradeButton',\r\n renderHeader: function () {\r\n return ;\r\n },\r\n renderBody: function (position, context) {\r\n return (\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 { Bid } from '../../../../types/bidding/Bid';\r\nimport { BwicPosition } from '../../../../types/bwic/BwicPosition';\r\nimport { arrayUtils, biddingUtils, formatUtils } from '../../../../utils';\r\nimport { FeedbackMenu } from '../FeedbackMenu';\r\nimport { OnHoverTooltip } from \"../../../common\";\r\nimport { constants } from '../../../../constants';\r\nimport { Process } from '../../../../types/models/Process';\r\nimport { BidderCompanySlim } from '../../../../types/company/BidderCompanySlim';\r\nimport { AxedIcon } from \"../../common/AxedIcon\";\r\nimport { FinalIcon } from \"../../common/FinalIcon\";\r\n\r\ninterface Props {\r\n company: BidderCompanySlim;\r\n position: BwicPosition;\r\n feedbackDisabled?: boolean;\r\n feedbackVisible?: boolean;\r\n showEmptyDash?: boolean;\r\n process?: Process;\r\n}\r\n\r\nfunction CompanyBidComponent({\r\n company,\r\n position,\r\n feedbackDisabled = false,\r\n feedbackVisible = true,\r\n process }: Props) {\r\n const bids = position.bids || [];\r\n const companyBids = bids.filter(b => biddingUtils.getBidCompanyIdentifier(b) === company.identifier);\r\n const latestBid: Bid | undefined = arrayUtils.max(companyBids, bid => bid.id);\r\n\r\n const hasSameLevelBids = () => {\r\n if (!bids.length || !latestBid || latestBid.pass) {\r\n return false;\r\n }\r\n\r\n return bids.some(b =>\r\n biddingUtils.getBidCompanyIdentifier(b) !== biddingUtils.getBidCompanyIdentifier(latestBid) &&\r\n b.value === latestBid.value &&\r\n !bids.some(bb => bb.id > b.id && biddingUtils.getBidCompanyIdentifier(bb) === biddingUtils.getBidCompanyIdentifier(b)) // latest bid\r\n );\r\n }\r\n\r\n const renderContent = () => {\r\n if (latestBid == null) {\r\n return
{constants.emptyPlaceholder}
\r\n } else if (latestBid.pass) {\r\n return
Pass
;\r\n }\r\n\r\n const value = formatUtils.formatBid(latestBid.value);\r\n\r\n return (\r\n
\r\n \r\n {value}\r\n \r\n {latestBid.axed && }\r\n {latestBid.final && }\r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n {renderContent()}\r\n {\r\n feedbackVisible && process != null &&\r\n \r\n }\r\n
\r\n );\r\n}\r\n\r\nexport const CompanyBid = React.memo(CompanyBidComponent, (prev, next) => {\r\n return (\r\n prev.company === next.company &&\r\n prev.feedbackDisabled === next.feedbackDisabled &&\r\n prev.feedbackVisible === next.feedbackVisible &&\r\n prev.position.id === next.position.id &&\r\n prev.position.bids === next.position.bids &&\r\n prev.position.trade === next.position.trade &&\r\n prev.showEmptyDash === next.showEmptyDash &&\r\n prev.process?.stagedBiddingStatus === next.process?.stagedBiddingStatus\r\n );\r\n});\r\n","import * as React from 'react';\r\nimport classNames from 'classnames';\r\nimport { Bid } from '../../../../types/bidding/Bid';\r\nimport { EditBidOnBehalfState } from '../../../../types/state/BidOnBehalfState';\r\nimport { formatUtils, numericUtils } from '../../../../utils';\r\nimport { BidLevelDelta } from '../../../common/bidding/BidLevelDelta';\r\nimport { useDispatch } from 'react-redux';\r\nimport { bidOnBehalfActions } from '../../../../actions';\r\nimport { constants, errorMessages } from '../../../../constants';\r\nimport { FormError } from '../../../controls';\r\nimport { BlockedFeatureContext } from '../../../access/BlockedFeatureContext';\r\n\r\ninterface Props {\r\n companyId: number;\r\n positionId: number;\r\n latestBid?: Bid;\r\n editState?: EditBidOnBehalfState;\r\n disabled: boolean;\r\n hasMoveNextFocus: boolean;\r\n isBidDecreaseDisabled: boolean\r\n}\r\n\r\nexport function EditBidValue({ companyId, positionId, latestBid, editState = undefined, hasMoveNextFocus, disabled = false, isBidDecreaseDisabled }: Props) {\r\n const dispatch = useDispatch();\r\n const pass = editState == null ? !!latestBid?.pass : !!editState.pass;\r\n const value = pass ? 'Pass' : editState?.value ?? formatUtils.formatBid(latestBid?.value);\r\n const isChanged = editState && (!!editState.pass !== !!latestBid?.pass || (editState.value && +editState.value !== latestBid?.value));\r\n const [hasFocus, setHasFocus] = React.useState(false);\r\n const inputRef = React.useRef(null);\r\n const isBlocked = React.useContext(BlockedFeatureContext);\r\n\r\n React.useEffect(() => {\r\n if (hasMoveNextFocus && inputRef && inputRef.current) {\r\n inputRef.current.focus();\r\n }\r\n }, [hasMoveNextFocus, dispatch]);\r\n\r\n const validateBid = (value: number) => {\r\n if (!numericUtils.isNumber(value)) {\r\n return errorMessages.invalidValue;\r\n }\r\n if (value < constants.bidRange.min || value > constants.bidRange.max) {\r\n return errorMessages.bidShouldBeBetween;\r\n }\r\n\r\n if (isBidDecreaseDisabled && latestBid && value < latestBid?.value) {\r\n return errorMessages.valueCannotBeLess;\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n const handleBlur = () => {\r\n setHasFocus(false);\r\n if (hasMoveNextFocus) {\r\n dispatch(bidOnBehalfActions.resetNextBidIdentifiers());\r\n }\r\n if (editState?.value != null) {\r\n if (editState.value === '' || +editState.value === latestBid?.value) {\r\n dispatch(bidOnBehalfActions.resetBidEdit(positionId, companyId));\r\n } else {\r\n const editingLevel = Number(editState.value);\r\n const formatted = formatUtils.formatBid(editingLevel);\r\n const error = editState.error ?? validateBid(editingLevel);\r\n dispatch(bidOnBehalfActions.editBid(positionId, companyId, formatted, true, error));\r\n }\r\n }\r\n }\r\n\r\n const handleOnFocus = (e: React.FocusEvent) => {\r\n e.target.select();\r\n setHasFocus(true);\r\n };\r\n\r\n const handleKeyDown = (e: React.KeyboardEvent) => {\r\n if (e.key === 'Enter') {\r\n const input = e.target as HTMLInputElement;\r\n input.blur();\r\n dispatch(bidOnBehalfActions.moveNextBid(companyId, positionId))\r\n }\r\n }\r\n\r\n const handleChange = (e: any) => {\r\n const rawValue = e.target.value;\r\n const value = rawValue ? rawValue.replace(/\\s/g, '') : rawValue;\r\n\r\n if (!value || constants.bidNumber.test(value)) {\r\n const error = editState?.error ? validateBid(+value) : undefined;\r\n dispatch(bidOnBehalfActions.editBid(positionId, companyId, value, false, error));\r\n }\r\n };\r\n\r\n return (\r\n
\r\n false}\r\n onChange={handleChange}\r\n onBlur={handleBlur}\r\n onKeyDown={handleKeyDown}\r\n onClick={e => e.stopPropagation()}\r\n />\r\n \r\n {\r\n hasFocus &&\r\n !disabled &&\r\n !!isChanged &&\r\n latestBid != null &&\r\n latestBid.value > 0 &&\r\n editState != null &&\r\n !!editState.value &&\r\n +editState.value > 0 &&\r\n \r\n }\r\n
\r\n );\r\n}\r\n","import * as React from 'react';\r\nimport cn from 'classnames';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { BwicPosition } from '../../../../types/bwic/BwicPosition';\r\nimport { CompanySlim } from '../../../../types/company/CompanySlim';\r\nimport { getEditKey } from '../../../../types/state/BidOnBehalfState';\r\nimport { Bid } from '../../../../types/bidding/Bid';\r\nimport { biddingUtils, bidOnBehalfUtils } from '../../../../utils';\r\nimport { BorderHighlightAnimation } from '../../../common/BorderHighlightAnimation';\r\nimport { EditBidValue } from './EditBidValue';\r\nimport { FeedbackMenu } from '../FeedbackMenu';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { LazyLoad } from '../../../common/LazyLoad';\r\nimport IconSVG from '../../../../styles/svg-icons';\r\nimport { ContextMenu } from '../../../controls';\r\nimport { bidOnBehalfActions } from '../../../../actions';\r\nimport { ListBuilder } from '../../../../utils/ListBuilder';\r\nimport { OpenBiddingStatus } from '../../../../types/enums/OpenBiddingStatus';\r\nimport { BwicProcessType, Process } from '../../../../types/models/Process';\r\nimport { roles } from '../../../../constants/roles';\r\nimport { RoleActionBlocker } from '../../../access/RoleActionBlocker';\r\n\r\ninterface Props {\r\n company: CompanySlim;\r\n position: BwicPosition;\r\n disabled?: boolean;\r\n bidAttributesVisibe: boolean; // true if axed/final options are available\r\n process: Process;\r\n columnAnimationEnabled?: boolean;\r\n}\r\n\r\nexport const EditBidOnBehalf = React.memo(EditBidOnBehalfContent, (prev, next) => {\r\n return (\r\n prev.company === next.company &&\r\n prev.disabled === next.disabled &&\r\n prev.position.id === next.position.id &&\r\n prev.position.bids === next.position.bids &&\r\n prev.process.stagedBiddingStatus === next.process.stagedBiddingStatus &&\r\n prev.columnAnimationEnabled === next.columnAnimationEnabled\r\n );\r\n});\r\n\r\nfunction EditBidOnBehalfContent({ company, position, bidAttributesVisibe, disabled = false, process, columnAnimationEnabled = false }: Props) {\r\n const dispatch = useDispatch();\r\n const bids = position.bids || []\r\n const editState = useSelector((state: AppState) => state.bidOnBehalf.editState[getEditKey(position.id, company.id)]);\r\n const hasFocus = useSelector((state: AppState) =>\r\n state.bidOnBehalf.focusedBid != null &&\r\n state.bidOnBehalf.focusedBid.positionId === position.id &&\r\n state.bidOnBehalf.focusedBid.companyId === company.id\r\n );\r\n const latestBid: Bid | undefined = bids.find(b => b.company.id === company.id);\r\n const pass = editState?.pass ?? latestBid?.pass;\r\n const axed = editState?.axed ?? latestBid?.axed ?? false;\r\n const final = editState?.final ?? latestBid?.final ?? false;\r\n const finalChanged = !pass && editState?.final != null && !!editState?.final !== !!latestBid?.final;\r\n const axedChanged = !pass && editState?.axed != null && !!editState?.axed !== !!latestBid?.axed;\r\n const hasBid = !pass && (latestBid?.value || editState?.value);\r\n\r\n const hasSameLevelBids = () => {\r\n if (!bids.length || !latestBid || latestBid.pass) {\r\n return false;\r\n }\r\n\r\n return bids.some(b =>\r\n b.company.id !== latestBid.company.id &&\r\n b.value === latestBid.value &&\r\n !bids.some(bb => bb.id > b.id && bb.company.id === b.company.id) // latest bid\r\n );\r\n }\r\n\r\n const renderHiddenActionsButton = () => {\r\n return (\r\n \r\n );\r\n }\r\n\r\n const getMenuItems = () => {\r\n const axedMenuItem = {\r\n requiredRoles: [roles.SellerTrader, roles.BrokerDealerTrader],\r\n textComponent: () => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n },\r\n action: () => dispatch(bidOnBehalfActions.axed(position.id, company.id, !axed)),\r\n disabled: disabled || pass || !hasBid\r\n };\r\n const finalMenuItem = {\r\n requiredRoles: [roles.SellerTrader, roles.BrokerDealerTrader],\r\n textComponent: () => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n },\r\n action: () => dispatch(bidOnBehalfActions.final(position.id, company.id, !final)),\r\n disabled: disabled || pass || !hasBid\r\n };\r\n const passMenuItem = {\r\n requiredRoles: [roles.SellerTrader, roles.BrokerDealerTrader],\r\n text: 'Pass',\r\n action: () => dispatch(bidOnBehalfActions.pass(position.id, company.id)),\r\n disabled: disabled || latestBid != null || !!editState?.pass\r\n };\r\n\r\n return new ListBuilder()\r\n .addWhen(() => bidAttributesVisibe, axedMenuItem, finalMenuItem)\r\n .add(passMenuItem)\r\n .result();\r\n }\r\n\r\n return (\r\n \r\n
e.stopPropagation()}>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {!pass && axed && }\r\n {!pass && final && }\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n latestBid ? biddingUtils.getBidLevel(latestBid, bids) : undefined}\r\n positionId={position.id}\r\n bids={bids}\r\n levelBids={latestBid ? [latestBid] : undefined}\r\n hasManyBids={hasSameLevelBids()}\r\n disabled={disabled}\r\n emptyBidCompany={latestBid ? undefined : company}\r\n process={process}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { dealerListPanelActions } from '../../../../actions';\r\nimport { bidOnBehalfActions } from '../../../../actions';\r\nimport { useAppSelector } from '../../../../effects/useAppSelector';\r\nimport IconSVG from '../../../../styles/svg-icons';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { OnHoverTooltip } from '../../../common';\r\nimport { SettlementAgentAgreement } from '../../../../types/bid-as-dealer/SettlementAgentAgreement';\r\nimport { SettlementAgreementStatus } from '../../../../types/bid-as-dealer/SettlementAgreementStatus';\r\nimport { CompanyStatus } from '../../../../types/company/CompanyStatus';\r\nimport { BidderCompanySlim } from '../../../../types/company/BidderCompanySlim';\r\nimport { biddingUtils } from '../../../../utils';\r\nimport { ScrollIntoView } from '../../../common/ScrollIntoView';\r\n\r\ninterface Props {\r\n company: BidderCompanySlim;\r\n canHide?: boolean;\r\n agreement?: SettlementAgentAgreement;\r\n columnScrollEnabled?: boolean;\r\n}\r\n\r\nfunction DealerColumnHeaderContent({ company, canHide = true, agreement, columnScrollEnabled }: Props) {\r\n const dispatch = useDispatch();\r\n const isFavorite = useSelector((state: AppState) => state.favoriteBrokerDealers.favorites[company.id]);\r\n const lastSelectedCompanyIdentifier = useAppSelector(s => s.dealerListPanel.lastSelectedCompanyIdentifier);\r\n const isOnPlatform = company.status === CompanyStatus.active;\r\n const isConfirmedClearingBank =\r\n isOnPlatform &&\r\n company.isClearingBank &&\r\n !company.buyerPseudoOrderNumber &&\r\n agreement?.agreementStatus === SettlementAgreementStatus.confirmed;\r\n\r\n const handleHideClick = () => {\r\n dispatch(dealerListPanelActions.toggleCompanyVisible(company.identifier));\r\n if (!company.buyerPseudoOrderNumber) {\r\n dispatch(bidOnBehalfActions.resetCompanyBidsEdit(company.id));\r\n }\r\n };\r\n\r\n const enabledScroll = columnScrollEnabled && !!lastSelectedCompanyIdentifier && lastSelectedCompanyIdentifier === company.identifier;\r\n\r\n return (\r\n \r\n {!company.buyerPseudoOrderNumber ?
    \r\n {\r\n isFavorite &&\r\n
  • \r\n \r\n
  • \r\n }\r\n {\r\n isConfirmedClearingBank &&\r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n
  • \r\n }\r\n {\r\n (isOnPlatform && !isConfirmedClearingBank) &&\r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n
  • \r\n }\r\n
: null}\r\n \r\n {biddingUtils.getBidderShortcode(company)}\r\n \r\n
\r\n {\r\n canHide &&\r\n \r\n }\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport const DealerColumnHeaderContentMemoized = React.memo(DealerColumnHeaderContent);\r\n","import { useAppSelector } from \"../../../../../effects/useAppSelector\";\r\nimport { calculateStage2Participants } from \"../../../../../utils/stage2-participants-calculator\";\r\nimport { OnHoverTooltip } from \"../../../../common\";\r\nimport { constants } from '../../../../../constants';\r\nimport { BwicPosition } from \"../../../../../types/bwic/BwicPosition\";\r\nimport { Bwic } from \"../../../../../types/bwic/Bwic\";\r\nimport { OpenBiddingStatus } from \"../../../../../types/enums/OpenBiddingStatus\";\r\nimport { TradeStatus } from \"../../../../../types/trades/TradeStatus\";\r\nimport { SecurityListColumn, SecurityListHeaderColumn } from \"../../../../common/security-list\";\r\n\r\nexport const biddersCounter = {\r\n columnName: 'biddersCounter',\r\n renderHeader: function () {\r\n return (\r\n \r\n )\r\n },\r\n renderBody: function (position: BwicPosition, context: { bwic: Bwic }) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n\r\nfunction Counter({ position, bwic }: { position: BwicPosition, bwic: Bwic }) {\r\n\r\n const positionWithAllBids = useAppSelector((s) => position.id ? s.sellerBidding.securities.find(s => s.id === position.id) : undefined);\r\n const stage2Participants = Object.keys(calculateStage2Participants(positionWithAllBids?.bids ?? [], bwic.process)).length;\r\n const participantsWithImprovedBids = position?.bids.filter(b => b.stagedBiddingStatus === OpenBiddingStatus.stage1Ended).length\r\n\r\n if (bwic.process.stagedBiddingStatus !== OpenBiddingStatus.stage1Ended) {\r\n return null\r\n }\r\n\r\n if (position.trade?.status === TradeStatus.affirmed || stage2Participants === 0) {\r\n return
{constants.emptyPlaceholder}
\r\n }\r\n\r\n return (\r\n \r\n
\r\n {participantsWithImprovedBids}/{stage2Participants}\r\n
\r\n
\r\n )\r\n} \r\n","import * as React from \"react\";\r\nimport classNames from 'classnames';\r\nimport { useAppSelector } from '../../../../effects/useAppSelector';\r\nimport { BwicPosition } from \"../../../../types/bwic/BwicPosition\";\r\nimport { best } from \"../../common/table/columns/best\";\r\nimport { cover } from \"../../common/table/columns/cover\";\r\nimport { third } from \"../../common/table/columns/third\";\r\nimport { fourth } from \"../../common/table/columns/fourth\";\r\nimport { fifth } from \"../../common/table/columns/fifth\";\r\nimport { ColumnBuilder } from \"../../common/table/columns/column-builder/ColumnBuilder\";\r\nimport { events } from \"../../common/table/columns/events\";\r\nimport { pnl } from \"../../common/table/columns/pnl\";\r\nimport { pxTalk } from \"../../common/table/columns/pxTalk\";\r\nimport { rating } from \"../../common/table/columns/rating\";\r\nimport { bidListButton } from \"../../common/table/columns/seller-actions/bid-list-button\";\r\nimport { tradeButton } from \"../../common/table/columns/seller-actions/trade-button\";\r\nimport { size } from \"../../common/table/columns/size\";\r\nimport { targetLevel } from \"../../common/table/columns/target.level\";\r\nimport { tickerButton } from \"../../common/table/columns/ticker-button\";\r\nimport { liveBiddingStage2Timer } from \"../../common/table/columns/live-bidding-stage2-timer\";\r\nimport { IColumnDefinition } from \"../../common/table/types/ColumnDefinition\";\r\nimport { CompanyStatus } from \"../../../../types/company/CompanyStatus\";\r\nimport { CompanyBid } from '../biddingSecurities/CompanyBid';\r\nimport { EditBidOnBehalf } from '../bid-on-behalf/EditBidOnBehalf';\r\nimport { color } from \"../../common/table/columns/color\";\r\nimport { DealerColumnHeaderContentMemoized } from \"./DealerColumnHeaderContent\";\r\nimport { isActiveTrade } from \"../../../../types/trades/TradeStatus\";\r\nimport { ListBuilder } from \"../../../../utils/ListBuilder\";\r\nimport { SettlementAgentAgreement } from \"../../../../types/bid-as-dealer/SettlementAgentAgreement\";\r\nimport { tradeStatus } from \"../../common/table/columns/trade-affirm/trade.status\";\r\nimport { BwicProcessType, Process } from \"../../../../types/models/Process\";\r\nimport { OpenBiddingStatus } from \"../../../../types/enums/OpenBiddingStatus\";\r\nimport { biddingUtils } from \"../../../../utils\";\r\nimport { jumpBallUtils } from \"../../../../utils/jump-ball.utils\";\r\nimport { topXUtils } from \"../../../../utils/top-x.utils\";\r\nimport { biddersCounter } from \"../../common/table/columns/biddersCounter\";\r\nimport { BidderCompanySlim } from \"../../../../types/company/BidderCompanySlim\";\r\n\r\nexport function getSellerBiddingColumns(\r\n shortView: boolean,\r\n process: Process,\r\n companies: BidderCompanySlim[],\r\n settlementAgentAgreements: SettlementAgentAgreement[],\r\n isStage2ParticipantsOnly: boolean,\r\n isAllToAll: boolean) {\r\n const improverCount =\r\n (process.type === BwicProcessType.JumpBall && process.jumpBall?.improverCount) ||\r\n (process.type === BwicProcessType.TopX && process.topX?.improverCount) ||\r\n (process.type === BwicProcessType.Live && process.liveBidding?.openBiddingImproverCount);\r\n\r\n return new ListBuilder()\r\n .add(freeze(tickerButton))\r\n .addWhen(() =>\r\n process.type === BwicProcessType.JumpBall,\r\n freeze(biddersCounter))\r\n .addWhen(() =>\r\n process.type === BwicProcessType.Live &&\r\n (\r\n process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended ||\r\n process.stagedBiddingStatus === OpenBiddingStatus.improvementRoundEnded\r\n ),\r\n freeze(liveBiddingStage2Timer))\r\n .add(freeze(bidListButton), freeze(tradeButton), size, rating)\r\n .addWhen(() => !shortView, pxTalk, targetLevel, pnl)\r\n .addWhen(() => !isStage2ParticipantsOnly, best, cover, third)\r\n .addWhen(() => isStage2ParticipantsOnly, ...[best, cover, third, fourth, fifth].slice(0, Number(improverCount)))\r\n .addWhen(\r\n () => !!companies.length,\r\n ...companies.map(c =>\r\n createCompanyColumn(\r\n c,\r\n isAllToAll,\r\n false,\r\n process.type !== BwicProcessType.Live,\r\n process.type === BwicProcessType.Standard || process.type === BwicProcessType.BestFootForward,\r\n settlementAgentAgreements.find(a => a.settlementAgent.id === c.id),\r\n process\r\n )))\r\n .add(events)\r\n .result();\r\n}\r\n\r\nexport function getSellerFinishedColumns(\r\n shortView: boolean,\r\n companies: BidderCompanySlim[],\r\n feedbackVisible: boolean,\r\n settlementAgentAgreements: SettlementAgentAgreement[],\r\n isAllToAll: boolean) {\r\n return new ListBuilder()\r\n .add(freeze(tickerButton), freeze(bidListButton), freeze({ ...tradeStatus, title: '' }), size, rating)\r\n .addWhen(() => !shortView, pxTalk, targetLevel, pnl)\r\n .add(best, cover, third)\r\n .addWhen(\r\n () => !!companies.length,\r\n ...companies.map(c => createCompanyColumn(\r\n c,\r\n isAllToAll,\r\n true,\r\n feedbackVisible,\r\n false,\r\n settlementAgentAgreements.find(a => a.settlementAgent.id === c.id)\r\n )))\r\n .add(color, events)\r\n .result();\r\n}\r\n\r\nfunction freeze(columnDefinition: object) {\r\n return { ...columnDefinition, column: { stickLeft: true } };\r\n}\r\n\r\nfunction createCompanyColumn(\r\n company: BidderCompanySlim,\r\n isAllToAll: boolean,\r\n readonly = false,\r\n feedbackVisible = false,\r\n bidAttributesVisible = true,\r\n agreement?: SettlementAgentAgreement,\r\n process?: Process) {\r\n const isOnPlatform = company.status === CompanyStatus.active;\r\n const definition: IColumnDefinition = {\r\n columnKey: `company-${company.identifier}`,\r\n renderColumnContent: (position, context: { stage2Participants?: { [companyIdentifier: string]: boolean }; columnAnimationEnabled?: boolean }) =>\r\n ,\r\n renderColumnHeaderContent: (context: { columnScrollEnabled?: boolean }) =>\r\n ,\r\n headerClassName: classNames('data-list-cell-xl cell-bob', { 'cell-on-platform': isOnPlatform }),\r\n bodyClassName: classNames('data-list-cell-xl cell-bob overflow-visible', { 'cell-on-platform': isOnPlatform })\r\n };\r\n\r\n return new ColumnBuilder(definition);\r\n}\r\n\r\ninterface Props {\r\n company: BidderCompanySlim;\r\n position: BwicPosition;\r\n process?: Process;\r\n stage2Participants?: { [companyIdentifier: string]: boolean };\r\n readonly?: boolean;\r\n feedbackVisible?: boolean;\r\n bidAttributesVisible?: boolean;\r\n columnAnimationEnabled?: boolean;\r\n}\r\n\r\nfunction CompanyCell({ company, position, process, stage2Participants = {}, readonly = false, feedbackVisible = false, bidAttributesVisible = false, columnAnimationEnabled = false }: Props) {\r\n const isOnPlatform = company.status === CompanyStatus.active;\r\n const activeTrade = isActiveTrade(position.trade);\r\n const isJumpBall = process?.type === BwicProcessType.JumpBall;\r\n const isTopX = process?.type === BwicProcessType.TopX;\r\n const isBFF = process?.type === BwicProcessType.BestFootForward;\r\n const isBuyerCompanyWithoutBids = Boolean(company.buyerPseudoOrderNumber && !position.bids?.some(b => biddingUtils.getBidCompanyIdentifier(b) === company.identifier));\r\n const lastSelectedCompanyIdentifier = useAppSelector(s => s.dealerListPanel.lastSelectedCompanyIdentifier);\r\n\r\n const animationEnabled = columnAnimationEnabled && !!lastSelectedCompanyIdentifier && lastSelectedCompanyIdentifier === company.identifier;\r\n\r\n const canBidJumpBall = isJumpBall\r\n ? jumpBallUtils.canBid(\r\n process?.stagedBiddingStatus,\r\n position.bids?.find(b => biddingUtils.getBidCompanyIdentifier(b) === company.identifier),\r\n stage2Participants[company.identifier])\r\n : true;\r\n const canBidTopX = isTopX\r\n ? topXUtils.canBid(process?.stagedBiddingStatus, stage2Participants[company.identifier])\r\n : true;\r\n const canBidFF = isBFF\r\n ? process.stagedBiddingStatus == null\r\n : true;\r\n\r\n return isOnPlatform || readonly || activeTrade || !canBidJumpBall || !canBidTopX || !canBidFF || !process\r\n ? \r\n : \r\n\r\n}\r\n","import * as React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { BidConflictsWarning } from '../../../common/bidding/BidConflictsWarning';\r\nimport { bidOnBehalfActions } from '../../../../actions/bid-on-behalf.actions';\r\nimport { Popup, PopupBody, PopupFooter } from '../../../controls';\r\nimport { BwicPosition } from '../../../../types/bwic/BwicPosition';\r\n\r\nexport function BidOnBehalfConflictPopup() {\r\n const dispatch = useDispatch();\r\n const conflicts = useSelector((state: AppState) => state.bidOnBehalf.conflicts);\r\n const isConflictsPpopupVisible = useSelector((state: AppState) => state.bidOnBehalf.isConflictsPpopupVisible);\r\n const securities: BwicPosition[] = useSelector((state: AppState) => state.sellerBidding.securities);\r\n\r\n if (!conflicts.length || !securities.length || !isConflictsPpopupVisible) {\r\n return null;\r\n }\r\n\r\n return (\r\n dispatch(bidOnBehalfActions.resetConflicts())}\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 { useEffect, useMemo, useState } from 'react';\r\nimport { useSelector } from 'react-redux'; \r\nimport { useHistory } from 'react-router';\r\nimport { RequestState } from '../../../../constants/request-state';\r\nimport { ApiOperationType } from '../../../../types/api-operation/ApiOperationType';\r\nimport { Bid } from '../../../../types/bidding/Bid';\r\nimport { BwicPosition } from '../../../../types/bwic/BwicPosition';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { parseKey } from '../../../../types/state/BidOnBehalfState';\r\nimport { bidOnBehalfUtils } from '../../../../utils';\r\nimport { RouteLeavingGuard } from '../../../routing';\r\nimport IconSVG from '../../../../styles/svg-icons';\r\n\r\ninterface Props {\r\n positions: BwicPosition[] // positions with latest bid\r\n}\r\n\r\nexport function BidOnBehalfSavingLabel({ positions }: Props) {\r\n const history = useHistory();\r\n\r\n const [saveOccurred, setSaveOccurred] = useState(false);\r\n const [saveTimeoutEnded, setSaveTimeoutEnded] = useState(false);\r\n const editState = useSelector((state: AppState) => state.bidOnBehalf.editState);\r\n const isSubmitting = useSelector((state: AppState) => state.bidOnBehalf.isSubmitting);\r\n const hasPending = useSelector((state: AppState) =>\r\n state.apiOperation.requests.some(r =>\r\n r.event === ApiOperationType.submitBidsOnBehalf &&\r\n r.state === RequestState.request\r\n ));\r\n\r\n const hasChanges = useMemo(() =>\r\n Object.keys(editState).some((key: string) => {\r\n const edit = editState[key];\r\n if (edit.error) {\r\n return true;\r\n }\r\n\r\n const { positionId, companyId } = parseKey(key);\r\n const position = positions.find(p => p.id === positionId);\r\n\r\n if (position) {\r\n const latestBid: Bid | undefined = position.bids?.find(b => b.company.id === companyId);\r\n return bidOnBehalfUtils.isBidChanged(edit, latestBid);\r\n }\r\n\r\n return false;\r\n })\r\n , [editState, positions]);\r\n\r\n const isSaved = saveOccurred && !isSubmitting && !hasPending;\r\n\r\n\r\n useEffect(() => {\r\n if (isSubmitting && !saveOccurred) {\r\n setSaveOccurred(true);\r\n }\r\n }, [isSubmitting, saveOccurred]);\r\n\r\n useEffect(() => {\r\n if (saveTimeoutEnded && (isSubmitting || hasPending)) {\r\n setSaveTimeoutEnded(false);\r\n }\r\n }, [isSubmitting, hasPending, saveTimeoutEnded])\r\n\r\n useEffect(() => {\r\n if (isSaved && !saveTimeoutEnded) {\r\n const timeout = 5000; //5 seconds\r\n setTimeout(() => setSaveTimeoutEnded(true), timeout);\r\n }\r\n }, [isSaved, saveTimeoutEnded]);\r\n\r\n const renderLabel = () => {\r\n if (isSaved && !saveTimeoutEnded) {\r\n return
Bids saved
\r\n } else if (isSubmitting || hasPending) {\r\n return
Saving bids…
;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n {renderLabel()}\r\n history.push(pathname)}\r\n shouldBlockNavigation={() => hasChanges}\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 classNames from 'classnames';\r\nimport IconSVG from '../../../../styles/svg-icons';\r\nimport { blastMessageActions, controlPanelActions } from '../../../../actions';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { FeatureButton } from '../../../access/FeatureButton';\r\nimport { OnHoverTooltip } from '../../../common';\r\nimport { RoleActionBlocker } from '../../../access/RoleActionBlocker';\r\nimport { roles } from '../../../../constants/roles';\r\nimport { useAppDispatch } from '../../../../effects/useAppDispatch';\r\n\r\ninterface Props {\r\n disabled?: boolean;\r\n disabledTooltip?: React.ReactNode;\r\n}\r\n\r\nexport function BlastMessageButton({ disabled = false, disabledTooltip }: Props) {\r\n const dispatch = useAppDispatch();\r\n const panelVisible = useSelector((s: AppState) => s.blastMessage.panelVisible);\r\n\r\n React.useEffect(() => {\r\n if (disabled && panelVisible) {\r\n dispatch(blastMessageActions.hide());\r\n }\r\n },\r\n [disabled, panelVisible, dispatch]);\r\n\r\n const handleClick = () => {\r\n if (!panelVisible) {\r\n dispatch(controlPanelActions.hide());\r\n dispatch(blastMessageActions.show());\r\n } else {\r\n dispatch(blastMessageActions.hide());\r\n }\r\n }\r\n\r\n return (\r\n \r\n {\r\n (blocked: boolean) =>\r\n \r\n \r\n Blast Message\r\n \r\n \r\n }\r\n \r\n );\r\n}\r\n","import { useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport MaskedInput from \"react-text-mask\";\r\nimport createNumberMask from \"text-mask-addons/dist/createNumberMask\";\r\nimport { blastMessageActions } from \"../../../../actions/blast-message.actions\";\r\nimport { constants } from \"../../../../constants/constants\";\r\nimport { errorMessages } from \"../../../../constants/error.messages\";\r\nimport { AppState } from \"../../../../types/state/AppState\";\r\nimport { BlastMessageRecipientLevelState, BlastMessageTypes } from \"../../../../types/state/BlastMessageState\";\r\nimport dateTimeUtils from \"../../../../utils/dateTime.utils\";\r\nimport { Relative } from \"../../../common/Relative\";\r\nimport { FormError } from \"../../../controls/FormError\";\r\nimport cn from 'classnames';\r\nimport { RadioButton } from \"../../../controls/RadioButton\";\r\n\r\nexport function Stage1AboutToEndTimeoutRadioButton({\r\n isStage1AboutToEndTimeout,\r\n disabled,\r\n handleOnChange,\r\n visible\r\n}: {\r\n isStage1AboutToEndTimeout: boolean,\r\n disabled: boolean,\r\n handleOnChange: (e: React.ChangeEvent) => void,\r\n visible: boolean\r\n}) {\r\n\r\n const dispatch = useDispatch()\r\n\r\n const stage1AboutToEndTimeout = useSelector((s: AppState) => s.blastMessage.stage1AboutToEndTimeout);\r\n const error = useSelector((s: AppState) => s.blastMessage.error);\r\n const stage1AboutToEndTimeoutMinutes = dateTimeUtils.parseTimeSpan(stage1AboutToEndTimeout).totalMinutes\r\n\r\n const validate = (e: React.ChangeEvent) => {\r\n if (e.target.value === '') {\r\n dispatch(blastMessageActions.setError(errorMessages.empty))\r\n }\r\n else if (+e.target.value < constants.stage1AboutToEndTimeoutMinutesRange.min ||\r\n +e.target.value > constants.stage1AboutToEndTimeoutMinutesRange.max) {\r\n dispatch(blastMessageActions.setError(\r\n errorMessages.invalidRange(\r\n constants.stage1AboutToEndTimeoutMinutesRange.min,\r\n constants.stage1AboutToEndTimeoutMinutesRange.max\r\n )))\r\n } else {\r\n dispatch(blastMessageActions.setError(''))\r\n }\r\n };\r\n\r\n const handleMinutesChange = (e: React.ChangeEvent) => {\r\n validate(e)\r\n dispatch(blastMessageActions.editMinutesAboutToEnd(dateTimeUtils.timeSpan(0, +e.target.value)))\r\n }\r\n\r\n useEffect(() => {\r\n if (!isStage1AboutToEndTimeout) {\r\n dispatch(blastMessageActions.editMinutesAboutToEnd(dateTimeUtils.timeSpan(0, 2)))\r\n dispatch(blastMessageActions.setError(''))\r\n }\r\n }, [isStage1AboutToEndTimeout, dispatch])\r\n\r\n useEffect(() => {\r\n return () => {\r\n dispatch(blastMessageActions.messageTypeChange(BlastMessageTypes.submitFinal));\r\n dispatch(blastMessageActions.recipientLevelChange(BlastMessageRecipientLevelState.All));\r\n }\r\n }, [dispatch])\r\n\r\n const Stage1AboutToEndTimeoutLabel = () => {\r\n return (\r\n <>\r\n \"Please note Stage 1 will be completed in\r\n \r\n \r\n \r\n \r\n minutes.\r\n
Please improve your bids.\"\r\n \r\n )\r\n }\r\n\r\n if (!visible) {\r\n return null\r\n }\r\n return (\r\n \r\n )\r\n}\r\n\r\n","import * as React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { blastMessageActions } from '../../../../actions/blast-message.actions';\r\nimport { OpenBiddingStatus } from '../../../../types/enums/OpenBiddingStatus';\r\nimport { BwicProcessType, Process } from '../../../../types/models/Process';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { BlastMessageRecipientLevelState, BlastMessageTypes } from '../../../../types/state/BlastMessageState';\r\nimport { OnHoverTooltip } from '../../../common/OnHoverTooltip';\r\nimport { RadioButton } from '../../../controls/RadioButton';\r\nimport { Stage1AboutToEndTimeoutRadioButton } from './Stage1AboutToEndTimeoutRadioButton';\r\n\r\ninterface Props {\r\n disabled: boolean;\r\n bwicProcess: Process;\r\n isAllToAll: boolean;\r\n}\r\n\r\nexport function BlastMessageType({ disabled, bwicProcess, isAllToAll }: Props) {\r\n const dispatch = useDispatch();\r\n const messageType = useSelector((s: AppState) => s.blastMessage.messageType);\r\n const recipientLevel = useSelector((s: AppState) => s.blastMessage.recipientLevel);\r\n const isSubmitFinal = messageType === BlastMessageTypes.submitFinal;\r\n const isBidOrPass = messageType === BlastMessageTypes.bidOrPass;\r\n const isStage1AboutToEndTimeout = messageType === BlastMessageTypes.stage1AboutToEndTimeout;\r\n const isJumpBallTopXProcess = bwicProcess.type === BwicProcessType.JumpBall || bwicProcess.type === BwicProcessType.TopX;\r\n const isBidOrPassEnabled = !isAllToAll && (!isJumpBallTopXProcess || bwicProcess.stagedBiddingStatus == null);\r\n const isSubmitFinalEnabled = !isJumpBallTopXProcess || bwicProcess.stagedBiddingStatus === OpenBiddingStatus.stage1Ended;\r\n const isStage1AboutToEndTimeoutVisible = isJumpBallTopXProcess && bwicProcess.stagedBiddingStatus === null;\r\n const isJumpBallTopXStage1Ended = isJumpBallTopXProcess && bwicProcess.stagedBiddingStatus === OpenBiddingStatus.stage1Ended;\r\n\r\n const submitFinalTooltipText = bwicProcess.stagedBiddingStatus === OpenBiddingStatus.stage1Ended\r\n ? \"Message will be sent to participants who can but did not bid in Stage 2\"\r\n : \"This option does not apply to Stage 1\"\r\n const bidOrPassTooltipText = bwicProcess.stagedBiddingStatus == null\r\n ? \"Message will be sent to participants who did not bid in Stage 1\"\r\n : \"This option does not apply to Stage 2\"\r\n const recipientLevelDisabledTooltip = bwicProcess.stagedBiddingStatus === OpenBiddingStatus.stage1Ended\r\n ? \"This option does not apply to Stage 2\"\r\n : \"This option does not apply to Stage 1\"\r\n\r\n React.useEffect(() => {\r\n if (!isSubmitFinalEnabled && isSubmitFinal) {\r\n if(isBidOrPassEnabled) {\r\n dispatch(blastMessageActions.messageTypeChange(BlastMessageTypes.bidOrPass));\r\n } else if(isStage1AboutToEndTimeoutVisible) {\r\n dispatch(blastMessageActions.messageTypeChange(BlastMessageTypes.stage1AboutToEndTimeout));\r\n }\r\n } else if (!isBidOrPassEnabled && isBidOrPass) {\r\n dispatch(blastMessageActions.messageTypeChange(BlastMessageTypes.submitFinal));\r\n } else if (isJumpBallTopXStage1Ended && isSubmitFinal) {\r\n dispatch(blastMessageActions.recipientLevelChange(BlastMessageRecipientLevelState.All));\r\n } else if (!isStage1AboutToEndTimeoutVisible && isStage1AboutToEndTimeout) {\r\n dispatch(blastMessageActions.messageTypeChange(BlastMessageTypes.submitFinal));\r\n dispatch(blastMessageActions.recipientLevelChange(BlastMessageRecipientLevelState.All));\r\n }\r\n\r\n }, [\r\n isAllToAll,\r\n isSubmitFinalEnabled,\r\n isBidOrPassEnabled,\r\n isSubmitFinal,\r\n isBidOrPass,\r\n isJumpBallTopXStage1Ended,\r\n isStage1AboutToEndTimeout,\r\n isStage1AboutToEndTimeoutVisible,\r\n dispatch\r\n ]);\r\n\r\n const handleMessageTypeChange = (e: React.ChangeEvent) => {\r\n dispatch(blastMessageActions.messageTypeChange(+e.target.value));\r\n };\r\n\r\n const handleRecipientLevelChange = (e: React.ChangeEvent) => {\r\n dispatch(blastMessageActions.recipientLevelChange(e.target.value as BlastMessageRecipientLevelState));\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {\r\n !isAllToAll &&\r\n \r\n \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 { useDispatch } from 'react-redux';\r\nimport { blastMessageActions } from '../../../../actions/blast-message.actions';\r\nimport { BidderCompanySlim } from '../../../../types/company/BidderCompanySlim';\r\nimport { FavoriteButton } from '../../../common/FavoriteButton';\r\nimport { Pluralize } from '../../../common/Pluralize';\r\nimport { OnHoverTooltip } from '../../../common/OnHoverTooltip';\r\nimport { CompanyStatus } from \"../../../../types/company/CompanyStatus\";\r\nimport IconSVG from '../../../../styles/svg-icons';\r\nimport { Checkbox } from '../../../controls/Checkbox';\r\n\r\ninterface Props {\r\n company: BidderCompanySlim;\r\n selected: boolean;\r\n bidCount: number;\r\n disabled: boolean;\r\n}\r\n\r\nexport function BlastMessageRecipient(props: Props) {\r\n const dispatch = useDispatch();\r\n\r\n return dispatch(blastMessageActions.recipientSelectedChange(identifier))}\r\n />\r\n}\r\n\r\ninterface ContentProps extends Props {\r\n onRecipientSelectionChange: (companyIdentifier: string) => void;\r\n}\r\n\r\nexport function BlastMessageRecipientContent({ company, selected, bidCount, disabled, onRecipientSelectionChange }: ContentProps) {\r\n const isOnPlatform = company.status === CompanyStatus.active;\r\n\r\n let title = '';\r\n let tooltip = '';\r\n\r\n if (!company.code) {\r\n title = tooltip = company.name;\r\n } else if (company.buyerPseudoOrderNumber) {\r\n title = `${company.code}-${company.buyerPseudoOrderNumber}`;\r\n tooltip = `${company.name}-${company.buyerPseudoOrderNumber}`;\r\n } else {\r\n title = company.name;\r\n tooltip = `${company.name} (${company.code})`;\r\n }\r\n\r\n return (\r\n
\r\n onRecipientSelectionChange(company.identifier)}\r\n >\r\n <>\r\n
\r\n {\r\n isOnPlatform && !company.buyerPseudoOrderNumber &&\r\n \r\n \r\n \r\n }\r\n
\r\n \r\n {title}\r\n \r\n \r\n \r\n {\r\n !!bidCount &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n {\r\n !company.buyerPseudoOrderNumber &&\r\n \r\n }\r\n
\r\n
\r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport cn from 'classnames';\r\nimport { blastMessageActions } from '../../../../actions/blast-message.actions';\r\nimport { Bid } from '../../../../types/bidding/Bid';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { arrayUtils } from '../../../../utils/array.utils';\r\nimport { biddingUtils } from '../../../../utils/bidding.utils';\r\nimport { isRequesting } from '../../../../utils/request-state.utils';\r\nimport { BlastMessageRecipient } from './BlastMessageRecipient';\r\nimport { sortBrokerDealerCompanies } from '../../../../selectors/seller-companies.selector';\r\nimport { BidderCompanySlim } from '../../../../types/company/BidderCompanySlim';\r\nimport { useFavorites } from '../../../../effects/useFavorites';\r\nimport { useSettlementAgentAgreements } from '../../../../effects/useSettlementAgentAgreements';\r\nimport { Preloader } from '../../../common/Preloader';\r\nimport { EmptyPlaceholder } from '../../../common/EmptyPlaceholder';\r\nimport { CompanySlim } from '../../../../types/company/CompanySlim';\r\nimport { BwicPosition } from '../../../../types/bwic/BwicPosition';\r\nimport { BlastMessageRecipientsState } from '../../../../types/state/BlastMessageState';\r\nimport { RequestState } from '../../../../constants/request-state';\r\nimport { FavoriteCompanyState } from '../../../../types/state/FavoriteBrokerDealersState';\r\nimport { SettlementAgentAgreement } from '../../../../types/bid-as-dealer/SettlementAgentAgreement';\r\nimport { Checkbox } from '../../../controls/Checkbox';\r\nimport { Process } from '../../../../types/models/Process';\r\n\r\ninterface Props {\r\n disabled: boolean;\r\n bwicProcess: Process;\r\n isAllToAll: boolean;\r\n}\r\n\r\nexport function BlastMessageRecipients({ disabled, bwicProcess, isAllToAll }: Props) {\r\n const dispatch = useDispatch();\r\n\r\n const participants = useSelector((s: AppState) => s.bidding.bwic?.companies);\r\n const securities = useSelector((s: AppState) => s.sellerBidding.securities);\r\n const isSelectAllRecipients = useSelector((s: AppState) => s.blastMessage.isSelectAllRecipients);\r\n const recipients = useSelector((s: AppState) => s.blastMessage.recipients);\r\n const favoritesState = useFavorites(isAllToAll);\r\n const agreementsState = useSettlementAgentAgreements();\r\n\r\n const handleSelectAllChange = (selectAll: boolean) => {\r\n dispatch(blastMessageActions.selectAllRecipientsChange(selectAll));\r\n };\r\n\r\n return ;\r\n}\r\n\r\ninterface ContentProps {\r\n disabled: boolean;\r\n participants?: CompanySlim[];\r\n securities: BwicPosition[];\r\n isSelectAllRecipients: boolean;\r\n recipients: BlastMessageRecipientsState;\r\n favoritesState: { requestState: RequestState, favorites: FavoriteCompanyState },\r\n agreementsState: { requestState: RequestState, items: SettlementAgentAgreement[] },\r\n onSelectAllChange: (selectAll: boolean) => void;\r\n}\r\n\r\nexport function BlastMessageRecipientsContent({\r\n disabled,\r\n participants,\r\n securities,\r\n recipients,\r\n isSelectAllRecipients,\r\n favoritesState,\r\n agreementsState,\r\n onSelectAllChange }: ContentProps) {\r\n if (!participants || !securities.length) return null;\r\n\r\n const recipientsKeys = Object.keys(recipients);\r\n const hasRecipients = recipientsKeys.length > 0;\r\n const isLoading = isRequesting(agreementsState.requestState) || isRequesting(favoritesState.requestState);\r\n\r\n const allBids: Bid[] = securities.map(s => s.bids || []).flat();\r\n\r\n const biddingCompanies: BidderCompanySlim[] = arrayUtils.distinct(\r\n allBids.map(b => ({\r\n ...b.company,\r\n identifier: biddingUtils.getBidCompanyIdentifier(b),\r\n buyerPseudoOrderNumber: b.buyerPseudoOrderNumber\r\n })),\r\n (c: { identifier: string }) => c.identifier\r\n );\r\n\r\n const companies: BidderCompanySlim[] = [\r\n ...biddingCompanies,\r\n ...participants\r\n .map(p => ({ ...p, identifier: biddingUtils.getBidCompanyIdentifier({ company: p }) }))\r\n .filter(p => !biddingCompanies.some(c => c.identifier === p.identifier))\r\n ];\r\n\r\n const recipientCompanies = companies.filter(c => recipients[c.identifier] != null);\r\n\r\n return (\r\n \r\n {\r\n hasRecipients &&\r\n
\r\n recipients[key]) &&\r\n recipientsKeys.some((key: string) => !recipients[key])\r\n }\r\n checked={isSelectAllRecipients}\r\n onChange={e => onSelectAllChange(e.target.checked)}\r\n disabled={disabled}\r\n label=\"All Recipients\"\r\n />\r\n
\r\n }\r\n
\r\n \r\n {\r\n hasRecipients &&\r\n sortBrokerDealerCompanies(recipientCompanies, favoritesState.favorites, agreementsState.items).map(company => {\r\n const c = company as BidderCompanySlim;\r\n\r\n return (\r\n biddingUtils.getBidCompanyIdentifier(b) === c.identifier)\r\n .length\r\n }\r\n disabled={disabled}\r\n />\r\n );\r\n })\r\n }\r\n {\r\n !hasRecipients &&\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 { useDispatch, useSelector } from 'react-redux';\r\nimport { blastMessageActions } from '../../../../actions/blast-message.actions';\r\nimport { RequestState } from '../../../../constants/request-state';\r\nimport { getSecuritiesWithLatestBids } from '../../../../selectors';\r\nimport { ApiOperationType } from '../../../../types/api-operation/ApiOperationType';\r\nimport { AppState } from '../../../../types/state/AppState';\r\n\r\ninterface Props {\r\n disabled: boolean;\r\n}\r\n\r\nexport function BlastMessageButtons({ disabled }: Props) {\r\n const dispatch = useDispatch();\r\n const hasPendingBidOnBehalfOperations = useSelector((state: AppState) =>\r\n state.bidOnBehalf.isSubmitting ||\r\n state.apiOperation.requests.some(r =>\r\n r.event === ApiOperationType.submitBidsOnBehalf &&\r\n r.state === RequestState.request\r\n ));\r\n const recipients = useSelector((s: AppState) => s.blastMessage.recipients);\r\n const error = useSelector((s: AppState) => s.blastMessage.error);\r\n const selectedRecipientCount = Object\r\n .keys(recipients)\r\n .filter((key: string) => recipients[key])\r\n .length;\r\n const securities = useSelector((s: AppState) => s.sellerBidding.securities);\r\n const bwicParticipants = useSelector((s: AppState) => s.bidding.bwic?.companies);\r\n\r\n return (\r\n
\r\n dispatch(blastMessageActions.hide())}\r\n >\r\n Cancel\r\n \r\n dispatch(blastMessageActions.send(\r\n recipients,\r\n bwicParticipants,\r\n getSecuritiesWithLatestBids({ securities })))\r\n }\r\n >\r\n Send {!!selectedRecipientCount && `(${selectedRecipientCount})`}\r\n \r\n
\r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { BwicProcessType, Process } from '../../../../types/models/Process';\r\nimport { StatusMessageSection } from '../../../status-message/StatusMessageSection';\r\nimport { StatusMessageSectionType } from '../../../../types/state/NotificationState';\r\nimport { BlastMessageTypes } from '../../../../types/state/BlastMessageState';\r\n\r\ninterface Props {\r\n bwicProcess: Process\r\n isAllToAll?: boolean\r\n}\r\n\r\nexport function BlastMessageStatusMessage({ bwicProcess, isAllToAll }: Props) {\r\n const messageType = useSelector((s: AppState) => s.blastMessage.messageType);\r\n\r\n const blastMessageStatusMessage = isAllToAll\r\n ? \"Message is sent to all bidders with bids.\"\r\n : messageType === BlastMessageTypes.bidOrPass\r\n ? \"Messages are sent to participants (Broker-Dealers) who were invited to the BWIC.\"\r\n : \"Messages are sent to participants (Broker-Dealers and Buy-Side) who were invited to the BWIC.\"\r\n\r\n if (bwicProcess.type !== BwicProcessType.JumpBall &&\r\n bwicProcess.type !== BwicProcessType.TopX) {\r\n return null\r\n }\r\n return (\r\n \r\n {blastMessageStatusMessage}\r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport cn from 'classnames';\r\nimport { blastMessageActions } from '../../../../actions/blast-message.actions';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { RightSidePanel } from '../../../controls/RightSidePanel';\r\nimport { BlastMessageType } from './BlastMessageType';\r\nimport { BlastMessageRecipients } from './BlastMessageRecipients';\r\nimport { BlastMessageButtons } from './BlastMessageButtons';\r\nimport { Process } from '../../../../types/models/Process';\r\nimport { BlastMessageStatusMessage } from './BlastMessageStatusMessage';\r\n\r\ninterface Props {\r\n isAllToAll: boolean;\r\n bwicProcess: Process;\r\n}\r\nexport function BlastMessagePanel({ bwicProcess, isAllToAll }: Props) {\r\n const dispatch = useDispatch();\r\n\r\n const visible = useSelector((s: AppState) => s.blastMessage.panelVisible);\r\n const isSending = useSelector((s: AppState) => s.blastMessage.isSending);\r\n\r\n const handleClose = () => {\r\n if (!isSending) {\r\n dispatch(blastMessageActions.hide());\r\n }\r\n }\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\ninterface ContentProps {\r\n bwicProcess: Process;\r\n isAllToAll: boolean;\r\n visible: boolean;\r\n disabled: boolean;\r\n onClose: () => void;\r\n}\r\n\r\nexport function BlastMessagePanelContent({ visible, isAllToAll, disabled, bwicProcess, onClose }: ContentProps) {\r\n if (!visible) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { BwicProcessType, Process } from '../../../../types/models/Process';\r\nimport { FeatureButton } from '../../../access/FeatureButton';\r\nimport Confirm from '../../../alerts/Confirm';\r\nimport { OpenBiddingStatus } from '../../../../types/enums/OpenBiddingStatus';\r\nimport { OnHoverTooltip } from '../../../common/OnHoverTooltip';\r\nimport { RequestState } from '../../../../constants/request-state';\r\nimport { bwicService } from '../../../../services/bwic.service';\r\nimport { errorActions } from '../../../../actions/error.actions';\r\nimport { isRequestSuccess, isRequesting } from '../../../../utils/request-state.utils';\r\nimport { RoleActionBlocker } from '../../../access/RoleActionBlocker';\r\nimport { roles } from '../../../../constants/roles';\r\n\r\ninterface Props {\r\n bwicReferenceName: string;\r\n process: Process;\r\n}\r\n\r\nexport function SwitchStageButton({ bwicReferenceName, process }: Props) {\r\n if (process.type !== BwicProcessType.JumpBall && process.type !== BwicProcessType.TopX) return null;\r\n\r\n const automaticStage1Deadline = process.type === BwicProcessType.JumpBall\r\n ? process.jumpBall?.automaticStage1Deadline\r\n : process.topX?.automaticStage1Deadline;\r\n\r\n if (process.stagedBiddingStatus == null && !automaticStage1Deadline) {\r\n return (\r\n <>\r\n Would you like to finish Stage 1 and start Stage 2?}\r\n />\r\n \r\n \r\n )\r\n }\r\n\r\n const improvementRoud = process.type === BwicProcessType.JumpBall\r\n ? process.jumpBall?.improvementRound\r\n : process.topX?.improvementRound;\r\n\r\n if (process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended && !improvementRoud) {\r\n // Seller controls stage 2 end\r\n return (\r\n <>\r\n Are you sure you want to complete Stage 2? Bidders will no longer be able to improve their bids, however, you will be able to trade and send color.}\r\n />\r\n \r\n \r\n )\r\n }\r\n\r\n return null;\r\n}\r\n\r\ninterface ButtonProps {\r\n bwicReferenceName: string;\r\n text: string;\r\n confirmTitle?: string;\r\n confirmText: React.ReactNode;\r\n tooltip?: string;\r\n}\r\n\r\nfunction Button({ bwicReferenceName, text, tooltip, confirmText, confirmTitle }: ButtonProps) {\r\n const [confirm, setConfirm] = useState(false);\r\n const { requestState, finishStage } = useFinishStageService(bwicReferenceName);\r\n\r\n return (\r\n <>\r\n \r\n \r\n setConfirm(true)}\r\n >\r\n {text}\r\n \r\n \r\n \r\n {\r\n confirm &&\r\n {\r\n finishStage();\r\n setConfirm(false);\r\n }}\r\n confirmButtonText=\"Yes\"\r\n cancelButtonText=\"No\"\r\n onCancel={() => setConfirm(false)}\r\n />\r\n }\r\n \r\n );\r\n}\r\n\r\nfunction useFinishStageService(bwicReferenceName: string) {\r\n const dispatch = useDispatch();\r\n const [requestState, setRequestState] = useState(RequestState.none);\r\n\r\n const finishStage = async () => {\r\n setRequestState(RequestState.request);\r\n try {\r\n await bwicService.finishStage(bwicReferenceName);\r\n setRequestState(RequestState.success);\r\n } catch (e) {\r\n setRequestState(RequestState.failure);\r\n dispatch(errorActions.unexpectedError(e));\r\n }\r\n }\r\n\r\n return { requestState, finishStage };\r\n}\r\n","import React from 'react'\r\nimport { useHistory } from 'react-router';\r\nimport { LocationStateBuilder, PopupType } from '../../../../../types/state/ui/LocationState';\r\nimport { OnHoverTooltip } from \"../../../../common/OnHoverTooltip\";\r\nimport IconSVG from \"../../../../../styles/svg-icons\";\r\nimport { FeatureButton } from '../../../../access/FeatureButton';\r\nimport { RoleActionBlocker } from '../../../../access/RoleActionBlocker';\r\nimport { roles } from '../../../../../constants/roles';\r\n\r\ninterface Props {\r\n disabled?: boolean;\r\n disabledTooltip: React.ReactNode;\r\n}\r\n\r\nexport function ShowBidOnBehalfPopupButton({ disabled = false, disabledTooltip }: Props) {\r\n const history = useHistory();\r\n\r\n return (\r\n \r\n {blocked =>\r\n \r\n \r\n history.replace({\r\n ...history.location,\r\n state: new LocationStateBuilder()\r\n .popup(PopupType.SaveBidOnBehalf)\r\n .result()\r\n })}\r\n >\r\n \r\n Upload Bids\r\n \r\n }\r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { DropDownList, DropDownListItem } from '../../../../controls/DropDownList';\r\nimport { useAppSelector } from '../../../../../effects/useAppSelector';\r\nimport { CompanySlim } from '../../../../../types/company/CompanySlim';\r\nimport { bidOnBehalfParseActions } from '../../../../../actions/bid-on-behalf-parse.actions';\r\nimport { useAppDispatch } from '../../../../../effects/useAppDispatch';\r\n\r\nexport function SelectBdDropDown() {\r\n const dispatch = useAppDispatch();\r\n const offPlatformCompanies = useAppSelector(s => s.bidOnBehalf.companies);\r\n const headers = useAppSelector(s => s.grid.headers);\r\n\r\n const items: DropDownListItem[] = React.useMemo(() =>\r\n offPlatformCompanies\r\n .filter(c => !headers.some(h => h.name === c.code))\r\n .map(c => ({\r\n text: '',\r\n value: c.code,\r\n payload: c,\r\n disabled: headers.some(h => h.name.localeCompare(c.code, undefined, { sensitivity: 'accent' }) === 0)\r\n })),\r\n [offPlatformCompanies, headers]);\r\n\r\n const renderDropDownItem = (item: DropDownListItem) =>\r\n
\r\n {!!item.text && item.text}\r\n {\r\n !item.text &&\r\n <>\r\n
{(item.payload as CompanySlim).name}
\r\n
{(item.payload as CompanySlim).code}
\r\n \r\n }\r\n
\r\n\r\n return (\r\n dispatch(bidOnBehalfParseActions.addCompany(item.value as string))}\r\n />\r\n );\r\n}\r\n","import React from 'react';\r\nimport { errorMessages } from '../../../../../constants';\r\nimport { useAppSelector } from '../../../../../effects/useAppSelector';\r\nimport { BidOnBehalfParseResultItem } from '../../../../../types/state/BidOnBehalfState';\r\nimport { GridDataItem } from '../../../../../types/state/GridState';\r\nimport { StatusMessageSectionType } from '../../../../../types/state/NotificationState';\r\nimport { StatusMessageSection } from '../../../../status-message/StatusMessageSection';\r\n\r\ninterface Props {\r\n tickers: { [ticker: string]: boolean }\r\n}\r\n\r\nexport function ParseErrors({ tickers }: Props) {\r\n const gridHeaders = useAppSelector(s => s.grid.headers) ?? [];\r\n const dataItems: GridDataItem[] = useAppSelector(s => s.grid.dataItems);\r\n\r\n if (!gridHeaders.length) return null;\r\n\r\n const valueCannotBeLess = dataItems.some(i => i?.errors?.find(i => i.message === errorMessages.valueCannotBeLess));\r\n\r\n const selectBdError = gridHeaders.find(h => h.name === 'selectBd')?.headerError;\r\n\r\n const unknownCompanyShortCodes = gridHeaders\r\n .filter(h => h.headerError && h.name !== 'selectBd')\r\n .map(h => h.name);\r\n const unknownTickers = dataItems\r\n .filter(i => !i.draft && i.ticker?.trim() && tickers[i.ticker?.trim().toUpperCase()] == null)\r\n .map(i => i.ticker!);\r\n\r\n const renderError = (title: string, items: string[]) =>

{title}: {items.join(', ')}.

;\r\n\r\n return (\r\n <>\r\n {\r\n selectBdError ?\r\n \r\n {selectBdError}\r\n : null\r\n }\r\n {(unknownCompanyShortCodes.length || unknownTickers.length || valueCannotBeLess) ?\r\n \r\n {!!unknownCompanyShortCodes.length && renderError('One or more Broker-Dealers were not found in the system', unknownCompanyShortCodes)}\r\n {!!unknownTickers.length && renderError('One or more Tickers were not found in the BWIC', unknownTickers)}\r\n {valueCannotBeLess &&

{errorMessages.valueCannotBeLess}

}\r\n
: null\r\n }\r\n \r\n );\r\n\r\n}\r\n","import React, { useMemo, useState } from 'react';\r\nimport { Redirect, useHistory, useLocation } from 'react-router';\r\nimport { useAppSelector } from '../../../../../effects/useAppSelector';\r\nimport { BidOnBehalfParseResultItem, BulkSaveBidOnBehalfDataItem } from '../../../../../types/state/BidOnBehalfState';\r\nimport { GridColumn, GridDataItem, GridUploadStatus } from '../../../../../types/state/GridState';\r\nimport { isActiveTrade } from '../../../../../types/trades/TradeStatus';\r\nimport { apiUtils, numericUtils } from '../../../../../utils';\r\nimport { CompanySlim } from '../../../../../types/company/CompanySlim';\r\nimport { gridActions } from '../../../../../actions';\r\nimport { BwicPosition } from '../../../../../types/bwic/BwicPosition';\r\nimport { Grid } from '../../../../grid/Grid';\r\nimport { DeleteRowsWithErrorButton } from '../../../../grid/DeleteRowsWithErrorButton';\r\nimport { bidOnBehalfParseActions } from '../../../../../actions/bid-on-behalf-parse.actions';\r\nimport { Popup, PopupBody, PopupFooter } from '../../../../controls';\r\nimport { DownloadTemplateButton } from '../../../../common/download-template/DownloadTemplateButton';\r\nimport { SelectBdDropDown } from './SelectBdDropDown';\r\nimport { Bwic } from '../../../../../types/bwic/Bwic';\r\nimport { LocationState, PopupType, LocationStateBuilder } from '../../../../../types/state/ui/LocationState';\r\nimport { createCompanyBobColumn } from '../../../../../constants/grid.columns';\r\nimport { ParseErrors } from './ParseErrors';\r\nimport { entries } from 'lodash';\r\nimport { Confirm } from '../../../../alerts';\r\nimport { useAppDispatch } from '../../../../../effects/useAppDispatch';\r\n\r\nconst selectBdKey = 'selectBd';\r\n\r\nconst hasCompanyBids = (dataItem: GridDataItem) =>\r\n entries(dataItem).some(([key, value]) => key !== selectBdKey && numericUtils.isNumber(value));\r\n\r\ninterface Props {\r\n bwic: Bwic;\r\n positions: BwicPosition[];\r\n}\r\nexport function SaveBidOnBehalfPopup({ bwic, positions }: Props) {\r\n const locationState = useLocation().state;\r\n const offPlatformCompanies = useAppSelector(s => s.bidOnBehalf.companies);\r\n\r\n if (\r\n locationState?.popup?.type !== PopupType.SaveBidOnBehalf ||\r\n !positions?.length ||\r\n !offPlatformCompanies?.length ||\r\n !bwic) return null;\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\ninterface ContentProps {\r\n bwicName: string;\r\n bwicReferenceName: string;\r\n positions: BwicPosition[];\r\n companies: CompanySlim[];\r\n}\r\n\r\nfunction SaveBidOnBehalfPopupContent({ positions, bwicName, bwicReferenceName }: ContentProps) {\r\n const [isCancelCofrimationShow, setIsCancelCofrimationShow] = useState(false);\r\n const dispatch = useAppDispatch();\r\n const selectCompanyShortCodesErrorText = 'For saving bids, please select BD shortcode in table header';\r\n\r\n const isGridUploading = useAppSelector(s => s.grid.upload.status === GridUploadStatus.Uploading);\r\n const tickers = useMemo(\r\n () => apiUtils.normalize(\r\n positions,\r\n p => p.ticker.trim().toUpperCase(),\r\n p => p.isTradedAway || p.trade != null),\r\n [positions]\r\n );\r\n\r\n useTradedPositionsReset(positions);\r\n\r\n React.useEffect(() => {\r\n const dataItems = positions.map(p => ({\r\n ticker: p.ticker,\r\n readonly: p.isTradedAway || isActiveTrade(p.trade)\r\n }))\r\n\r\n const ticker: GridColumn = {\r\n name: 'ticker',\r\n title: 'Ticker',\r\n required: true,\r\n length: 32,\r\n unique: true,\r\n initialValue: '',\r\n disabledSort: true,\r\n readonly: true,\r\n validate: ticker => tickers[ticker?.trim().toUpperCase() ?? ''] == null ? 'Ticker is not found' : ''\r\n };\r\n const selectBd: GridColumn = {\r\n ...createCompanyBobColumn(selectBdKey),\r\n title: '',\r\n canRemove: false,\r\n renderTitle: () => ,\r\n validateHeader: (nonDraftDataItems: GridDataItem[]) =>\r\n nonDraftDataItems.some((item: any) => item.selectBd) ? selectCompanyShortCodesErrorText : undefined,\r\n } as GridColumn;\r\n\r\n dispatch(gridActions.init(dataItems, [ticker, selectBd], 200, 20));\r\n dispatch(gridActions.setInitialPosition(0, 1)); // [first row, 'Select BD' column]\r\n\r\n return () => {\r\n dispatch(gridActions.reset());\r\n }\r\n // eslint-disable-next-line\r\n }, [dispatch]);\r\n\r\n const handleSave = () => {\r\n dispatch(bidOnBehalfParseActions.saveBids());\r\n }\r\n\r\n const handleDeleteItemsWithErrors = () => {\r\n dispatch(bidOnBehalfParseActions.removeUnknownCompanyColumns());\r\n dispatch(bidOnBehalfParseActions.deleteItemsWithErrors());\r\n }\r\n\r\n const renderTitle = () => {\r\n return (\r\n

\r\n Upload Bids {bwicName}\r\n
\r\n \r\n \r\n
\r\n

\r\n );\r\n }\r\n\r\n return (\r\n setIsCancelCofrimationShow(true)}\r\n renderInBody\r\n >\r\n \r\n \r\n dispatch(bidOnBehalfParseActions.uploadFile(file))}\r\n onDataItemsPaste={clipboardText => dispatch(bidOnBehalfParseActions.parseClipboard(clipboardText))}\r\n onFileSelected={file => dispatch(bidOnBehalfParseActions.uploadFile(file))}\r\n />\r\n \r\n \r\n setIsCancelCofrimationShow(true)}\r\n >\r\n Cancel\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\ninterface SaveBidsButtonProps {\r\n onClick: () => void;\r\n}\r\n\r\ninterface CancelConfirmationModalProps {\r\n isCancelCofrimationShow: boolean;\r\n setIsCancelCofrimationShow: (isCancelCofrimationShow: boolean) => void\r\n}\r\n\r\nfunction CancelConfirmationModal({ isCancelCofrimationShow, setIsCancelCofrimationShow }: CancelConfirmationModalProps) {\r\n const history = useHistory();\r\n const destinationRedirect = { ...history.location, state: new LocationStateBuilder().resetPopup().result() };\r\n const hasBids = useAppSelector(s => s.grid.dataItems.some((i: GridDataItem) =>\r\n !i.draft && hasCompanyBids(i))\r\n );\r\n if (!isCancelCofrimationShow) return null;\r\n if (!hasBids) {\r\n return \r\n }\r\n\r\n const handleClose = () => {\r\n history.replace(destinationRedirect);\r\n }\r\n\r\n return (\r\n setIsCancelCofrimationShow(false)}\r\n />\r\n )\r\n}\r\n\r\nfunction SaveBidsButton({ onClick }: SaveBidsButtonProps) {\r\n const hasBids = useAppSelector(s => s.grid.dataItems.some((i: GridDataItem) =>\r\n !i.draft && hasCompanyBids(i))\r\n );\r\n const hasErrors = useAppSelector(s =>\r\n s.grid.headers?.some(h => h.headerError) ||\r\n s.grid.dataItems.some((i: GridDataItem) => !i.draft && i.errors?.length)\r\n );\r\n\r\n return (\r\n \r\n Save Bids\r\n \r\n );\r\n}\r\n\r\nfunction useTradedPositionsReset(positions: BwicPosition[]) {\r\n const dispatch = useAppDispatch();\r\n const dataItems: GridDataItem[] = useAppSelector(s => s.grid.dataItems);\r\n\r\n React.useEffect(() => {\r\n positions\r\n .filter(p => p.trade)\r\n .forEach(p => {\r\n const item = dataItems.find(i => i.ticker === p.ticker);\r\n if (item != null && !item?.readonly) {\r\n // reset position bids and make row readonly\r\n const updated = ({\r\n ticker: item.ticker,\r\n readonly: true\r\n });\r\n dispatch(gridActions.replaceDataItem(updated, dataItems.indexOf(item)));\r\n }\r\n })\r\n\r\n // eslint-disable-next-line\r\n }, [positions, dispatch]);\r\n}\r\n","import { useBiddingCompletedSoonNotification } from \"../../../effects/bidding/useBiddingCompletedSoonNotification\";\r\nimport { RecipientType, useBiddingCompletedNotification } from \"../../../effects/useBiddingCompletedNotification\";\r\nimport { Bwic } from \"../../../types/bwic/Bwic\";\r\n\r\ninterface Props {\r\n bwic: Bwic;\r\n}\r\nexport function Notifications({ bwic }: Props){\r\n useBiddingCompletedSoonNotification(bwic);\r\n useBiddingCompletedNotification(RecipientType.Seller, bwic);\r\n\r\n return null;\r\n}","import { useEffect, useRef } from \"react\";\r\nimport { constants } from '../../../constants';\r\nimport { useDispatch } from \"react-redux\";\r\nimport { bidOnBehalfActions } from \"../../../actions\";\r\n\r\n\r\nexport const useBobAutoSave = (disabled: boolean) => {\r\n const dispatch = useDispatch();\r\n const autoSave = useRef | null>(null);\r\n\r\n useEffect(() => {\r\n if (!disabled && !autoSave.current) {\r\n autoSave.current = setInterval(\r\n () => dispatch(bidOnBehalfActions.submit()),\r\n constants.bobAutoSaveIntervalSeconds * 1000\r\n );\r\n }\r\n return () => {\r\n if (autoSave.current) {\r\n clearInterval(autoSave.current);\r\n }\r\n }\r\n }, [dispatch, disabled])\r\n}","import { useEffect, useRef } from 'react';\r\nimport cn from 'classnames';\r\nimport moment from \"moment\";\r\nimport { sellerBiddingActions as actions } from '../../../actions';\r\nimport { BiddingTabs } from '../../../constants/bidding';\r\nimport { biddingUtils } from '../../../utils/bidding.utils';\r\nimport { liveBiddingUtils } from '../../../utils/live-bidding.utils';\r\nimport { TopPanel, BiddingTimer } from '../common';\r\nimport { Participants } from '../common/participants';\r\nimport { TradePopup } from './trade/TradePopup';\r\nimport SubHeader from '../common/SubHeader';\r\nimport { FlexRow, Preloader } from '../../common';\r\nimport { Table } from '../common/table';\r\nimport { ControlPanel } from '../common/ControlPanel';\r\nimport { AutoFeedbackSettingsButton } from './auto-feedback/AutoFeedbackSettingsButton';\r\nimport { AutoFeedbackSettingsPanel } from './auto-feedback/AutoFeedbackSettingsPanel';\r\nimport { ShowFor } from '../../access';\r\nimport { FeatureButton } from '../../access/FeatureButton';\r\nimport { getSecuritiesWithLatestBids, getSellerBiddingCompanies } from '../../../selectors';\r\nimport { DealerListPanel } from './dealer-list-panel/DealerListPanel';\r\nimport { DealerListButton } from './dealer-list-panel/DealerListButton';\r\nimport { getSellerBiddingColumns } from './columns';\r\nimport { BidOnBehalfConflictPopup } from './bid-on-behalf/BidOnBehalfConflictPopup';\r\nimport { BidOnBehalfSavingLabel } from './bid-on-behalf/BidOnBehalfSavingLabel';\r\nimport { BlastMessageButton } from './blast-message/BlastMessageButton';\r\nimport { BlastMessagePanel } from './blast-message/BlastMessagePanel';\r\nimport { TradeStatus } from '../../../types/trades/TradeStatus';\r\nimport { OpenBiddingStatus } from '../../../types/enums/OpenBiddingStatus';\r\nimport { BwicProcessType } from '../../../types/models/Process';\r\nimport { SwitchStageButton } from './jump-ball/SwitchStageButton';\r\nimport { Stage2ParticipantsFilter } from './Stage2ParticipantsFilter';\r\nimport { ShowBidOnBehalfPopupButton } from './bid-on-behalf/bulk-save/ShowBidOnBehalfPopupButton'\r\nimport { SaveBidOnBehalfPopup } from './bid-on-behalf/bulk-save/SaveBidOnBehalfPopup';\r\nimport { TradeButtonStyle } from \"./trade/TradeButton\";\r\nimport { calculateStage2Participants } from '../../../utils/stage2-participants-calculator';\r\nimport { BidOnlyFilter } from './BidOnlyFilter';\r\nimport { Notifications as NotificationEffects } from './Notifications';\r\nimport { useAppSelector } from '../../../effects/useAppSelector';\r\nimport { BwicPosition } from '../../../types/bwic/BwicPosition';\r\nimport { BidderCompanySlim } from '../../../types/company/BidderCompanySlim';\r\nimport { useBobAutoSave } from './useBobAutoSave';\r\nimport { roles } from '../../../constants/roles';\r\nimport { RoleActionBlocker } from '../../access/RoleActionBlocker';\r\nimport { useAppDispatch } from '../../../effects/useAppDispatch';\r\n\r\ninterface BiddingProps {\r\n activeTab?: BiddingTabs;\r\n activePositionId: number;\r\n rightSidePanelVisible: boolean;\r\n}\r\n\r\nexport const Bidding = ({ activeTab, activePositionId, rightSidePanelVisible }: BiddingProps) => {\r\n const dispatch = useAppDispatch();\r\n\r\n const columnAnimationEnabled = useRef(false);\r\n const bwic = useAppSelector((s) => s.bidding.bwic);\r\n const securities = useAppSelector((s) => getSecuritiesWithLatestBids(s.sellerBidding));\r\n const securitesWithAllBids = useAppSelector((s) => s.sellerBidding.securities);\r\n const settlementAgentAgreements = useAppSelector((s) => s.entities.settlementAgentAgreements.items);\r\n const isStage2ParticipantsOnly = useAppSelector((s) => s.dealerListPanel.isStage2ParticipantsOnly);\r\n const isLoading = useAppSelector((s) =>\r\n s.bidding.bwic.process.type === BwicProcessType.Live && (s.bidOnBehalf.isRequesting || !s.dealerListPanel.isDefaultVisibilityApplied)\r\n )\r\n const visibleCompanies = useAppSelector((s) => (\r\n getSellerBiddingCompanies({\r\n participants: s.bidding.bwic.companies,\r\n offPlatformCompanies: s.bidOnBehalf.companies,\r\n hiddenState: s.dealerListPanel.companyHiddenState,\r\n favorites: s.favoriteBrokerDealers.favorites,\r\n processType: s.bidding.bwic.process.type,\r\n agreements: s.entities.settlementAgentAgreements.items,\r\n securities: s.sellerBidding.securities,\r\n isAllToAll: s.bidding.bwic.isAllToAll\r\n })\r\n )) as BidderCompanySlim[];\r\n\r\n useEffect(() => {\r\n setTimeout(() => columnAnimationEnabled.current = true, 1000);\r\n }, [bwic])\r\n\r\n useBobAutoSave(bwic === null || bwic.process.type === BwicProcessType.Live);\r\n\r\n const canTradeAll = () => securities.some(s => biddingUtils.canTradePosition(s));\r\n\r\n const createSecurityCustomClassName = (security: BwicPosition) => {\r\n const tradeStatus = security.trade && security.trade.status;\r\n const tradeStatusFlags = getTradeStatusFlags(tradeStatus);\r\n const isStage2 = bwic.process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended;\r\n const isStage2Ended = bwic.process.stagedBiddingStatus === OpenBiddingStatus.improvementRoundEnded;\r\n const isBFFBiddingEnded =\r\n bwic.process.type === BwicProcessType.BestFootForward &&\r\n bwic.process.stagedBiddingStatus != null;\r\n\r\n return cn('pointer', {\r\n ...tradeStatusFlags,\r\n active: security.id === activePositionId,\r\n inactive: (isStage2 || isStage2Ended || isBFFBiddingEnded) && !security.bids?.some(b => !b.pass),\r\n });\r\n }\r\n\r\n const createSecurityCustomArgs = (security: BwicPosition) => {\r\n const isLiveBidding = bwic.process.type === BwicProcessType.Live;\r\n const isLiveBiddingStage2 = isLiveBidding && bwic.process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended;\r\n const isLiveBiddingEnded = isLiveBidding && bwic.process.stagedBiddingStatus === OpenBiddingStatus.improvementRoundEnded;\r\n const liveBiddingStage2SubmissionDeadline = isLiveBiddingStage2 && bwic.bidsDueUtc\r\n ? liveBiddingUtils.calculateStage2SubmissionDeadline(bwic.bidsDueUtc, bwic.process, security.latestBidSubmission)\r\n : undefined;\r\n const liveBiddingStage2Expired = isLiveBiddingStage2 && moment.utc().diff(liveBiddingStage2SubmissionDeadline) > 0;\r\n let stage2Participants = {};\r\n if (bwic.process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended) {\r\n const allBids = securitesWithAllBids.find(s => s.id === security.id)?.bids ?? [];\r\n stage2Participants = calculateStage2Participants(allBids, bwic.process);\r\n }\r\n\r\n return {\r\n bwic,\r\n stage2Participants,\r\n allowFeedback: !isLiveBidding,\r\n liveBiddingStage2SubmissionDeadline,\r\n liveBiddingStage2Expired,\r\n enabled: !isLiveBiddingEnded && !liveBiddingStage2Expired, // hide live bidding timer\r\n columnAnimationEnabled: columnAnimationEnabled.current\r\n };\r\n }\r\n\r\n const createHeaderCustomArgs = () => ({ columnScrollEnabled: columnAnimationEnabled.current })\r\n\r\n const getTradeStatusFlags = (tradeStatus?: TradeStatus) => {\r\n const pending = tradeStatus === TradeStatus.pending;\r\n const affirmed = tradeStatus === TradeStatus.affirmed;\r\n const rejected = tradeStatus === TradeStatus.rejected;\r\n const canceled = tradeStatus === TradeStatus.rejected;\r\n\r\n return { pending, affirmed, rejected, canceled };\r\n }\r\n\r\n\r\n const isAllPositionsTraded = !securities.some(s => s.trade == null || s.trade.status === TradeStatus.rejected);\r\n const isLiveBidding = bwic.process.type === BwicProcessType.Live;\r\n const isTopX = bwic.process.type === BwicProcessType.TopX;\r\n const isJumpBall = bwic.process.type === BwicProcessType.JumpBall;\r\n const isBestFF = bwic.process.type === BwicProcessType.BestFootForward;\r\n const isStandard = bwic.process.type === BwicProcessType.Standard;\r\n const isJumpBallBiddingCompleted = isJumpBall && bwic.process.stagedBiddingStatus === OpenBiddingStatus.improvementRoundEnded;\r\n const isTopXBiddingCompleted = isTopX && bwic.process.stagedBiddingStatus === OpenBiddingStatus.improvementRoundEnded;\r\n const isBestFFBiddingCompleted = isBestFF && bwic.process.stagedBiddingStatus != null;\r\n const isButtonDisabled = isAllPositionsTraded || isJumpBallBiddingCompleted || isTopXBiddingCompleted || isBestFFBiddingCompleted;\r\n const isSatge2Process = isTopX || isJumpBall || isLiveBidding;\r\n const isStage2 = bwic.process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended;\r\n const isStage2Ended = bwic.process.stagedBiddingStatus === OpenBiddingStatus.improvementRoundEnded;\r\n const disabledButtonTooltip =\r\n isButtonDisabled && (\r\n (isAllPositionsTraded && 'All securities in the BWIC have been traded') ||\r\n ((isJumpBallBiddingCompleted || isTopXBiddingCompleted || isBestFFBiddingCompleted) && 'Bidding is completed')\r\n );\r\n\r\n let isAutoFeedbacksDisabled = false;\r\n if (isAllPositionsTraded || isJumpBall || isBestFF || isLiveBidding || isStandard) {\r\n isAutoFeedbacksDisabled = true;\r\n } else if (isTopX) {\r\n isAutoFeedbacksDisabled = bwic.process.stagedBiddingStatus !== OpenBiddingStatus.stage1Ended;\r\n } else {\r\n isAutoFeedbacksDisabled = bwic.isClearingBankParticipant;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n {bwic.bidsDueUtc && bwic.goodUntilUtc && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n \r\n \r\n {\r\n className =>\r\n dispatch(actions.tradeAll())}\r\n >\r\n trade all\r\n \r\n }\r\n \r\n \r\n \r\n dispatch(actions.completeBwic(bwic.referenceName))}\r\n >\r\n Send Color\r\n \r\n \r\n
\r\n
\r\n \r\n {\r\n !isLoading &&\r\n \r\n {!bwic.isAllToAll && (isBestFF || (isSatge2Process && !isStage2Ended)) && }\r\n {isSatge2Process && !isStage2Ended && }\r\n \r\n }\r\n {\r\n !isLiveBidding && !bwic.isAllToAll &&\r\n \r\n }\r\n \r\n {\r\n !isLiveBidding &&\r\n !isBestFF &&\r\n \r\n }\r\n {\r\n !isLiveBidding &&\r\n \r\n }\r\n \r\n
\r\n
\r\n \r\n {activeTab === BiddingTabs.participants\r\n ? \r\n : (\r\n \r\n {\r\n !isLoading &&\r\n position.id}\r\n />\r\n }\r\n \r\n )\r\n }\r\n \r\n \r\n \r\n \r\n {\r\n !isAutoFeedbacksDisabled &&\r\n \r\n \r\n \r\n }\r\n {\r\n !isLiveBidding &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n {!isLoading && !bwic.isAllToAll && }\r\n {\r\n !isLiveBidding && !bwic.isAllToAll &&\r\n \r\n }\r\n \r\n
\r\n
\r\n );\r\n};","import classNames from 'classnames';\r\nimport { BiddingTabs } from '../../../constants/bidding';\r\nimport { TopPanel } from '../common';\r\nimport { Participants } from '../common/participants';\r\nimport SubHeader from '../common/SubHeader';\r\nimport { Table } from '../common/table';\r\nimport { sellerCanceledColumns } from '../common/table/columns';\r\nimport { ControlPanel } from '../common/ControlPanel';\r\nimport { useAppSelector } from '../../../effects/useAppSelector';\r\nimport { BwicPosition } from '../../../types/bwic/BwicPosition';\r\n\r\ninterface CancelledProps {\r\n activeTab?: BiddingTabs;\r\n activePositionId: number;\r\n}\r\n\r\nexport const Cancelled = ({ activeTab, activePositionId }: CancelledProps) => {\r\n const bwic = useAppSelector((s) => s.bidding.bwic);\r\n const securities = useAppSelector((s) => s.sellerBidding.securities);\r\n\r\n const createSecurityCustomClassName = (security: BwicPosition) => {\r\n return classNames('pointer', {\r\n active: security.id === activePositionId\r\n });\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {activeTab === BiddingTabs.participants\r\n ? \r\n : (\r\n ({\r\n targetLevelReadonly: true,\r\n bwic\r\n })}\r\n />\r\n )\r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\n","import classNames from 'classnames';\r\nimport { BiddingTabs, tradeStatuses } from '../../../constants/bidding';\r\nimport { CompletionTime, TopPanel } from '../common';\r\nimport { Participants } from '../common/participants';\r\nimport SubHeader from '../common/SubHeader';\r\nimport { Table } from '../common/table';\r\nimport { ControlPanel } from '../common/ControlPanel';\r\nimport { getSecuritiesWithLatestBids, getSellerFinishedCompanies } from '../../../selectors';\r\nimport { getSellerFinishedColumns } from './columns';\r\nimport { BwicProcessType } from '../../../types/models/Process';\r\nimport { useAppSelector } from '../../../effects/useAppSelector';\r\nimport { BwicPosition } from '../../../types/bwic/BwicPosition';\r\nimport { BidderCompanySlim } from '../../../types/company/BidderCompanySlim';\r\n\r\ninterface FinishedProps {\r\n activeTab?: BiddingTabs;\r\n activePositionId: number;\r\n rightSidePanelVisible: boolean;\r\n}\r\n\r\nexport const Finished = ({ activeTab, activePositionId, rightSidePanelVisible }: FinishedProps) => {\r\n\r\n const bwic = useAppSelector((s) => s.bidding.bwic);\r\n const settlementAgentAgreements = useAppSelector((s) => s.entities.settlementAgentAgreements.items);\r\n const securities = useAppSelector((s) => getSecuritiesWithLatestBids({ securities: s.sellerBidding.securities }));\r\n const visibleCompanies = useAppSelector((s) => (\r\n getSellerFinishedCompanies({\r\n participants: s.bidding.bwic.companies,\r\n offPlatformCompanies: s.bidOnBehalf.companies,\r\n favorites: s.favoriteBrokerDealers.favorites,\r\n securities,\r\n agreements: s.entities.settlementAgentAgreements.items,\r\n isAllToAll: s.bidding.bwic?.isAllToAll\r\n })\r\n )) as BidderCompanySlim[]\r\n\r\n const createSecurityCustomArgs = () => {\r\n return {\r\n bwic,\r\n allowFeedback: false,\r\n targetLevelReadonly: true,\r\n bwicStatus: bwic.status\r\n };\r\n };\r\n\r\n const createSecurityCustomClassName = (security: BwicPosition) => {\r\n const tradeStatus = security.trade && security.trade.status;\r\n const pending = tradeStatus === tradeStatuses.pending.key;\r\n const affirmed = tradeStatus === tradeStatuses.affirmed.key;\r\n const rejected = tradeStatus === tradeStatuses.rejected.key;\r\n\r\n return classNames('pointer', {\r\n active: security.id === activePositionId,\r\n pending,\r\n affirmed,\r\n rejected\r\n });\r\n }\r\n const completedDateUtc = bwic.completedDateUtc || bwic.goodUntilUtc;\r\n\r\n const dataListClasses = classNames({\r\n 'data-list-seller-finished': true,\r\n 'data-list-short': rightSidePanelVisible\r\n });\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n {completedDateUtc && }\r\n
\r\n
\r\n \r\n
\r\n
\r\n {activeTab === BiddingTabs.participants\r\n ? \r\n : (\r\n position.id}\r\n />\r\n )\r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport classNames from 'classnames';\r\nimport { TopPanel, ActionBar, CompletionTime, BiddingTimer } from '../common';\r\nimport {\r\n otherSellerBiddingActions as actions,\r\n securityDetailsActions,\r\n bwicHistoryActions,\r\n rulesActions\r\n} from '../../../actions';\r\nimport { bwicStatuses } from '../../../constants';\r\nimport { Table } from '../common/table';\r\nimport { otherSellerColumns, otherSellerFinishedColumns, otherSellerBiddingColumns } from '../common/table/columns';\r\nimport { ControlPanel } from '../common/ControlPanel';\r\n\r\nclass OtherSellerView extends Component {\r\n componentWillUnmount = () => this.props.reset();\r\n\r\n getColumns = status => {\r\n switch (status) {\r\n case bwicStatuses.bidding.key: return otherSellerBiddingColumns;\r\n case bwicStatuses.finished.key: return otherSellerFinishedColumns;\r\n default: return otherSellerColumns;\r\n }\r\n }\r\n\r\n createSecurityCustomClassName = (hasHistoryColumn, security) => {\r\n return classNames({\r\n pointer: hasHistoryColumn,\r\n active: security.id === this.props.activePositionId\r\n });\r\n }\r\n\r\n handleRowClick = position => this.props.toggleHistory(position.id, position.ticker);\r\n\r\n render = () => {\r\n const { bwic, securities } = this.props;\r\n\r\n if (!bwic || !securities) return null;\r\n\r\n const columns = this.getColumns(bwic.status);\r\n const hasHistoryColumn = columns.some(c => c.columnName === 'history');\r\n const isBidding = bwic.status === bwicStatuses.bidding.key;\r\n const isFinished = bwic.status === bwicStatuses.finished.key;\r\n const completedDateUtc = bwic.completedDateUtc || bwic.goodUntilUtc;\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n {\r\n isBidding &&\r\n
\r\n \r\n
\r\n }\r\n {\r\n isFinished &&\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = ({ bidding, otherSellerBidding, securityDetails, bwicHistory, rules, pxTalkList, bwicLog }) => ({\r\n bwic: bidding.bwic,\r\n securities: otherSellerBidding.securities,\r\n activePositionId:\r\n (bwicHistory.visible && bwicHistory.positionId) ||\r\n (securityDetails.security && securityDetails.security.id) ||\r\n (bwicLog.security && bwicLog.security.id) ||\r\n (rules.show && rules.positionId) ||\r\n (pxTalkList.visible && pxTalkList.positionId)\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n init: actions.init,\r\n reset: actions.reset,\r\n toggleHistory: bwicHistoryActions.toggleHistory,\r\n hideSecurityDetails: securityDetailsActions.securityDetailsReset,\r\n hideRules: rulesActions.hide\r\n}\r\n\r\nconst connectedOtherSellerView = connect(mapStateToProps, mapDispatchToProps)(OtherSellerView);\r\nexport { connectedOtherSellerView as OtherSellerView };\r\n","import React, { useState } from 'react';\r\nimport { Popup } from \"../controls\";\r\nimport contentImageStageFirst from '../../images/ob-explanation-stage-1.png';\r\nimport contentImageStageSecond from '../../images/ob-explanation-stage-2.png';\r\nimport { Checkbox } from '../controls/Checkbox';\r\n\r\nexport function OpenBiddingExplanation({ onClickGotIt, onClose }) {\r\n const [dontShowAgain, setDontShowAgain] = useState(false);\r\n\r\n function handleClickGotIt() {\r\n onClickGotIt && onClickGotIt(dontShowAgain);\r\n }\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\"\"/
\r\n
\"\"/
\r\n
\r\n
\r\n

LiveBidding™ is a unique feature that enables live exchange in two stages:

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

Stage 1:

\r\n

Participating bidders must submit bids in a ″blind″ manner similar to traditional BWICs.

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

Stage 2:

\r\n

A specified number of top bidders from Stage 1 can see live Best bid levels and can improve their bids during the pre-set interval of time. Bidding continues till either no improvement interval or BWIC ends.

\r\n
\r\n
\r\n
\r\n
\r\n setDontShowAgain(!dontShowAgain)}\r\n />\r\n \r\n
\r\n \r\n )\r\n}\r\n","import { memo } from 'react';\r\nimport { useAppSelector } from '../../../effects/useAppSelector';\r\nimport { TopPanel } from '../common';\r\nimport { Participants } from '../common/participants';\r\nimport SubHeader from '../common/SubHeader';\r\nimport { BiddingTabs } from '../../../constants/bidding';\r\nimport { useHistory } from 'react-router';\r\nimport { useEffect } from 'react';\r\nimport { useParams } from 'react-router-dom';\r\nimport { routes } from '../../../constants';\r\n\r\nconst AdminBiddingViewComponent = () => {\r\n const { tab } = useParams<{ referenceName: string, tab: string }>();\r\n const history = useHistory();\r\n\r\n const bwic = useAppSelector(s => s.bidding.bwic);\r\n const bwicReferenceName = bwic.referenceName;\r\n\r\n useEffect(() => {\r\n if (!tab || tab !== BiddingTabs.participants) {\r\n history.replace(routes.biddingUrl(bwicReferenceName, BiddingTabs.participants))\r\n }\r\n }, [bwicReferenceName, tab, history])\r\n\r\n if (!bwic) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n
\r\n {tab === BiddingTabs.participants && }\r\n
\r\n )\r\n}\r\n\r\nexport const AdminBiddingView = memo(AdminBiddingViewComponent)\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport moment from 'moment';\r\nimport { constants, onBoardingTooltipConst } from '../../constants';\r\nimport { biddingActions as actions, onBoardingTooltipGotIt, onBoardingTooltipSetCountRequest } from '../../actions';\r\nimport { SellerView } from './seller';\r\nimport { OtherSellerView } from './otherSeller';\r\nimport { BrokerDealerView } from './brokerDealer';\r\nimport { Preloader } from '../common';\r\nimport { OpenBiddingExplanation } from \"./OpenBiddingExplanation\";\r\nimport { useRouteMatch } from \"react-router\";\r\nimport { user } from '../../user';\r\nimport { useCacheOnBoardingState } from '../../effects';\r\nimport { AdminBiddingView } from './admin/AdminBiddingView';\r\nimport { BwicProcessType } from '../../types/models/Process';\r\nimport { pushHistoryActions } from \"../../actions/entities/push-history.actions\";\r\nimport { BwicVisitorType } from '../../types/state/BiddingState';\r\n\r\nexport function BiddingView() {\r\n const routeMatch = useRouteMatch();\r\n const dispatch = useDispatch();\r\n const { bwic, visitorType, isLoading } = useSelector(state => state.bidding);\r\n const stateBoardingTooltip = useSelector((s) => s.onBoardingTooltip);\r\n const onBoardingKey = onBoardingTooltipConst.pages.bwicOpenBidding;\r\n const [showExplanation, setShowExplanation] = useState(false);\r\n\r\n useCacheOnBoardingState(1, stateBoardingTooltip);\r\n\r\n useEffect(() => {\r\n dispatch(actions.init(routeMatch.params.referenceName));\r\n return () => {\r\n dispatch(actions.reset());\r\n dispatch(pushHistoryActions.reset());\r\n };\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n useEffect(() => {\r\n const explanationStatus = user.getOnBoardingTooltipCounters().BwicOpenBidding;\r\n let showExplanation = explanationStatus !== onBoardingTooltipConst.maxCountLimit;\r\n if (stateBoardingTooltip && stateBoardingTooltip.pages[onBoardingKey]) {\r\n showExplanation = !stateBoardingTooltip.pages[onBoardingKey].gotIt\r\n }\r\n setShowExplanation(showExplanation); // eslint-disable-next-line\r\n }, [stateBoardingTooltip]);\r\n\r\n const saveDontShowExplanation = (dontShowExplanation) => {\r\n if (dontShowExplanation) {\r\n dispatch(onBoardingTooltipSetCountRequest([{\r\n page: onBoardingKey,\r\n count: onBoardingTooltipConst.maxCountLimit\r\n }]));\r\n dispatch(onBoardingTooltipGotIt(onBoardingKey, true))\r\n }\r\n };\r\n\r\n const handleCloneExplanation = () => setShowExplanation(false);\r\n\r\n const handleCloseOpenBiddingExplanation = (dontShowAgain) => {\r\n handleCloneExplanation();\r\n saveDontShowExplanation(dontShowAgain);\r\n };\r\n\r\n const renderBiddingViewByRole = () => {\r\n switch (visitorType) {\r\n case BwicVisitorType.Admin: return ;\r\n case BwicVisitorType.Seller: return ;\r\n case BwicVisitorType.OtherSeller: return ;\r\n case BwicVisitorType.BrokerDealer:\r\n case BwicVisitorType.Buyer:\r\n return ;\r\n default: return null;\r\n }\r\n };\r\n\r\n const getDocumentTitle = () => {\r\n const bidDueLocal =\r\n moment\r\n .utc(bwic.bidsDueUtc)\r\n .local()\r\n .format(constants.dateTimeFormat);\r\n switch (visitorType) {\r\n case BwicVisitorType.Seller:\r\n return `Sell: ${bwic.name} - KTX ATS Platform`;\r\n case BwicVisitorType.BrokerDealer:\r\n case BwicVisitorType.Buyer:\r\n return `Buy: ${bwic.name} - KTX ATS Platform`;\r\n default:\r\n return `${bidDueLocal} ${bwic.name} - KTX ATS Platform`;\r\n }\r\n }\r\n\r\n if (bwic) {\r\n document.title = getDocumentTitle();\r\n }\r\n return (\r\n \r\n {renderBiddingViewByRole()}\r\n {\r\n showExplanation && bwic?.process?.type === BwicProcessType.Live &&\r\n \r\n }\r\n \r\n );\r\n}\r\n","import moment from 'moment';\r\nimport { constants } from '../../../../constants/constants';\r\nimport { useAppSelector } from '../../../../effects/useAppSelector';\r\nimport { BidRequest, bidRequestText } from '../../../../types/bidding/BidRequest';\r\nimport { BwicStatus } from '../../../../types/enums/BwicStatus';\r\nimport { OpenBiddingStatus } from '../../../../types/enums/OpenBiddingStatus';\r\nimport { BwicProcessType, Process } from '../../../../types/models/Process';\r\nimport { PushHistoryStateItemType } from '../../../../types/state/PushHistoryState';\r\nimport dateTimeUtils from '../../../../utils/dateTime.utils';\r\nimport { AnimatedValueUpdate } from '../../../controls/AnimatedValueUpdate';\r\nimport { FeedbackLabel } from '../../common/feedback/FeedbackLabel';\r\n\r\nexport interface FeedbackCurrentBid {\r\n pass: boolean;\r\n stagedBiddingStatus?: OpenBiddingStatus;\r\n createdUtc?: Date;\r\n feedbackCreatedUtc?: Date;\r\n}\r\n\r\ninterface Props {\r\n bidsDueUtc: Date;\r\n feedback?: string;\r\n feedbackDate?: Date;\r\n bidRequest?: BidRequest;\r\n bwicStatus: BwicStatus;\r\n process: Process;\r\n currentBid?: FeedbackCurrentBid;\r\n positionId: number;\r\n bwicReferenceName: string;\r\n}\r\n\r\nconst newBidAnimationTimeInSeconds = 5;\r\n\r\nexport function BidFeedback({\r\n bidsDueUtc,\r\n feedback,\r\n feedbackDate,\r\n bidRequest,\r\n bwicStatus,\r\n currentBid,\r\n process,\r\n positionId,\r\n bwicReferenceName\r\n}: Props) {\r\n const hasBid = currentBid != null && !currentBid.pass;\r\n\r\n const pushNewBid = useAppSelector(state => state.pushHistory.history[PushHistoryStateItemType.NewBid]?.find(item => item.positionId === positionId));\r\n const pushFeedback = useAppSelector(state => state.pushHistory.history[PushHistoryStateItemType.Feedback]?.find(item => item.positionId === positionId));\r\n const pushBwicStatus = useAppSelector(state => state.pushHistory.history[PushHistoryStateItemType.BwicStatusChanged]?.find(item => item.bwicReferenceName === bwicReferenceName));\r\n const dates = [pushNewBid?.receivedDate, pushFeedback?.receivedDate, pushBwicStatus?.receivedDate].filter(d => d)\r\n const lastUpdateDate = dateTimeUtils.getMaxDate(dates);\r\n\r\n if (bwicStatus === BwicStatus.scheduled && hasBid) {\r\n if (process.type === BwicProcessType.BestFootForward || process.type === BwicProcessType.Live) {\r\n return ;\r\n }\r\n return ;\r\n }\r\n\r\n if (bwicStatus === BwicStatus.bidding &&\r\n hasBid &&\r\n !feedback && (\r\n // Hide `Waiting` on JB and BestFootForward in Stage 2\r\n process.type === BwicProcessType.Standard ||\r\n (process.type === BwicProcessType.BestFootForward && process.stagedBiddingStatus == null) || (\r\n (process.type === BwicProcessType.JumpBall || process.type === BwicProcessType.TopX) &&\r\n process.stagedBiddingStatus !== OpenBiddingStatus.improvementRoundEnded))) {\r\n return \r\n }\r\n\r\n if (feedback) {\r\n return \r\n } else if (bwicStatus === BwicStatus.bidding && bidRequest != null && currentBid == null) {\r\n const text = bidRequestText[bidRequest.bidRequestType];\r\n return \r\n }\r\n\r\n return ;\r\n}\r\n\r\ninterface AnimatedFeedbackProps {\r\n date?: Date;\r\n text: string;\r\n}\r\n\r\nfunction AnimatedFeedback({ date, text }: AnimatedFeedbackProps) {\r\n const diffSeconds = date\r\n ? moment().diff(moment(date), 'seconds')\r\n : newBidAnimationTimeInSeconds; // no animation if the date is not provided\r\n\r\n if (diffSeconds >= newBidAnimationTimeInSeconds) {\r\n return \r\n }\r\n return ;\r\n}\r\n\r\nfunction addStagePrefix(\r\n bidsDueUtc: Date,\r\n feedback: string,\r\n feedbackDate: Date | undefined,\r\n process: Process) {\r\n const stagePrefixVisible =\r\n process.type === BwicProcessType.JumpBall ||\r\n process.type === BwicProcessType.TopX;\r\n\r\n\r\n if (!stagePrefixVisible) return feedback;\r\n\r\n let stageText = \"Stage 1\";\r\n\r\n if (process.stagedBiddingStatus != null && feedbackDate) { // Stage 2 or later\r\n const settings = process.type === BwicProcessType.JumpBall\r\n ? process.jumpBall\r\n : process.topX;\r\n\r\n if (!settings) throw Error(\"Process settings\");\r\n\r\n const automaticStage1DeadlineMinutes = settings.automaticStage1Deadline\r\n ? dateTimeUtils.parseTimeSpan(settings.automaticStage1Deadline).totalMinutes\r\n : undefined;\r\n\r\n const stage1End = automaticStage1DeadlineMinutes\r\n ? moment.utc(bidsDueUtc).add(automaticStage1DeadlineMinutes, 'minutes')\r\n : settings.stage1EndDateUtc && moment.utc(settings.stage1EndDateUtc);\r\n\r\n if (stage1End && moment.utc(feedbackDate).isAfter(stage1End)) {\r\n stageText = \"Stage 2\";\r\n }\r\n }\r\n\r\n return `${stageText}: ${feedback}`;\r\n}","import React from 'react';\r\nimport { constants } from '../../../../constants/constants';\r\nimport { Bid } from '../../../../types/bidding/Bid';\r\nimport { BwicStatus } from '../../../../types/enums/BwicStatus';\r\nimport { OpenBiddingStatus } from '../../../../types/enums/OpenBiddingStatus';\r\nimport { BwicProcessType, Process } from '../../../../types/models/Process';\r\nimport { InfoTooltip } from '../../../common/InfoTooltip';\r\nimport { FeedbackLabel } from '../../common/feedback/FeedbackLabel';\r\n\r\ninterface CurrentBid {\r\n pass: boolean;\r\n stagedBiddingStatus?: OpenBiddingStatus;\r\n feedback?: string;\r\n}\r\n\r\nexport interface BiddingInfoProps {\r\n isColorDistribution: boolean;\r\n canBidOnStage2?: boolean;\r\n currentBid?: CurrentBid | Bid;\r\n bwicStatus?: BwicStatus;\r\n process: Process;\r\n expired?: boolean;\r\n}\r\n\r\ntype ApplicableFunc = () => boolean;\r\n\r\ntype BiddingInfoRule = {\r\n isApplicable: boolean | ApplicableFunc;\r\n content: () => React.ReactNode;\r\n}\r\n\r\nexport function BiddingInfo({\r\n isColorDistribution,\r\n canBidOnStage2 = false,\r\n currentBid,\r\n bwicStatus,\r\n expired = false,\r\n process,\r\n}: BiddingInfoProps) {\r\n const hasBid = currentBid != null && !currentBid.pass;\r\n\r\n const biddingFinished = () => ({\r\n isApplicable: bwicStatus === BwicStatus.finished,\r\n content: () => \r\n })\r\n\r\n const liveBiddingStage2TimeEnded = () => {\r\n const isApplicable =\r\n bwicStatus === BwicStatus.bidding &&\r\n process.type === BwicProcessType.Live && (\r\n process.stagedBiddingStatus === OpenBiddingStatus.improvementRoundEnded || (\r\n process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended &&\r\n expired\r\n )\r\n );\r\n\r\n const content = () => ;\r\n\r\n return { isApplicable, content };\r\n }\r\n\r\n const liveBiddingStage2OutOfTop = () => {\r\n const isApplicable =\r\n process.type === BwicProcessType.Live &&\r\n process.liveBidding != null &&\r\n process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended &&\r\n !canBidOnStage2 &&\r\n hasBid;\r\n\r\n const content = () =>\r\n \r\n\r\n return { isApplicable, content };\r\n }\r\n\r\n function liveBiddingNoStage1Bids() {\r\n const isApplicable =\r\n process.type === BwicProcessType.Live &&\r\n process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended &&\r\n !canBidOnStage2 &&\r\n !hasBid;\r\n\r\n const content = () => \r\n\r\n return { isApplicable, content };\r\n }\r\n\r\n function liveBiddingStage2StartedCanImprove() {\r\n const isApplicable = (\r\n process.type === BwicProcessType.Live &&\r\n process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended &&\r\n canBidOnStage2\r\n );\r\n\r\n const content = () => \r\n\r\n return { isApplicable, content };\r\n }\r\n\r\n function liveBiddingStage2Started() {\r\n const isApplicable = (\r\n process.type === BwicProcessType.Live &&\r\n process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended\r\n );\r\n\r\n const content = () => \r\n\r\n return { isApplicable, content };\r\n }\r\n\r\n function jumpBallTopXStage2OutOfTop() {\r\n const isApplicable =\r\n (process.type === BwicProcessType.JumpBall || process.type === BwicProcessType.TopX) &&\r\n process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended &&\r\n hasBid &&\r\n !canBidOnStage2 &&\r\n currentBid?.stagedBiddingStatus !== OpenBiddingStatus.stage1Ended;\r\n\r\n let improverCount = 0;\r\n if (process.type === BwicProcessType.JumpBall && process.jumpBall) {\r\n improverCount = process.jumpBall?.improverCount\r\n }\r\n if (process.type === BwicProcessType.TopX && process.topX) {\r\n improverCount = process.topX?.improverCount\r\n }\r\n\r\n const content = () => \r\n\r\n return { isApplicable, content }\r\n }\r\n\r\n function jumpBallTopXNoStage1BidsOnStage2() {\r\n const isApplicable =\r\n (process.type === BwicProcessType.JumpBall || process.type === BwicProcessType.TopX) &&\r\n process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended &&\r\n !hasBid;\r\n\r\n return { isApplicable, content: () => }\r\n }\r\n\r\n function jumpBallStage2Started() {\r\n const isApplicable =\r\n process.type === BwicProcessType.JumpBall &&\r\n bwicStatus === BwicStatus.bidding &&\r\n process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended &&\r\n canBidOnStage2 &&\r\n hasBid &&\r\n currentBid?.stagedBiddingStatus == null\r\n\r\n const content = () => ;\r\n\r\n return { isApplicable, content };\r\n }\r\n\r\n function topXStage2Started() {\r\n const isApplicable =\r\n process.type === BwicProcessType.TopX &&\r\n bwicStatus === BwicStatus.bidding &&\r\n process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended &&\r\n canBidOnStage2 &&\r\n hasBid &&\r\n currentBid?.stagedBiddingStatus == null\r\n\r\n const content = () => ;\r\n\r\n return { isApplicable, content };\r\n }\r\n\r\n function topXStage2ImprovedBid() {\r\n const isApplicable =\r\n process.type === BwicProcessType.TopX &&\r\n bwicStatus === BwicStatus.bidding &&\r\n process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended &&\r\n canBidOnStage2 &&\r\n hasBid &&\r\n currentBid?.stagedBiddingStatus === OpenBiddingStatus.stage1Ended;\r\n\r\n const content = () => ;\r\n\r\n return { isApplicable, content };\r\n }\r\n\r\n function jumpBallStage2BidAlreadySent() {\r\n const isApplicable =\r\n bwicStatus === BwicStatus.bidding &&\r\n process.type === BwicProcessType.JumpBall &&\r\n process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended &&\r\n hasBid &&\r\n currentBid?.stagedBiddingStatus === OpenBiddingStatus.stage1Ended;\r\n\r\n const content = () => \r\n\r\n return { isApplicable, content };\r\n }\r\n\r\n function jumpBallTopXBiddingCompleted() {\r\n const isApplicable =\r\n bwicStatus === BwicStatus.bidding &&\r\n (process.type === BwicProcessType.JumpBall || process.type === BwicProcessType.TopX) &&\r\n process.stagedBiddingStatus === OpenBiddingStatus.improvementRoundEnded && (\r\n !hasBid || !canBidOnStage2\r\n )\r\n const content = () => ;\r\n\r\n return { isApplicable, content };\r\n }\r\n\r\n function jumpBallTopXBiddingCompletedHasBids() {\r\n return {\r\n isApplicable:\r\n bwicStatus === BwicStatus.bidding &&\r\n (process.type === BwicProcessType.JumpBall || process.type === BwicProcessType.TopX) &&\r\n process.stagedBiddingStatus === OpenBiddingStatus.improvementRoundEnded &&\r\n canBidOnStage2 &&\r\n hasBid &&\r\n Boolean(currentBid?.feedback),\r\n content: () => \r\n }\r\n }\r\n\r\n function bestFFBiddingEndedHasBids() {\r\n return {\r\n isApplicable:\r\n process.type === BwicProcessType.BestFootForward &&\r\n bwicStatus === BwicStatus.bidding &&\r\n process.stagedBiddingStatus != null &&\r\n hasBid &&\r\n Boolean(currentBid?.feedback),\r\n content: () => \r\n };\r\n }\r\n\r\n function bestFFBiddingEndedNoBids() {\r\n return {\r\n isApplicable:\r\n process.type === BwicProcessType.BestFootForward &&\r\n bwicStatus === BwicStatus.bidding &&\r\n process.stagedBiddingStatus != null &&\r\n !hasBid,\r\n content: () => \r\n };\r\n }\r\n\r\n function stage1Started() {\r\n return {\r\n isApplicable: bwicStatus === BwicStatus.bidding && process.stagedBiddingStatus == null,\r\n content: () => \r\n };\r\n }\r\n\r\n const feedbackRules: BiddingInfoRule[] = [\r\n biddingFinished(),\r\n { isApplicable: isColorDistribution && bwicStatus === BwicStatus.bidding, content: () => },\r\n liveBiddingStage2TimeEnded(),\r\n liveBiddingStage2OutOfTop(),\r\n liveBiddingNoStage1Bids(),\r\n liveBiddingStage2StartedCanImprove(),\r\n liveBiddingStage2Started(),\r\n jumpBallTopXStage2OutOfTop(),\r\n jumpBallTopXNoStage1BidsOnStage2(),\r\n jumpBallStage2BidAlreadySent(),\r\n jumpBallStage2Started(),\r\n topXStage2Started(),\r\n topXStage2ImprovedBid(),\r\n jumpBallTopXBiddingCompleted(),\r\n jumpBallTopXBiddingCompletedHasBids(),\r\n stage1Started(),\r\n bestFFBiddingEndedHasBids(),\r\n bestFFBiddingEndedNoBids(),\r\n { isApplicable: true, content: () => }\r\n ];\r\n\r\n const rule = feedbackRules.find(r => typeof r.isApplicable === 'function' ? r.isApplicable() : r.isApplicable);\r\n\r\n return (rule?.content() ?? null) as React.ReactElement;\r\n}\r\n\r\nfunction BiddingCompleted() {\r\n return ;\r\n}\r\n\r\nfunction Stage1Started({ processType }: { processType: BwicProcessType }) {\r\n let text;\r\n let tooltip;\r\n\r\n switch (processType) {\r\n case BwicProcessType.TopX:\r\n case BwicProcessType.JumpBall:\r\n case BwicProcessType.Live:\r\n text = \"Stage 1 started\";\r\n tooltip = \"BWIC is opened, initial bid placement started\";\r\n break;\r\n default:\r\n text = \"Bidding started\";\r\n tooltip = \"Bidding is started. Please submit your bid\";\r\n }\r\n\r\n return ;\r\n}\r\n\r\ninterface Stage2OutOfTopProps {\r\n improverCountText: string;\r\n}\r\n\r\nfunction Stage2OutOfTop({ improverCountText }: Stage2OutOfTopProps) {\r\n return ;\r\n}\r\n\r\nfunction NoStage1Bids() {\r\n return ;\r\n}\r\n\r\ninterface ContentProps {\r\n text: string;\r\n tooltip?: string;\r\n}\r\nfunction Content({ text, tooltip }: ContentProps) {\r\n return (\r\n
\r\n \r\n {\r\n tooltip &&\r\n \r\n }\r\n
\r\n );\r\n}\r\n","import * as React from 'react'\r\n\r\ninterface Props {\r\n isTradedAway?: boolean;\r\n isTraded?: boolean;\r\n isSubmitting: boolean;\r\n isFailed: boolean;\r\n isColorDistribution?: boolean;\r\n isOpenBiddingEnded?: boolean;\r\n hasStageTransitionConflict?: boolean;\r\n isBidOverThemself: boolean;\r\n hasConflict: boolean;\r\n isValidationError: boolean;\r\n onClick: () => void;\r\n}\r\n\r\nexport function ReSubmitButton({\r\n isTradedAway,\r\n isTraded,\r\n isSubmitting,\r\n isFailed,\r\n isOpenBiddingEnded = false,\r\n isColorDistribution,\r\n hasStageTransitionConflict = false,\r\n isBidOverThemself,\r\n hasConflict,\r\n isValidationError,\r\n onClick }: Props) {\r\n if (\r\n isSubmitting ||\r\n isColorDistribution ||\r\n isOpenBiddingEnded ||\r\n isTradedAway ||\r\n isTraded ||\r\n isValidationError ||\r\n !isFailed ||\r\n hasStageTransitionConflict) {\r\n return null;\r\n }\r\n\r\n const text = hasConflict || isBidOverThemself ? 'Confirm' : 'Retry';\r\n\r\n return (\r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { errorMessages } from '../../../../constants/error.messages';\r\nimport { BidConflict } from '../../../../types/bidding/BidConflict';\r\nimport { OpenBiddingStatus } from '../../../../types/enums/OpenBiddingStatus';\r\nimport { OnHoverTooltip } from \"../../../common/OnHoverTooltip\";\r\nimport { isActiveTrade } from '../../../../types/trades/TradeStatus';\r\nimport { NotificationBody } from '../../../notifications/NotificationBody';\r\nimport { moneyUtils } from '../../../../utils';\r\nimport { formatUtils } from '../../../../utils/format.utils';\r\nimport { Trade } from '../../../../types/trades/Trade';\r\nimport { BwicProcessType, Process } from '../../../../types/models/Process';\r\n\r\ninterface Props {\r\n isSubmitting: boolean;\r\n isSuccess: boolean;\r\n isFailed: boolean;\r\n isPass: boolean;\r\n trade?: Trade;\r\n isTradedAway: boolean;\r\n ticker: string;\r\n conflict?: BidConflict;\r\n stageTransitionConflict?: {\r\n stagedBiddingStatus?: OpenBiddingStatus;\r\n canBidOnStage2?: boolean;\r\n hasBestLevelOnPosition?: boolean;\r\n };\r\n isColorDistribution?: boolean;\r\n validationError?: { title?: string, error?: string };\r\n isBidOverThemself: boolean;\r\n isLoggedOut: boolean;\r\n process: Process;\r\n liveBiddingStage2Expired?: boolean;\r\n}\r\n\r\nexport function SubmitStatus({\r\n isSubmitting,\r\n isSuccess,\r\n isFailed,\r\n isPass,\r\n trade,\r\n isTradedAway,\r\n ticker,\r\n conflict,\r\n stageTransitionConflict,\r\n isColorDistribution,\r\n validationError,\r\n isBidOverThemself,\r\n isLoggedOut,\r\n process,\r\n liveBiddingStage2Expired\r\n}: Props) {\r\n const renderFailed = () => {\r\n let title: string = 'Error';\r\n let tooltip: React.ReactNode = errorMessages.unexpectedError;\r\n\r\n if (isLoggedOut) {\r\n title = \"Failed to save bid\";\r\n tooltip = \"An error occurred while submitting the bid. Please refresh the page and try again.\";\r\n } else if (isColorDistribution) {\r\n title = \"Bidding has been paused\";\r\n tooltip = \"BWIC suspended. Seller is distributing the color.\";\r\n } else if (isPass && conflict != null) {\r\n title = \"Bid submitted, you cannot pass\";\r\n tooltip = `You can't pass, because initial bid for security ${ticker} has already been submitted`;\r\n } else if (conflict != null) {\r\n title = \"Bid has been submitted earlier\";\r\n tooltip = (\r\n <>\r\n The bid was submitted by earlier:
\r\n {ticker} {moneyUtils.money(conflict.size)} @ {formatUtils.formatBid(conflict.level)} (submitted by {conflict.bidderName})
\r\n Please confirm your bid.\r\n \r\n );\r\n } else if (process.type === BwicProcessType.Live && stageTransitionConflict?.stagedBiddingStatus === OpenBiddingStatus.stage1Ended && liveBiddingStage2Expired) {\r\n title = \"Bidding period has ended\";\r\n tooltip = \"Bidding is completed. No bids are accepted.\";\r\n } else if (stageTransitionConflict?.stagedBiddingStatus === OpenBiddingStatus.stage1Ended) {\r\n title = process.type === BwicProcessType.BestFootForward ? \"Bidding is over\" : \"Stage 1 has ended\";\r\n tooltip = process.type === BwicProcessType.BestFootForward\r\n ? \"You cannot confirm the bid because the bidding period is over.\"\r\n : \"The bid cannot be accepted according to Stage 2 rules.\";\r\n } else if (\r\n stageTransitionConflict?.stagedBiddingStatus === OpenBiddingStatus.improvementRoundEnded ||\r\n process.stagedBiddingStatus === OpenBiddingStatus.improvementRoundEnded\r\n ) {\r\n title = \"Stage 2 has ended\";\r\n tooltip = \"Bidding is completed. Bid is not accepted.\"\r\n } else if (isBidOverThemself) {\r\n title = \"Bidding over yourself\";\r\n\r\n const isJumpBallStage2 =\r\n process.type === BwicProcessType.JumpBall &&\r\n process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended\r\n\r\n tooltip = isJumpBallStage2\r\n ? \"You were Best in Stage 1. Please confirm your bid.\"\r\n : \"You are bidding over yourself. Please confirm.\";\r\n } else if (isActiveTrade(trade)) {\r\n title = \"Security has already traded to you\";\r\n tooltip = `${ticker} cannot be traded. It is likely that this security was already traded to you.`;\r\n } else if (isTradedAway) {\r\n title = \"Security has traded away\";\r\n tooltip = `${ticker} cannot be traded. It is likely that this security was already traded away.`;\r\n } else if (validationError != null) {\r\n title = validationError.title || 'Error';\r\n tooltip = validationError.error ? : errorMessages.unexpectedError;\r\n }\r\n\r\n return (\r\n
\r\n \r\n {title}\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n if (isSubmitting) {\r\n return
Submitting bid...
;\r\n }\r\n\r\n if (isSuccess) {\r\n return (\r\n \r\n Bid saved\r\n \r\n )\r\n }\r\n\r\n if (isFailed) {\r\n return renderFailed();\r\n }\r\n\r\n return null;\r\n}\r\n","import { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { bwicStatuses } from '../../../constants';\r\nimport { brokerDealerBiddingActions as actions } from '../../../actions';\r\nimport { Scheduled, Bidding, Cancelled, Finished } from '.';\r\nimport { AppState } from '../../../types/state/AppState';\r\n\r\nexport const BrokerDealerView = () => {\r\n const bwic = useSelector((s: AppState) => s.bidding.bwic);\r\n const activePositionId: number | undefined = useSelector((s: AppState) =>\r\n (s.bwicHistory.visible ? s.bwicHistory.positionId : undefined) ||\r\n (s.securityDetails.security ? s.securityDetails.security.id : undefined) ||\r\n (s.bwicLog.security ? s.bwicLog.security.id : undefined) ||\r\n (s.rules.show ? s.rules.positionId : undefined) ||\r\n (s.pxTalkList.visible ? s.pxTalkList.positionId : undefined)\r\n )\r\n\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => () => {\r\n dispatch(actions.reset())\r\n }, [dispatch])\r\n\r\n switch (bwic.status) {\r\n case bwicStatuses.scheduled.key:\r\n return bwic.isAllToAll\r\n ? \r\n : ;\r\n case bwicStatuses.bidding.key:\r\n return ;\r\n case bwicStatuses.cancelled.key:\r\n return ;\r\n case bwicStatuses.finished.key:\r\n return ;\r\n default: return null;\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { brokerDealerAccessState } from '../../../../constants/bidding';\r\nimport { brokerDealerBiddingActions as actions } from '../../../../actions';\r\nimport { RequestInvitationDialog } from '.';\r\n\r\nclass RequestInvitationPanel extends Component {\r\n state = {\r\n requestInviteDisalogVisible: false\r\n }\r\n\r\n handleRequestInviteDialog = () => this.setInviteDialogVisibility(true);\r\n\r\n handleRequestInviteDialogClose = () => this.setInviteDialogVisibility(false);\r\n\r\n handleInvitationSend = comment => {\r\n this.setInviteDialogVisibility(false);\r\n this.props.dispatch(actions.sendInviteRequest(comment));\r\n }\r\n\r\n setInviteDialogVisibility = visible => this.setState({ requestInviteDisalogVisible: visible });\r\n\r\n renderNotInvited = () => {\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n \r\n You need an invite from the seller\r\n
\r\n
\r\n
\r\n {\r\n this.state.requestInviteDisalogVisible &&\r\n \r\n }\r\n \r\n );\r\n }\r\n\r\n renderAccessRequested = () => {\r\n return (\r\n
\r\n
\r\n The invite request has been sent\r\n You will be able to bid once approved\r\n
\r\n
\r\n );\r\n }\r\n\r\n render = () => {\r\n switch (this.props.accessState) {\r\n case brokerDealerAccessState.notInvited: return this.renderNotInvited();\r\n case brokerDealerAccessState.accessRequested: return this.renderAccessRequested();\r\n default: return null;\r\n }\r\n }\r\n}\r\n\r\nconst mapStateToProps = ({ bidding, brokerDealerBidding }) => ({\r\n bwic: bidding.bwic,\r\n accessState: brokerDealerBidding.accessState\r\n});\r\n\r\nconst connectedRequestInvitationPanel = connect(mapStateToProps)(RequestInvitationPanel);\r\nexport { connectedRequestInvitationPanel as RequestInvitationPanel }; \r\n","import React, { Component } from 'react';\r\nimport { Popup } from '../../../controls';\r\nimport { Form } from '../../../forms';\r\n\r\nexport default class RequestInvitationDialog extends Component {\r\n state = {\r\n comment: ''\r\n }\r\n\r\n handleSubmit = () => this.props.onSend(this.state.comment);\r\n\r\n render = () => {\r\n return (\r\n \r\n
\r\n
\r\n \r\n
\r\n this.setState({ comment: e.target.value })}\r\n />\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 { useSelector } from 'react-redux';\r\nimport classNames from 'classnames';\r\nimport { TopPanel, ActionBar, ExportButton } from '../common';\r\nimport { RequestInvitationPanel } from './invitation';\r\nimport { BwicCreator } from '.';\r\nimport { brokerDealerAccessState } from '../../../constants/bidding';\r\nimport { Table } from '../common/table';\r\nimport { brokerDealerScheduledColumns } from '../common/table/columns';\r\nimport { ControlPanel } from '../common/ControlPanel';\r\nimport { user } from '../../../user';\r\nimport { CompanyDetailsPanel } from '../../company-details/CompanyDetailsPanel';\r\nimport { RequestSettlementAgentAgreementBanner } from '../../request-settlement-agent-agreement/RequestSettlementAgentAgreementBanner';\r\nimport { AppState } from '../../../types/state/AppState';\r\nimport { BwicPosition } from '../../../types/bwic/BwicPosition';\r\nimport { roles } from '../../../constants';\r\n\r\ninterface ScheduledProps {\r\n activePositionId?: number;\r\n}\r\n\r\nexport const Scheduled = ({ activePositionId }: ScheduledProps) => {\r\n const bwic = useSelector((s: AppState) => s.bidding.bwic);\r\n const securities = useSelector((s: AppState) => s.brokerDealerBidding.securities);\r\n const accessState = useSelector((s: AppState) => s.brokerDealerBidding.accessState);\r\n\r\n const createSecurityCustomClassName = (security: BwicPosition) => {\r\n return classNames({\r\n active: security.id === activePositionId\r\n });\r\n }\r\n\r\n if (!securities) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n {bwic.seller && }\r\n \r\n
\r\n {!bwic.isParsed && }\r\n \r\n {accessState === brokerDealerAccessState.approved && }\r\n \r\n\r\n
\r\n
\r\n {bwic.isAllToAll && }\r\n
\r\n ({ bwic })}\r\n />\r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n","import { useSelector } from \"react-redux\";\r\nimport { keys } from 'lodash';\r\nimport { brokerDealerBiddingActions } from '../../../../actions/brokerDealer.bidding.actions';\r\nimport { ShowFor } from '../../../access';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { DirectBiddingDisclaimerActionBlocker } from '../../../direct-bidding-agreement-disclaimer/DirectBiddingDisclaimerActionBlocker';\r\nimport { FeatureButton } from '../../../access/FeatureButton';\r\nimport { roles } from '../../../../constants/roles';\r\nimport { useAppDispatch } from \"../../../../effects/useAppDispatch\";\r\n\r\ninterface BidAllProps {\r\n title?: string;\r\n showCount: boolean;\r\n}\r\n\r\nexport function BidAll({ title = 'Bid All', showCount }: BidAllProps) {\r\n const dispatch = useAppDispatch();\r\n const count = useSelector((s: AppState) =>\r\n keys(s.brokerDealerBidding.editBid).filter(key => s.brokerDealerBidding.editBid[+key].canSubmit).length\r\n );\r\n const hasErrors = useSelector((s: AppState) =>\r\n keys(s.brokerDealerBidding.editBid).some(key => \r\n s.brokerDealerBidding.editBid[+key].errors?.bid ||\r\n s.brokerDealerBidding.editBid[+key].commissionError\r\n )\r\n );\r\n\r\n const handleBidAll = () => dispatch(brokerDealerBiddingActions.bidAll());\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n {title}{showCount && !!count && ` (${count})`}\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n","import { useSelector } from 'react-redux';\r\nimport { RequestState } from '../../../../constants/request-state';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { isRequesting } from '../../../../utils/request-state.utils';\r\n\r\nexport function usePositionSubmitResult(positionId: number) {\r\n const submitInProgress = useSelector((s: AppState) => s.brokerDealerBidding.submitBidsConfirmation.submitInProgress);\r\n const submitInProgressPositionId = useSelector((s: AppState) => s.brokerDealerBidding.submitBidsConfirmation.submitInProgressPositionId);\r\n const submitResult = useSelector((s: AppState) =>\r\n s.brokerDealerBidding.submitBidsConfirmation.submitResult[positionId]) ?? { requestState: RequestState.none };\r\n\r\n const isSubmitting = isRequesting(submitResult.requestState) || (\r\n submitInProgress &&\r\n (submitInProgressPositionId == null || submitInProgressPositionId === positionId)\r\n );\r\n\r\n return { isSubmitting, submitResult };\r\n}\r\n","import * as React from 'react'\r\nimport { isRequestSuccess, isRequestFailed } from '../../../../utils/request-state.utils';\r\nimport { SubmitStatus } from './SubmitStatus';\r\nimport { isActiveTrade } from '../../../../types/trades/TradeStatus';\r\nimport { usePositionSubmitResult } from './usePositionSubmitResult';\r\nimport { BwicPosition } from '../../../../types/bwic/BwicPosition';\r\nimport { useAppSelector } from '../../../../effects/useAppSelector';\r\nimport { liveBiddingUtils } from '../../../../utils/live-bidding.utils';\r\n\r\ninterface Props {\r\n position: BwicPosition;\r\n isColorDistribution: boolean;\r\n isOpenBiddingEnded: boolean;\r\n isPass: boolean\r\n}\r\n\r\nexport function SubmitBidStatus({ position, isColorDistribution, isOpenBiddingEnded, isPass }: Props) {\r\n const { isSubmitting, submitResult } = usePositionSubmitResult(position.id);\r\n const process = useAppSelector(s => s.bidding.bwic?.process);\r\n const bidsDueDateUtc = useAppSelector(s => s.bidding.bwic?.bidsDueDateUtc || s.bidding.bwic?.bidsDueUtc);\r\n const liveBiddingStage2Expired = liveBiddingUtils.checkLiveBiddingStage2Expired(process, bidsDueDateUtc, position.latestBidSubmission);\r\n\r\n if (process == null) return null;\r\n\r\n return (\r\n \r\n );\r\n}\r\n","import * as React from 'react'\r\nimport { BidConfirmationState } from '../../../../types/state/BrokerDealerBiddingState';\r\nimport { useDispatch } from 'react-redux';\r\nimport { isRequestFailed } from '../../../../utils/request-state.utils';\r\nimport { brokerDealerBiddingActions } from '../../../../actions';\r\nimport { ReSubmitButton } from './ReSubmitButton';\r\nimport { usePositionSubmitResult } from './usePositionSubmitResult';\r\nimport { BwicPosition } from '../../../../types/bwic/BwicPosition';\r\n\r\ninterface Props {\r\n position: BwicPosition;\r\n bid: BidConfirmationState;\r\n isColorDistribution: boolean;\r\n isOpenBiddingEnded: boolean;\r\n}\r\n\r\nexport function ReSubmitBidButton({ position, bid, isOpenBiddingEnded, isColorDistribution }: Props) {\r\n const dispatch = useDispatch();\r\n const { isSubmitting, submitResult } = usePositionSubmitResult(position.id);\r\n\r\n return (\r\n dispatch(brokerDealerBiddingActions.submitBids(position.id, { [position.id]: bid }))}\r\n />\r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport cn from 'classnames';\r\nimport { brokerDealerBiddingActions } from '../../../../actions';\r\nimport { Rating } from '../../../../types/enums/Rating';\r\nimport { Popup, PopupBody, PopupFooter } from '../../../controls';\r\nimport { Pluralize } from \"../../../common\";\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { apiUtils, biddingUtils, formatUtils, moneyUtils } from '../../../../utils';\r\nimport { BidLevelDelta } from '../../../common/bidding/BidLevelDelta';\r\nimport { ApiOperationType } from '../../../../types/api-operation/ApiOperationType';\r\nimport { RequestState } from '../../../../constants/request-state';\r\nimport { BidsConfirmationState } from '../../../../types/state/BrokerDealerBiddingState';\r\nimport { useAgreement } from '../../../seller-buyside/useAgreement';\r\nimport { IColumnDefinition } from '../../common/table/types/ColumnDefinition';\r\nimport { ColumnBuilder } from '../../common/table/columns/column-builder/ColumnBuilder';\r\nimport { Table } from '../../common/table';\r\nimport { SubmitBidStatus } from './SubmitBidStatus';\r\nimport { ReSubmitBidButton } from './ReSubmitBidButton';\r\nimport { keys } from 'lodash';\r\nimport { isActiveTrade } from '../../../../types/trades/TradeStatus';\r\nimport { BwicPosition } from '../../../../types/bwic/BwicPosition';\r\nimport { bidConfirmationActions } from '../../../../actions/bid-confirmation.actions';\r\nimport { StatusMessageSectionType } from \"../../../../types/state/NotificationState\";\r\nimport { StatusMessageSection } from \"../../../status-message/StatusMessageSection\";\r\nimport { OpenBiddingStatus } from '../../../../types/enums/OpenBiddingStatus';\r\nimport { BwicProcessType } from '../../../../types/models/Process';\r\nimport { ListBuilder } from '../../../../utils/ListBuilder';\r\nimport { constants } from '../../../../constants/constants';\r\nimport { AxedIcon } from '../../common/AxedIcon';\r\nimport { FinalIcon } from '../../common/FinalIcon';\r\nimport { InfoTooltip } from '../../../common/InfoTooltip';\r\n\r\nexport function ConfirmBidsPopup() {\r\n const visible = useSelector((s: AppState) => s.brokerDealerBidding.submitBidsConfirmation.submitBidsConfirmationVisible);\r\n const securityToConfirmLength = useSelector((s: AppState) => s.brokerDealerBidding.submitBidsConfirmation.securities?.length);\r\n\r\n return visible && securityToConfirmLength ? : null;\r\n}\r\n\r\nfunction ConfirmBidsPopupContent() {\r\n const dispatch = useDispatch();\r\n\r\n const [bids, setBids] = React.useState({});\r\n const [confirmPressed, setConfirmPressed] = React.useState(false);\r\n\r\n const bwic = useSelector((s: AppState) => s.bidding.bwic);\r\n const allSecurities = useSelector((s: AppState) => s.brokerDealerBidding.securities);\r\n const confirmingSecurities = useSelector((s: AppState) => s.brokerDealerBidding.submitBidsConfirmation.securities);\r\n const securities = allSecurities.filter(s => confirmingSecurities?.some(id => s.id === id));\r\n const submitInProgress = useSelector((s: AppState) => s.brokerDealerBidding.submitBidsConfirmation.submitInProgress);\r\n const hasPendingApiOperations = useSelector((s: AppState) =>\r\n s.apiOperation.requests.some(r =>\r\n r.state === RequestState.request && (\r\n r.event === ApiOperationType.SubmitBidRequest || // all to all bids\r\n r.event === ApiOperationType.SubmitAxedFinal ||\r\n r.event === ApiOperationType.SubmitBid)\r\n )\r\n );\r\n const editBidState = useSelector((s: AppState) => s.brokerDealerBidding.editBid);\r\n const submitResults = useSelector((s: AppState) => !submitInProgress && !hasPendingApiOperations\r\n ? s.brokerDealerBidding.submitBidsConfirmation.submitResult\r\n : undefined\r\n );\r\n const { agreement } = useAgreement();\r\n\r\n React.useEffect(() => {\r\n if (!keys(bids).length && securities.length) {\r\n const positionBids = apiUtils.normalize(\r\n securities,\r\n position => position.id,\r\n position => ({\r\n bid: editBidState[position.id],\r\n currentBid: biddingUtils.getCurrentBid(position.bids)\r\n })\r\n );\r\n setBids(positionBids);\r\n }\r\n }, [bids, securities, editBidState]);\r\n\r\n if (!keys(bids).length) return null;\r\n\r\n const allPositionsTraded = !securities.some(s => !isActiveTrade(s.trade) && !s.isTradedAway);\r\n const isSubmitting = submitInProgress || hasPendingApiOperations;\r\n const isOpenBidingEnded =\r\n bwic.process.type === BwicProcessType.Live &&\r\n bwic.process.stagedBiddingStatus === OpenBiddingStatus.improvementRoundEnded;\r\n\r\n const getTitle = () => <> Confirmation\r\n\r\n const handleSubmit = () => {\r\n setConfirmPressed(true);\r\n dispatch(brokerDealerBiddingActions.submitBids(undefined, bids));\r\n }\r\n\r\n const handleClose = () => {\r\n if (!isSubmitting) {\r\n dispatch(bidConfirmationActions.reset());\r\n }\r\n }\r\n\r\n const renderGeneralNotification = () => {\r\n return (\r\n \r\n A bid cannot be revoked or decreased;
\r\n Bid or latest bid must remain executable for 30 minutes beyond the end of the bidding window.\r\n
Seller will be notified if a bidder is bidding over themselves, but the KTX ATS platform does not enforce trading at the prior level.
\r\n
\r\n );\r\n }\r\n\r\n const getColumns = () => {\r\n const isipCusip: IColumnDefinition = {\r\n columnKey: 'isinCusip',\r\n renderColumnHeaderContent: () => 'ISIN/CUSIP',\r\n renderColumnContent: position => position.isinCusip,\r\n className: 'data-list-cell-sm'\r\n };\r\n const ticker: IColumnDefinition = {\r\n columnKey: 'ticker',\r\n renderColumnHeaderContent: () => 'Ticker',\r\n renderColumnContent: position => position.ticker,\r\n className: 'data-list-cell-lg'\r\n };\r\n const bidSize: IColumnDefinition = {\r\n columnKey: 'bid-size',\r\n renderColumnHeaderContent: () => 'Bid Size',\r\n renderColumnContent: position => moneyUtils.money(position.size),\r\n className: 'text-right'\r\n };\r\n const bid: IColumnDefinition = {\r\n columnKey: 'bid',\r\n renderColumnHeaderContent: () => 'Bid',\r\n renderColumnContent: position => renderBid(position),\r\n className: 'data-list-cell-lg cell-bid-level'\r\n };\r\n const axed: IColumnDefinition = {\r\n columnKey: 'axed',\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: position => (\r\n <>\r\n {\r\n Boolean(bids[position.id]?.bid.axed ?? bids[position.id]?.currentBid?.axed) &&\r\n \r\n }\r\n \r\n ),\r\n className: 'data-list-cell-xxxs padding-l-0 text-center'\r\n };\r\n const final: IColumnDefinition = {\r\n columnKey: 'final',\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: position => (\r\n <>\r\n {\r\n Boolean(bids[position.id]?.bid.final ?? bids[position.id]?.currentBid?.final) &&\r\n \r\n }\r\n \r\n ),\r\n className: 'data-list-cell-xxxs padding-l-0 text-center'\r\n };\r\n const commission: IColumnDefinition = {\r\n columnKey: 'commission',\r\n renderColumnContent: position =>\r\n ,\r\n renderColumnHeaderContent: () => 'Comm, %',\r\n className: 'data-list-cell-xs text-right'\r\n };\r\n const total: IColumnDefinition = {\r\n columnKey: 'total',\r\n renderColumnContent: renderTotal,\r\n renderColumnHeaderContent: () => <>Final Bid,\r\n headerClassName: 'text-right',\r\n bodyClassName: 'text-right text-bold'\r\n };\r\n const submitStatus: IColumnDefinition = {\r\n columnKey: 'submit-status',\r\n renderColumnHeaderContent: () => 'Status',\r\n renderColumnContent: position =>\r\n ,\r\n className: 'data-list-cell-xl cell-submit-status'\r\n };\r\n const actionButton: IColumnDefinition = {\r\n columnKey: 'action-button',\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: position =>\r\n ,\r\n className: 'data-list-cell-sm text-right'\r\n };\r\n\r\n const columns = new ListBuilder>()\r\n .add(isipCusip, ticker, bidSize, bid)\r\n .addWhen(() => bwic.isAllToAll, commission, total)\r\n .add(axed, final, submitStatus, actionButton)\r\n .result()\r\n\r\n return columns.map(c => new ColumnBuilder(c));\r\n }\r\n\r\n const renderBid = (position: BwicPosition) => {\r\n const { bid, currentBid } = bids[position.id];\r\n\r\n if (bid.pass) {\r\n return 'Pass';\r\n }\r\n\r\n if (bid.value) {\r\n return ;\r\n }\r\n\r\n return formatUtils.formatBid(currentBid?.value)\r\n }\r\n\r\n const renderTotal = (position: BwicPosition) => {\r\n const { bid, currentBid } = bids[position.id];\r\n const bidLevel = bid?.value ?? currentBid?.value;\r\n const commisson = \r\n bid.commission || \r\n currentBid?.commission || \r\n agreement?.commissions[position.rating];\r\n\r\n return formatUtils.formatBid(Number(bidLevel) + Number(commisson));\r\n }\r\n\r\n const renderBody = () => {\r\n return (\r\n <>\r\n {renderGeneralNotification()}\r\n cn({\r\n 'tradedaway':\r\n bwic.isColorDistribution ||\r\n position.isTradedAway ||\r\n position.trade || (\r\n submitResults && (\r\n submitResults[position.id]?.validationError ||\r\n submitResults[position.id]?.stageTransitionConflict\r\n )\r\n )\r\n })\r\n }\r\n />\r\n \r\n );\r\n }\r\n\r\n const renderButtons = () => {\r\n if (confirmPressed || bwic.isColorDistribution || allPositionsTraded) {\r\n return \r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n Confirm\r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {renderBody()}\r\n {renderButtons()}\r\n \r\n );\r\n}\r\n\r\ninterface CommissionProps {\r\n editingCommission?: string;\r\n currentBidCommission?: number;\r\n rating: Rating;\r\n}\r\n\r\nfunction Commission({ editingCommission, currentBidCommission, rating }: CommissionProps) {\r\n const { agreement } = useAgreement();\r\n const commission = editingCommission ?? currentBidCommission ?? agreement?.commissions[rating];\r\n\r\n if (!commission) return null;\r\n\r\n return <>{Number(commission).toFixed(constants.commissionDecimalPlaces)};\r\n}\r\n","import { useSelector } from 'react-redux';\r\nimport { RouteLeavingGuard } from '../../routing';\r\nimport { brokerDealerAccessState } from '../../../constants/bidding';\r\nimport { AppState } from '../../../types/state/AppState';\r\nimport { keys } from 'lodash';\r\nimport { useHistory } from 'react-router';\r\n\r\ninterface Props {\r\n accessState: number;\r\n}\r\n\r\nexport function BrokerDealerBiddingRouteLeaveGuard({ accessState }: Props) {\r\n const history = useHistory();\r\n\r\n const canSubmit = useSelector((s: AppState) =>\r\n keys(s.brokerDealerBidding.editBid).some(key => s.brokerDealerBidding.editBid[+key].canSubmit)\r\n );\r\n\r\n const handleBlockNavigation = () => accessState === brokerDealerAccessState.approved && canSubmit;\r\n\r\n return (\r\n history.push(pathname)}\r\n shouldBlockNavigation={handleBlockNavigation}\r\n />\r\n );\r\n}\r\n","import classNames from \"classnames\";\r\nimport { brokerDealerAccessState } from \"../../../constants/bidding\";\r\nimport { SettlementAgreementStatus } from \"../../../types/bid-as-dealer/SettlementAgreementStatus\";\r\nimport { BwicProcessType } from \"../../../types/models/Process\";\r\nimport { user } from \"../../../user\";\r\nimport { useAgreement } from \"../../seller-buyside/useAgreement\";\r\nimport { Table } from \"../common/table\";\r\nimport { brokerDealerBiddingColumns } from \"../common/table/columns\";\r\nimport { TradeStatus } from \"../../../types/trades/TradeStatus\";\r\nimport { OpenBiddingStatus } from \"../../../types/enums/OpenBiddingStatus\";\r\nimport { biddingUtils } from \"../../../utils\";\r\nimport { liveBiddingUtils } from \"../../../utils/live-bidding.utils\";\r\nimport { jumpBallUtils } from \"../../../utils/jump-ball.utils\";\r\nimport { topXUtils } from \"../../../utils/top-x.utils\";\r\nimport moment from \"moment\";\r\nimport { BrokerDealerAccessState } from \"../../../types/state/BrokerDealerBiddingState\";\r\nimport { BwicPosition } from \"../../../types/bwic/BwicPosition\";\r\nimport { Bwic } from \"../../../types/bwic/Bwic\";\r\nimport { roles } from \"../../../constants/roles\";\r\n\r\ninterface BiddingTableProps {\r\n bwic: Bwic;\r\n securities: BwicPosition[];\r\n accessState: BrokerDealerAccessState;\r\n activePositionId?: number;\r\n}\r\n\r\nexport const BiddingTable = ({ bwic, securities, accessState, activePositionId }: BiddingTableProps) => {\r\n const { agreement } = useAgreement();\r\n const isAllToAllAgreementSigned = agreement?.agreementStatus === SettlementAgreementStatus.confirmed;\r\n const canSubmitBid = accessState === brokerDealerAccessState.approved && user.hasRoles(roles.BrokerDealerTrader);\r\n\r\n const isProcessEnabled = (security: BwicPosition) => {\r\n const currentBid = biddingUtils.getCurrentBid(security.bids);\r\n switch (bwic.process.type) {\r\n case BwicProcessType.BestFootForward:\r\n return bwic.process.stagedBiddingStatus == null;\r\n case BwicProcessType.Live:\r\n return liveBiddingUtils.canBid(bwic.bidsDueUtc!, bwic.process, security.canBidOnStage2, security.latestBidSubmission)\r\n case BwicProcessType.JumpBall:\r\n return jumpBallUtils.canBid(bwic.process.stagedBiddingStatus, currentBid, security.isStage2Participant);\r\n case BwicProcessType.TopX:\r\n return topXUtils.canBid(bwic.process.stagedBiddingStatus, security.isStage2Participant);\r\n default: return true;\r\n }\r\n }\r\n\r\n const columns = brokerDealerBiddingColumns(\r\n bwic.isAllToAll,\r\n isAllToAllAgreementSigned,\r\n bwic.status,\r\n bwic.process.type,\r\n bwic.process.stagedBiddingStatus,\r\n bwic.isParsed,\r\n accessState\r\n );\r\n\r\n const createSecurityCustomClassName = (security: BwicPosition, context: { enabled: boolean }) => {\r\n const active = security.id === activePositionId;\r\n const tradedaway = !active && canSubmitBid && (security.isTradedAway || security.trade?.status === TradeStatus.rejected);\r\n const affirmed = !active && canSubmitBid && (security.trade?.status === TradeStatus.affirmed);\r\n const isTradePending = security.trade?.status === TradeStatus.pending;\r\n const inactive = !active && !tradedaway && !affirmed && !isTradePending && !context.enabled;\r\n\r\n return classNames('pointer', {\r\n active,\r\n tradedaway,\r\n affirmed,\r\n inactive\r\n });\r\n }\r\n\r\n const createSecurityCustomArgs = (security: BwicPosition) => {\r\n const isLiveBiddingStage2 =\r\n bwic.process.type === BwicProcessType.Live &&\r\n bwic.process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended;\r\n const liveBiddingStage2SubmissionDeadline = isLiveBiddingStage2\r\n ? liveBiddingUtils.calculateStage2SubmissionDeadline(bwic.bidsDueUtc!, bwic.process, security.latestBidSubmission)\r\n : undefined;\r\n const liveBiddingStage2Expired = isLiveBiddingStage2 && moment.utc().diff(liveBiddingStage2SubmissionDeadline) > 0;\r\n\r\n const currentBid = biddingUtils.getCurrentBid(security.bids);\r\n const hasBid = currentBid != null && !currentBid.pass;\r\n const biddingControlsVisible = !bwic.isColorDistribution && security.trade == null && !security.isTradedAway;\r\n const processEnabled = isProcessEnabled(security);\r\n\r\n const enabled = (\r\n bwic &&\r\n accessState === brokerDealerAccessState.approved &&\r\n biddingControlsVisible &&\r\n processEnabled\r\n );\r\n\r\n return {\r\n biddingControlsVisible,\r\n brokerDealerAccessState: accessState,\r\n enabled,\r\n processEnabled,\r\n hasBid,\r\n bwic,\r\n liveBiddingStage2SubmissionDeadline,\r\n liveBiddingStage2Expired\r\n };\r\n }\r\n\r\n return (\r\n position.id}\r\n />\r\n )\r\n}","import { useSelector } from 'react-redux';\r\nimport { brokerDealerAccessState } from '../../../constants/bidding';\r\nimport { TopPanel, BiddingTimer, ActionBar, ExportButton } from '../common';\r\nimport { RequestInvitationPanel } from './invitation';\r\nimport { BwicCreator } from '.';\r\nimport { BidAll } from '../common/bid-placement/BidAll';\r\nimport { ControlPanel } from '../common/ControlPanel';\r\nimport { CompanyDetailsPanel } from '../../company-details/CompanyDetailsPanel';\r\nimport { ConfirmBidsPopup } from './confirm-bids/ConfirmBidsPopup';\r\nimport { BrokerDealerBiddingRouteLeaveGuard } from './BrokerDealerBiddingRouteLeaveGuard';\r\nimport { RequestSettlementAgentAgreementBanner } from '../../request-settlement-agent-agreement/RequestSettlementAgentAgreementBanner';\r\nimport { BwicStatus } from \"../../../types/enums/BwicStatus\";\r\nimport { BiddingTable } from './BiddingTable';\r\nimport { AppState } from '../../../types/state/AppState';\r\nimport { RecipientType, useBiddingCompletedNotification } from '../../../effects/useBiddingCompletedNotification';\r\n\r\ninterface BiddingProps {\r\n activePositionId?: number;\r\n}\r\n\r\nexport const Bidding = ({ activePositionId }: BiddingProps) => {\r\n const bwic = useSelector((s: AppState) => s.bidding.bwic);\r\n const securities = useSelector((s: AppState) => s.brokerDealerBidding.securities);\r\n const accessState = useSelector((s: AppState) => s.brokerDealerBidding.accessState);\r\n\r\n useBiddingCompletedNotification(RecipientType.Bidder, bwic);\r\n\r\n return (\r\n
\r\n
\r\n \r\n {bwic.seller && }\r\n
\r\n
\r\n {bwic.status !== BwicStatus.scheduled && bwic.bidsDueUtc && bwic.goodUntilUtc && (\r\n \r\n )}\r\n
\r\n {\r\n !bwic.isParsed &&\r\n \r\n }\r\n
\r\n
\r\n
\r\n {!bwic.isParsed && }\r\n \r\n {accessState === brokerDealerAccessState.approved && }\r\n \r\n
\r\n
\r\n {bwic.isAllToAll && }\r\n
\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 { useSelector } from 'react-redux';\r\nimport classNames from 'classnames';\r\nimport { TopPanel, ActionBar, ExportButton } from '../common';\r\nimport { BwicCreator } from '.';\r\nimport { Table } from '../common/table';\r\nimport { brokerDealerCanceledColumns } from '../common/table/columns';\r\nimport { brokerDealerAccessState } from '../../../constants/bidding';\r\nimport { ControlPanel } from '../common/ControlPanel';\r\nimport { CompanyDetailsPanel } from '../../company-details/CompanyDetailsPanel';\r\nimport { RequestSettlementAgentAgreementBanner } from '../../request-settlement-agent-agreement/RequestSettlementAgentAgreementBanner';\r\nimport { AppState } from '../../../types/state/AppState';\r\nimport { BwicPosition } from '../../../types/bwic/BwicPosition';\r\n\r\ninterface CanceledProps {\r\n activePositionId?: number;\r\n}\r\n\r\nexport const Cancelled = ({ activePositionId }: CanceledProps) => {\r\n\r\n const bwic = useSelector((s: AppState) => s.bidding.bwic);\r\n const securities = useSelector((s: AppState) => s.brokerDealerBidding.securities);\r\n const accessState = useSelector((s: AppState) => s.brokerDealerBidding.accessState);\r\n\r\n const createSecurityCustomClassName = (security: BwicPosition) => {\r\n return classNames('tradedaway', {\r\n active: security.id === activePositionId\r\n });\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n {bwic.seller && }\r\n
\r\n \r\n {accessState === brokerDealerAccessState.approved && }\r\n \r\n
\r\n
\r\n
\r\n {bwic.isAllToAll && }\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n","import { brokerDealerAccessState } from \"../../../constants/bidding\";\r\nimport { SettlementAgreementStatus } from \"../../../types/bid-as-dealer/SettlementAgreementStatus\";\r\nimport { Bwic } from \"../../../types/bwic/Bwic\"\r\nimport { BwicPosition } from \"../../../types/bwic/BwicPosition\";\r\nimport { BwicProcessType } from \"../../../types/models/Process\";\r\nimport { BrokerDealerAccessState } from \"../../../types/state/BrokerDealerBiddingState\";\r\nimport { useAgreement } from \"../../seller-buyside/useAgreement\";\r\nimport { Table } from \"../common/table\";\r\nimport {\r\n brokerDealerFinishedColumns,\r\n brokerDealerFinishedOpenBiddingColumns,\r\n brokerDealerNotInvitedFinishedColumns,\r\n brokerDealerNotInvitedFinishedOpenBiddingColumns,\r\n brokerDealerParsedFinishedColumns\r\n} from \"../common/table/columns\";\r\n\r\ninterface FinishedTableProps {\r\n bwic: Bwic;\r\n securities: BwicPosition[];\r\n accessState: BrokerDealerAccessState;\r\n createSecurityCustomArgs: (security: BwicPosition) => void;\r\n createSecurityCustomClassName: (security: BwicPosition) => string;\r\n}\r\n\r\nexport const FinishedTable = ({ bwic, accessState, securities, createSecurityCustomArgs, createSecurityCustomClassName }: FinishedTableProps) => {\r\n const { agreement } = useAgreement();\r\n const isAllToAllAgreementSigned = agreement?.agreementStatus === SettlementAgreementStatus.confirmed;\r\n\r\n const { process } = bwic;\r\n\r\n let columns = brokerDealerFinishedColumns(bwic.isAllToAll, isAllToAllAgreementSigned);\r\n if (process.type === BwicProcessType.Live) {\r\n if (accessState === brokerDealerAccessState.notInvited) {\r\n columns = brokerDealerNotInvitedFinishedOpenBiddingColumns;\r\n } else {\r\n columns = brokerDealerFinishedOpenBiddingColumns();\r\n }\r\n } else if (bwic.isParsed) {\r\n columns = brokerDealerParsedFinishedColumns;\r\n } else if (accessState === brokerDealerAccessState.notInvited) {\r\n columns = brokerDealerNotInvitedFinishedColumns;\r\n }\r\n\r\n return \r\n}","import { useSelector } from 'react-redux';\r\nimport classNames from 'classnames';\r\nimport { TopPanel, CompletionTime, ActionBar, ExportButton } from '../common';\r\nimport { brokerDealerAccessState } from '../../../constants/bidding';\r\nimport { BwicCreator } from \".\";\r\nimport { ControlPanel } from '../common/ControlPanel';\r\nimport { user } from '../../../user';\r\nimport { CompanyDetailsPanel } from '../../company-details/CompanyDetailsPanel';\r\nimport { isActiveTrade, TradeStatus } from '../../../types/trades/TradeStatus';\r\nimport { RequestSettlementAgentAgreementBanner } from '../../request-settlement-agent-agreement/RequestSettlementAgentAgreementBanner';\r\nimport { FinishedTable } from './FinishedTable';\r\nimport { AppState } from '../../../types/state/AppState';\r\nimport { BwicPosition } from '../../../types/bwic/BwicPosition';\r\nimport { roles } from '../../../constants/roles';\r\n\r\ninterface FinishedProps {\r\n activePositionId?: number;\r\n}\r\n\r\nexport const Finished = ({ activePositionId }: FinishedProps) => {\r\n const bwic = useSelector((s: AppState) => s.bidding.bwic);\r\n const securities = useSelector((s: AppState) => s.brokerDealerBidding.securities);\r\n const accessState = useSelector((s: AppState) => s.brokerDealerBidding.accessState);\r\n const completedDateUtc = bwic.completedDateUtc || bwic.goodUntilUtc;\r\n\r\n const createSecurityCustomArgs = () => {\r\n return {\r\n bwic: bwic,\r\n brokerDealerAccessState: accessState,\r\n bwicStatus: bwic.status\r\n }\r\n }\r\n\r\n const createSecurityCustomClassName = (security: BwicPosition) => {\r\n const canSubmitBid =\r\n accessState === brokerDealerAccessState.approved &&\r\n user.hasRoles(roles.BrokerDealerTrader);\r\n\r\n return classNames('pointer', {\r\n active: security.id === activePositionId,\r\n tradedaway: canSubmitBid && (security.isTradedAway || !isActiveTrade(security.trade)),\r\n affirmed: canSubmitBid && security.trade && security.trade.status === TradeStatus.affirmed\r\n });\r\n }\r\n\r\n\r\n return (\r\n
\r\n
\r\n \r\n {bwic.seller && }\r\n \r\n {completedDateUtc && }\r\n {accessState === brokerDealerAccessState.approved && }\r\n \r\n \r\n
\r\n {bwic.isAllToAll && }\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n","import { regexps, roles } from '../../../constants';\r\nimport { CompanySlim } from '../../../types/company/CompanySlim';\r\nimport { CompanyDetailsButton } from '../../company-details/CompanyDetailsButton';\r\nimport { controlPanelActions } from '../../../actions';\r\nimport { RoleActionBlocker } from '../../access/RoleActionBlocker';\r\nimport { useAppDispatch } from '../../../effects/useAppDispatch';\r\n\r\ninterface Props {\r\n seller: CompanySlim\r\n rowKey?: number;\r\n}\r\n\r\nexport function BwicCreator({ seller, rowKey }: Props) {\r\n const dispatch = useAppDispatch();\r\n if (!seller) {\r\n return null;\r\n }\r\n\r\n const creator = seller.name\r\n .replace(regexps.selectLeadingAndEndingCommas, '')\r\n .trim();\r\n\r\n return (\r\n
\r\n \r\n {(disabled: boolean) => (\r\n dispatch(controlPanelActions.hide())}\r\n />\r\n )}\r\n \r\n
\r\n );\r\n}\r\n","import { useHistory } from 'react-router';\r\nimport { tradeConfirmActions } from '../../../../actions';\r\nimport { LocationState, LocationStateBuilder, PopupType } from '../../../../types/state/ui/LocationState';\r\nimport { RejectReasonPopup } from '../../../common/RejectReasonPopup';\r\nimport { useAppDispatch } from '../../../../effects/useAppDispatch';\r\n\r\nexport type TRejectReasonPopupPayload = {\r\n title?: string;\r\n ticker?: string;\r\n positionId: number\r\n tradeReferenceId: string | number;\r\n textareaPlaceholder?: string;\r\n comfirmButtonText?: string;\r\n}\r\n\r\nexport function TradeRejectReasonPopup() {\r\n const dispatch = useAppDispatch()\r\n const history = useHistory>();\r\n\r\n if (history.location?.state?.popup?.type === PopupType.TradeRejectReason) {\r\n const payload = history.location.state?.popup.payload;\r\n\r\n if (payload?.positionId && payload.ticker && payload.tradeReferenceId) {\r\n const title = <>Reject Reason for {payload.ticker}\r\n\r\n return dispatch(tradeConfirmActions.reject(payload.positionId, payload.tradeReferenceId, reason))}\r\n onClose={() => history.replace({\r\n ...history.location,\r\n state: new LocationStateBuilder(history.location.state).resetPopup().result()\r\n })}\r\n\r\n />\r\n }\r\n }\r\n\r\n return null;\r\n}\r\n","import { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { history } from '../../../../history';\r\nimport { Popup, PopupBody, PopupFooter } from '../../../controls';\r\nimport { tradeConfirmActions as actions } from '../../../../actions';\r\nimport { tradeStatuses } from '../../../../constants/bidding';\r\nimport { directTradeAffirmColmns } from '../../common/table/columns';\r\nimport { Table } from '../../common/table';\r\nimport { user } from '../../../../user';\r\nimport { FeatureButton } from '../../../access/FeatureButton';\r\nimport { DirectBiddingDisclaimerActionBlocker } from '../../../direct-bidding-agreement-disclaimer/DirectBiddingDisclaimerActionBlocker';\r\n\r\nclass AffirmTradePopup extends Component {\r\n prevLocation = null;\r\n\r\n isPathChanged = nextLocation =>\r\n !this.prevLocation ||\r\n !nextLocation ||\r\n this.prevLocation.pathname !== nextLocation.pathname;\r\n\r\n componentDidMount = () => {\r\n if (user.isAuthenticated()) {\r\n this.props.dispatch(actions.checkAwaitingTrades());\r\n\r\n this.unlisten = history.listen(location => {\r\n const { visible, positions } = this.props;\r\n if (!visible &&\r\n positions &&\r\n positions.length &&\r\n this.isPathChanged(location) &&\r\n positions.some(p => p.trade && p.trade.status === tradeStatuses.pending.key)) {\r\n this.props.dispatch(actions.visibility(true));\r\n }\r\n\r\n this.prevLocation = location;\r\n });\r\n }\r\n };\r\n\r\n componentWillUnmount = () => {\r\n this.unlisten();\r\n this.props.dispatch(actions.reset());\r\n };\r\n\r\n handleClose = () => this.props.dispatch(actions.visibility(false));\r\n\r\n render = () => {\r\n const { visible, positions, dispatch } = this.props;\r\n\r\n if (!visible || !positions || !positions.length) {\r\n return null;\r\n }\r\n\r\n // Add settleDate for table sorting\r\n const positionsWithTradeSettleDate = positions.map(p =>\r\n p.trade ? { ...p, settleDate: p.trade.settlementDate } : p\r\n );\r\n\r\n return (\r\n \r\n <>\r\n \r\n \r\n \r\n \r\n dispatch(actions.affirmAll())}>\r\n dispatch(actions.affirmAll())}\r\n disabled={!positions.some(p => p.trade.status === tradeStatuses.pending.key)}\r\n >\r\n Affirm all\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = ({ tradeConfirm }) => ({\r\n visible: tradeConfirm.visible,\r\n positions: tradeConfirm.tradedPositions\r\n});\r\n\r\nconst connectedAffirmTradePopup = connect(mapStateToProps)(AffirmTradePopup);\r\nexport { connectedAffirmTradePopup as AffirmTradePopup };\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { tradeConfirmActions } from '../../../../actions';\r\nimport { TRejectReasonPopupPayload } from './TradeRejectReasonPopup';\r\nimport { Preloader, OnHoverTooltip } from '../../../common';\r\nimport { FeatureButton } from '../../../access/FeatureButton';\r\nimport IconSVG from '../../../../styles/svg-icons';\r\nimport { DirectBiddingDisclaimerActionBlocker } from '../../../direct-bidding-agreement-disclaimer/DirectBiddingDisclaimerActionBlocker';\r\nimport { useHistory } from 'react-router';\r\nimport { LocationState, LocationStateBuilder, PopupType } from '../../../../types/state/ui/LocationState';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { RoleActionBlocker } from '../../../access/RoleActionBlocker';\r\nimport { roles } from '../../../../constants/roles';\r\nimport { useAppDispatch } from '../../../../effects/useAppDispatch';\r\n\r\ninterface Props {\r\n buyerPseudoOrderNumber?: number;\r\n positionId: number;\r\n tradeReferenceId: string | number;\r\n ticker: string;\r\n iconsView?: boolean;\r\n}\r\n\r\nexport function AffirmTradeButtons({ positionId, tradeReferenceId, ticker, iconsView = false, buyerPseudoOrderNumber }: Props) {\r\n const dispatch = useAppDispatch();\r\n const history = useHistory>();\r\n const isInProgress = useSelector((s: AppState) => s.tradeConfirm.operationsProgress.some(o => o.positionId === positionId && o.isInProgress));\r\n\r\n const handleAffirm = (e?: React.MouseEvent) => {\r\n e?.stopPropagation();\r\n dispatch(tradeConfirmActions.affirm(positionId, tradeReferenceId));\r\n };\r\n\r\n const handleReject = () => {\r\n history.replace({\r\n ...history.location,\r\n state: new LocationStateBuilder(history.location.state)\r\n .popup(PopupType.TradeRejectReason, { positionId, tradeReferenceId, ticker })\r\n .result()\r\n });\r\n };\r\n\r\n const iconAffirm = \r\n const iconReject = ;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n iconsView\r\n ? {iconAffirm}\r\n : <>{iconAffirm}Affirm\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n iconsView\r\n ? {iconReject}\r\n : <>{iconReject} Reject\r\n }\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { OnHoverTooltip } from '../../common/OnHoverTooltip';\r\nimport IconSVG from '../../../styles/svg-icons';\r\n\r\nexport function AxedIcon() {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { ReactNode } from 'react';\r\nimport moment, { Moment } from 'moment';\r\nimport { Timer } from \"./Timer\";\r\nimport { constants } from '../../../constants';\r\nimport { dateTimeUtils } from '../../../utils';\r\nimport { OnHoverTooltip } from '../../common';\r\nimport { OpenBiddingStatus } from '../../../types/enums/OpenBiddingStatus';\r\nimport { BwicProcessType, Process } from '../../../types/models/Process';\r\nimport { TopXSettings } from '../../../types/bwic-process/TopXSettings';\r\nimport { JumpBallSettings } from '../../../types/bwic-process/JumpBallSettings';\r\n\r\ntype TRenderFunc = (timer?: React.ReactNode, tooltip?: string) => JSX.Element;\r\n\r\nexport interface BiddingTimerProps {\r\n bidsDueUtc: Date;\r\n goodUntilUtc: Date;\r\n process: Process;\r\n render?: TRenderFunc;\r\n onExpired?: () => void;\r\n}\r\n\r\nexport function BiddingTimer({ bidsDueUtc, goodUntilUtc, process, render, onExpired }: BiddingTimerProps) {\r\n return (\r\n <>\r\n {process.type === BwicProcessType.Standard && }\r\n {process.type === BwicProcessType.Live && }\r\n {process.type === BwicProcessType.BestFootForward && }\r\n {\r\n (process.type === BwicProcessType.JumpBall || process.type === BwicProcessType.TopX) &&\r\n \r\n }\r\n \r\n );\r\n}\r\n\r\ninterface BwicEndsAtProps {\r\n goodUntilUtc: Date;\r\n text?: React.ReactNode;\r\n\r\n}\r\nfunction BwicEndsAt({ goodUntilUtc, text = 'BWIC completed at:' }: BwicEndsAtProps) {\r\n const endsAt = dateTimeUtils.utcToLocalString(goodUntilUtc, constants.timeFormat);\r\n return {text} {endsAt};\r\n}\r\n\r\ninterface StandardTimerProps {\r\n goodUntilUtc: Date;\r\n render?: TRenderFunc;\r\n}\r\nfunction StandardTimer({ goodUntilUtc, render }: StandardTimerProps) {\r\n const timer = ;\r\n\r\n return render?.(timer) ?? (\r\n BWIC Ends in: {timer}\r\n );\r\n}\r\n\r\n\r\ninterface StagedTimerProps {\r\n stageEnd: Moment;\r\n title: ReactNode;\r\n tooltip?: string;\r\n onExpired?: () => void;\r\n}\r\nfunction StagedTimer({ stageEnd, title, tooltip, onExpired }: StagedTimerProps) {\r\n return (\r\n \r\n
\r\n
\r\n {title}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\n\r\nfunction LiveBiddingTimer({ bidsDueUtc, goodUntilUtc, process, render, onExpired }: BiddingTimerProps) {\r\n if (process.stagedBiddingStatus == null && process.liveBidding?.stage1Deadline != null) { //stage 1 in progress\r\n const stageGoodUntil = moment.utc(bidsDueUtc).add(process.liveBidding.stage1Deadline, 'minutes');\r\n const tooltip = \"The time cut off for Stage 1 of bidding; the selected number of top bidders will be allowed to proceed to Stage 2\";\r\n\r\n return render?.(, tooltip) ?? \r\n } else if (process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended) {\r\n return render?.() ?? ;\r\n }\r\n\r\n return render?.() ?? ;\r\n}\r\n\r\ninterface JumpBallAndTopXTimerProps {\r\n bidsDueUtc: Date;\r\n goodUntilUtc: Date;\r\n stagedBiddingStatus?: OpenBiddingStatus | null;\r\n settings: JumpBallSettings | TopXSettings;\r\n render?: TRenderFunc;\r\n}\r\n\r\nfunction JumpBallAndTopXTimer({ bidsDueUtc, goodUntilUtc, stagedBiddingStatus, settings, render }: JumpBallAndTopXTimerProps) {\r\n if (stagedBiddingStatus == null && settings.automaticStage1Deadline != null) { // stage 1 auto\r\n const automaticStage1DeadlineMinutes = dateTimeUtils.parseTimeSpan(settings.automaticStage1Deadline).totalMinutes;\r\n const stage1End = moment.utc(bidsDueUtc).add(automaticStage1DeadlineMinutes, 'minutes');\r\n const tooltip = `The time cut off for Stage 1 of bidding; the Top ${settings.improverCount} bidders will be allowed to proceed to Stage 2.`;\r\n\r\n return render?.(, tooltip) ?? ;\r\n } else if (stagedBiddingStatus == null && settings.automaticStage1Deadline == null) { // stage 1 manual\r\n return render?.() ?? {`Stage 1 ${constants.emptyPlaceholder} Seller controls finish time`};\r\n } else if (stagedBiddingStatus === OpenBiddingStatus.stage1Ended && settings.improvementRound != null) { // stage 2 preset\r\n const automaticStage1DeadlineMinutes = settings.automaticStage1Deadline\r\n ? dateTimeUtils.parseTimeSpan(settings.automaticStage1Deadline).totalMinutes\r\n : undefined;\r\n\r\n const stage1End = automaticStage1DeadlineMinutes\r\n ? moment.utc(bidsDueUtc).add(automaticStage1DeadlineMinutes, 'minutes')\r\n : moment.utc(settings.stage1EndDateUtc);\r\n const improvementRoundMinutes = dateTimeUtils.parseTimeSpan(settings.improvementRound).totalMinutes;\r\n const stage2End = stage1End.add(improvementRoundMinutes, 'minutes');\r\n\r\n return render?.() ?? ;\r\n } else if (stagedBiddingStatus === OpenBiddingStatus.stage1Ended && settings.improvementRound == null) { // stage 2 unspecified\r\n return render?.() ?? {`Stage 2 ${constants.emptyPlaceholder} Seller controls finish time`};\r\n }\r\n\r\n return render?.() ?? ;\r\n}\r\n\r\ninterface BestFFProps {\r\n bidsDueUtc: Date;\r\n goodUntilUtc: Date;\r\n process: Process;\r\n render?: TRenderFunc;\r\n}\r\nfunction BestFF({ bidsDueUtc, goodUntilUtc, process, render }: BestFFProps) {\r\n if (process.stagedBiddingStatus == null && process.bff?.stage1Deadline != null) {\r\n const stage1DeadlineMinutes = dateTimeUtils.parseTimeSpan(process.bff.stage1Deadline).totalMinutes;\r\n const stage1End = moment.utc(bidsDueUtc).add(stage1DeadlineMinutes, 'minutes');\r\n const tooltip = \"Remaining time until the end of the bidding period.\";\r\n\r\n return render?.(, tooltip) ?? ;\r\n }\r\n\r\n return render?.() ?? \r\n}\r\n","import * as React from 'react';\r\nimport { FeedbackMenu } from '../FeedbackMenu';\r\nimport { OnHoverTooltip } from \"../../../common\";\r\nimport { constants } from '../../../../constants';\r\nimport { CompanySlim } from '../../../../types/company/CompanySlim';\r\nimport { BwicProcessType, Process } from '../../../../types/models/Process';\r\n\r\ninterface Props {\r\n positionId: number;\r\n company: CompanySlim;\r\n feedbackVisible: boolean;\r\n bidAttributesEnabled: boolean;\r\n process: Process;\r\n feedbackDisabled?: boolean\r\n}\r\n\r\nexport function EmptyBid({ positionId, company, feedbackVisible, bidAttributesEnabled, process, feedbackDisabled = false }: Props) {\r\n const isFeedbackVisible = () => {\r\n if (!feedbackVisible) return false;\r\n if ((process.type === BwicProcessType.JumpBall || process.type === BwicProcessType.TopX || process.type === BwicProcessType.BestFootForward) &&\r\n process.stagedBiddingStatus != null) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n return (\r\n
\r\n
{constants.emptyPlaceholder}
\r\n
\r\n
\r\n \r\n
{company.code}
\r\n
\r\n
{constants.emptyPlaceholder}
\r\n {\r\n bidAttributesEnabled &&\r\n <>\r\n
\r\n
\r\n \r\n }\r\n
\r\n
\r\n {\r\n isFeedbackVisible() &&\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React from 'react';\r\nimport { formatUtils } from '../../../../utils/format.utils';\r\nimport { FeedbackMenu } from '../FeedbackMenu';\r\nimport { OnHoverTooltip } from \"../../../common/OnHoverTooltip\";\r\nimport { Bid } from '../../../../types/bidding/Bid';\r\nimport { BidOnBehalfIcon } from '../bid-on-behalf/BidOnBehalfIcon';\r\nimport { BwicProcessType, Process } from '../../../../types/models/Process';\r\nimport { jumpBallUtils } from '../../../../utils/jump-ball.utils';\r\nimport { topXUtils } from '../../../../utils/top-x.utils';\r\nimport { constants } from '../../../../constants';\r\nimport { BidOverThemSelf } from '../biddingSecurities/BidOverThemSelf';\r\nimport { BwicStatus } from '../../../../types/enums/BwicStatus';\r\nimport { Trade } from '../../../../types/trades/Trade';\r\nimport { AxedIcon } from '../../common/AxedIcon';\r\nimport { FinalIcon } from '../../common/FinalIcon';\r\nimport { BidLevel } from '../../../../types/bidding/BidLevel';\r\nimport { biddingUtils } from '../../../../utils';\r\n\r\ninterface Props {\r\n level?: number;\r\n positionId: number;\r\n allBids: Bid[];\r\n levelBids: Bid[];\r\n feedbackVisible: boolean;\r\n bidAttributesVisible: boolean;\r\n process: Process;\r\n stage2Participants?: { [companyIdentifier: string]: boolean };\r\n trade?: Trade;\r\n bwicStatus?: BwicStatus;\r\n}\r\n\r\nexport function BidGroup({ level, positionId, allBids, levelBids, feedbackVisible, bidAttributesVisible, process, stage2Participants, trade, bwicStatus }: Props) {\r\n const isFeedbackVisible = (bid: Bid) => {\r\n if (!feedbackVisible) return false;\r\n if (process.type === BwicProcessType.JumpBall) {\r\n return jumpBallUtils.canSendFeedback(stage2Participants ?? {}, process.stagedBiddingStatus, [bid]);\r\n } else if (process.type === BwicProcessType.TopX) {\r\n return topXUtils.canSendFeedback(stage2Participants ?? {}, process.stagedBiddingStatus, [bid]);\r\n } else if (process.type === BwicProcessType.BestFootForward) {\r\n return process.stagedBiddingStatus == null;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n const renderBids = () =>\r\n levelBids.map((bid) => {\r\n return (\r\n
\r\n \r\n
\r\n {bid.buyerPseudoOrderNumber ? `${bid.company.code}-${bid.buyerPseudoOrderNumber}` : bid.company.code}\r\n
\r\n
\r\n {\r\n !bid.pass &&\r\n \r\n
{formatUtils.formatBid(bid.value)}
\r\n
\r\n }\r\n {\r\n !!bid.pass &&\r\n \r\n
PASS
\r\n
\r\n }\r\n {\r\n bidAttributesVisible &&\r\n <>\r\n
\r\n {bid.axed && }\r\n
\r\n
\r\n {bid.final && }\r\n
\r\n \r\n }\r\n
\r\n {!!bid.onBehalf && }\r\n
\r\n
\r\n {level === BidLevel.Best && (\r\n \r\n )}\r\n
\r\n
\r\n {\r\n isFeedbackVisible(bid) &&\r\n 1}\r\n process={process}\r\n />\r\n }\r\n
\r\n
\r\n );\r\n })\r\n\r\n return (\r\n
\r\n
{level == null ? constants.emptyPlaceholder : level + 1}
\r\n
\r\n {renderBids()}\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 { biddingUtils } from '../../../../utils/bidding.utils';\r\nimport { EmptyBid } from './EmptyBid';\r\nimport { BidGroup } from './BidGroup';\r\nimport { EmptyPlaceholder, OnHoverTooltip } from '../../../common';\r\nimport IconSVG from '../../../../styles/svg-icons';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { BwicPosition } from '../../../../types/bwic/BwicPosition';\r\nimport { CompanySlim } from '../../../../types/company/CompanySlim';\r\nimport { BwicStatus } from '../../../../types/enums/BwicStatus';\r\nimport { BwicProcessType, Process } from '../../../../types/models/Process';\r\nimport { isActiveTrade } from '../../../../types/trades/TradeStatus';\r\nimport { Bid } from '../../../../types/bidding/Bid';\r\nimport { Toggle } from '../../../controls';\r\nimport { calculateStage2Participants } from '../../../../utils/stage2-participants-calculator';\r\nimport { OpenBiddingStatus } from '../../../../types/enums/OpenBiddingStatus';\r\n\r\ninterface Props {\r\n participants: CompanySlim[];\r\n bwicStatus: BwicStatus;\r\n process: Process;\r\n positions: BwicPosition[];\r\n isAllToAll: boolean;\r\n}\r\n\r\nexport function BidList({ participants, bwicStatus, process, positions, isAllToAll }: Props) {\r\n const [showAllBidders, setShowAllBidders] = React.useState(false);\r\n const { positionId, visible } = useSelector((s: AppState) => s.sellerBidding.bidList);\r\n const positionWithAllBids = useSelector((s: AppState) => positionId ? s.sellerBidding.securities.find(s => s.id === positionId) : undefined);\r\n const position = visible && positionId ? positions.find(s => s.id === positionId) : undefined;\r\n const bidsByLevel = React.useMemo(() => {\r\n const bidsByLevel = biddingUtils.groupBidsByLevel(position?.bids ?? []);\r\n const pass = position?.bids?.filter(b => b.pass);\r\n\r\n return pass?.length ? [...bidsByLevel, pass] : bidsByLevel;\r\n }, [position]);\r\n\r\n if (!visible || !position || !positionWithAllBids) return null;\r\n\r\n const hasActiveTrade = isActiveTrade(position.trade);\r\n const isBidding = bwicStatus === BwicStatus.bidding;\r\n const isFinished = bwicStatus === BwicStatus.finished;\r\n const hasStage2 = process.type === BwicProcessType.Live || process.type === BwicProcessType.JumpBall || process.type === BwicProcessType.TopX;\r\n const feedbackEnabled = isBidding && process.type !== BwicProcessType.Live && !hasActiveTrade;\r\n const bidAttributesEnabled = process.type === BwicProcessType.Standard || process.type === BwicProcessType.BestFootForward;\r\n\r\n const renderBiddingSubHeader = () =>\r\n
\r\n

All Participants

\r\n
\r\n \r\n setShowAllBidders(!showAllBidders)} />\r\n \r\n
\r\n
;\r\n\r\n const renderStage2GroupSplitter = () =>\r\n
\r\n
\r\n Ineligible for Stage 2 bidding\r\n
\r\n
;\r\n\r\n const createBidComponent = (index: number, bidGroup: Bid[], stage2Participants?: { [companyIdentifier: string]: boolean }) =>\r\n b.pass) ? undefined : index}\r\n positionId={position.id}\r\n allBids={position.bids}\r\n levelBids={bidGroup}\r\n bidAttributesVisible={bidAttributesEnabled}\r\n feedbackVisible={feedbackEnabled}\r\n process={process}\r\n stage2Participants={stage2Participants}\r\n trade={position.trade}\r\n bwicStatus={bwicStatus}\r\n />;\r\n\r\n const renderBids = () => {\r\n const emptyBids =\r\n showAllBidders\r\n ? participants\r\n .filter(p => !position.bids.some(b => b.company.id === p.id && !b.buyerPseudoOrderNumber))\r\n .map((p, i) =>\r\n \r\n )\r\n : [];\r\n\r\n let bids = [];\r\n\r\n if (hasStage2 && process.stagedBiddingStatus !== OpenBiddingStatus.improvementRoundEnded) {\r\n const stage2Participants = calculateStage2Participants(positionWithAllBids?.bids ?? [], process);\r\n const passedBids = [];\r\n const notPassedBids = [];\r\n\r\n for (let i = 0; i < bidsByLevel.length; i++) {\r\n const bidComponent = createBidComponent(i, bidsByLevel[i], stage2Participants);\r\n if (bidsByLevel[i].some(b => stage2Participants[biddingUtils.getBidCompanyIdentifier(b)])) {\r\n passedBids.push(bidComponent);\r\n } else {\r\n notPassedBids.push(bidComponent);\r\n }\r\n }\r\n\r\n bids = passedBids;\r\n if (notPassedBids.length || emptyBids.length) {\r\n bids.push(renderStage2GroupSplitter(), ...notPassedBids)\r\n }\r\n } else {\r\n bids = bidsByLevel.map((bidGroup, i) => createBidComponent(i, bidGroup));\r\n }\r\n\r\n const isHidden = (isBidding || isFinished) && !showAllBidders && !bids.length;\r\n\r\n return (\r\n <>\r\n {(isBidding || isFinished) && !isAllToAll && renderBiddingSubHeader()}\r\n {\r\n !isHidden &&\r\n
\r\n
Rank
\r\n
Dealer
\r\n
Bid
\r\n {\r\n bidAttributesEnabled &&\r\n <>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n }\r\n
 
\r\n
 
\r\n
\r\n }\r\n
\r\n {bids}\r\n {emptyBids}\r\n {\r\n isHidden &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n \r\n );\r\n };\r\n\r\n return
{renderBids()}
;\r\n}\r\n","import React from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport cn from 'classnames';\r\nimport { MessageHistoryPanel } from '../../bwic-history/MessageHistoryPanel';\r\nimport { MessageHistory } from '../../bwic-history/MessageHistory';\r\nimport { BidList } from '../seller/bid-list/BidList';\r\nimport {\r\n sellerBiddingActions,\r\n bwicHistoryActions,\r\n securityDetailsActions,\r\n rulesActions,\r\n pxTalkListActions\r\n} from '../../../actions';\r\nimport { SecurityDetails } from '../../security-details';\r\nimport { RightSideTabPanel } from '../../controls/RightSideTabPanel';\r\nimport { BwicRules } from '../../bwic-rules/BwicRules';\r\nimport { BwicRulesPanel } from '../../bwic-rules/BwicRulesPanel';\r\nimport { PxTalkList } from '../../common';\r\nimport SecurityDetailsOptions from '../../security-details/SecurityDetailsOptions';\r\nimport { ControlPanelOptions } from './ControlPanelOptions';\r\nimport { user } from '../../../user';\r\nimport { roles } from '../../../constants';\r\nimport { BWICLog } from '../../security-details/bwic-log/BWICLog';\r\nimport { bwicLogActions } from '../../../actions/bwic-log.actions';\r\n\r\nexport function ControlPanel(\r\n {\r\n bwic,\r\n position,\r\n positions,\r\n bidListEnabled = false,\r\n historyEnabled = true,\r\n showEvalValues = false,\r\n accessDealDocumentsFeature,\r\n onHistoryActive,\r\n onClose\r\n }\r\n) {\r\n const dispatch = useDispatch();\r\n const bidList = useSelector(store => store.sellerBidding.bidList);\r\n const securityDetails = useSelector(store => store.securityDetails);\r\n const bwicLog = useSelector(store => store.bwicLog);\r\n const history = useSelector(store => store.bwicHistory);\r\n const rules = useSelector(store => store.rules);\r\n const pxTalkList = useSelector(store => store.pxTalkList);\r\n\r\n if (!bwic) {\r\n return null;\r\n }\r\n\r\n const panelClassNames = cn({\r\n 'right-panel-tabs': true,\r\n 'right-panel-history': history.visible,\r\n 'right-panel-bids': bidList.visible\r\n });\r\n\r\n const getBidsDueDate = () => bwic.bidsDueUtc || bwic.bidsDueDateUtc;\r\n const getGoodUntilDate = () => bwic.goodUntilUtc || bwic.goodUntilDateUtc;\r\n const isMyBwic = bwic.isMy ?? bwic.seller?.id === user.current()?.companyId;\r\n\r\n if (history.visible && !history.positionId) {\r\n return ;\r\n } else if (rules.show && rules.separatePanel) {\r\n return ;\r\n }\r\n\r\n const positionId =\r\n history.positionId ||\r\n bidList.positionId ||\r\n rules.positionId ||\r\n pxTalkList.positionId ||\r\n (securityDetails.security && securityDetails.security.id) ||\r\n (bwicLog.security && bwicLog.security.id);\r\n\r\n\r\n if (!position) {\r\n position = positions == null\r\n ? bwic.securities.find(s => s.id === positionId)\r\n : positions.find(s => s.id === positionId);\r\n }\r\n\r\n if (!position) {\r\n return null;\r\n }\r\n\r\n const handleHistoryActivate = () => {\r\n dispatch(bwicHistoryActions.showHistory(true, positionId, position.ticker));\r\n\r\n if (onHistoryActive) {\r\n onHistoryActive();\r\n }\r\n };\r\n\r\n const tabs = [];\r\n\r\n if (bidListEnabled) {\r\n const bidListTab = {\r\n title: 'All Bids',\r\n active: bidList.visible,\r\n renderContent: () =>\r\n ,\r\n onActivate: () => dispatch(sellerBiddingActions.showBidList(true, positionId)),\r\n onDeactivate: () => dispatch(sellerBiddingActions.showBidList(false))\r\n };\r\n\r\n tabs.push(bidListTab);\r\n }\r\n\r\n const pxTalkTab = {\r\n title: 'Px Talk',\r\n active: pxTalkList.visible,\r\n renderContent: () =>\r\n ,\r\n onActivate: () => dispatch(pxTalkListActions.show(positionId)),\r\n onDeactivate: () => dispatch(pxTalkListActions.hide())\r\n };\r\n\r\n tabs.push(pxTalkTab);\r\n\r\n const securityDetailsTab = {\r\n title: 'Security',\r\n active: !!securityDetails.security,\r\n renderContent: () => ,\r\n onActivate: () => dispatch(securityDetailsActions.securityDetailsInitRequest(position, false)),\r\n onDeactivate: () => dispatch(securityDetailsActions.securityDetailsReset())\r\n };\r\n\r\n tabs.push(securityDetailsTab);\r\n\r\n const bwicLogTab = {\r\n title: 'BWIC Log',\r\n active: !!bwicLog.security,\r\n renderContent: () => ,\r\n onActivate: () => dispatch(bwicLogActions.bwicLogInitRequest(position)),\r\n onDeactivate: () => dispatch(bwicLogActions.bwicLogReset())\r\n };\r\n\r\n tabs.push(bwicLogTab);\r\n\r\n const rulesTab = {\r\n title: 'Rules',\r\n active: rules.show,\r\n renderContent: () =>\r\n ,\r\n onActivate: () => dispatch(rulesActions.show(positionId)),\r\n onDeactivate: () => dispatch(rulesActions.hide())\r\n };\r\n\r\n tabs.push(rulesTab);\r\n\r\n if (historyEnabled) {\r\n const historyTab = {\r\n title: 'Bid Log',\r\n active: history.visible,\r\n renderContent: () => ,\r\n onActivate: handleHistoryActivate,\r\n onDeactivate: () => dispatch(bwicHistoryActions.showHistory(false))\r\n };\r\n\r\n tabs.push(historyTab);\r\n }\r\n\r\n return (\r\n \r\n {position.ticker}\r\n {\r\n !user.hasSingleRole(roles.SellerAdministrator) &&\r\n \r\n }\r\n \r\n }\r\n items={tabs}\r\n onClose={onClose}\r\n />\r\n );\r\n}\r\n\r\nControlPanel.defaultProps = {\r\n onHistoryActive: undefined,\r\n onClose: undefined,\r\n position: undefined,\r\n positions: null,\r\n accessDealDocumentsFeature: undefined\r\n}\r\n","export enum ControlPanelOptions {\r\n viewBwic = 'viewBwic',\r\n viewInventory = 'viewInventory',\r\n addToPortfolio = 'addToPortfolio'\r\n}\r\n","import React from 'react';\r\nimport cn from 'classnames';\r\n\r\ninterface EmailLinkProps {\r\n email: string;\r\n className?: string;\r\n children?: React.ReactNode;\r\n}\r\n\r\nexport function EmailLink({ email, children, className }: EmailLinkProps) {\r\n return (\r\n \r\n {children ?? email}\r\n \r\n )\r\n}\r\n","import * as React from 'react';\r\nimport { OnHoverTooltip } from '../../common/OnHoverTooltip';\r\nimport IconSVG from '../../../styles/svg-icons';\r\n\r\nexport function FinalIcon() {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { constants } from '../../../constants/constants';\r\nimport { BwicStatus } from '../../../types/enums/BwicStatus';\r\nimport { OpenBiddingStatus } from '../../../types/enums/OpenBiddingStatus';\r\nimport { BwicProcessType, Process } from '../../../types/models/Process';\r\nimport { liveBiddingUtils } from '../../../utils/live-bidding.utils';\r\nimport { BwicStatusLabel } from '../../common';\r\nimport { Timer } from './Timer';\r\n\r\ninterface Props {\r\n bidsDueDateUtc: Date;\r\n process: Process;\r\n latestBidSubmission?: Date;\r\n canBidOnStage2: boolean;\r\n renderEmpty?: React.ReactNode;\r\n onExpired: () => void;\r\n}\r\n\r\nexport function LiveBiddingStage2Timer({\r\n bidsDueDateUtc,\r\n process,\r\n latestBidSubmission,\r\n canBidOnStage2,\r\n renderEmpty,\r\n onExpired }: Props) {\r\n const isLiveBiddingStage2 =\r\n process.type === BwicProcessType.Live &&\r\n process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended;\r\n const canBid = liveBiddingUtils.canBid(bidsDueDateUtc, process, canBidOnStage2, latestBidSubmission);\r\n\r\n if (isLiveBiddingStage2 && canBid) {\r\n const stage2SubmissionDeadline =\r\n liveBiddingUtils.calculateStage2SubmissionDeadline(\r\n bidsDueDateUtc,\r\n process,\r\n latestBidSubmission\r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n }\r\n />\r\n )\r\n }\r\n\r\n return <>{renderEmpty ?? constants.emptyPlaceholder};\r\n}","import React from 'react';\r\nimport cn from 'classnames';\r\nimport IconSVG from \"../../../styles/svg-icons\";\r\n\r\ninterface Props {\r\n phone: string;\r\n className?: string;\r\n icon?: boolean;\r\n}\r\n\r\nexport function PhoneNumberLink({ phone, className, icon }: Props) {\r\n return (\r\n \r\n {icon && }\r\n {phone}\r\n \r\n );\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Popover } from '../../controls';\r\nimport cn from 'classnames';\r\nexport default class RejectedLink extends Component {\r\n render = () => {\r\n const { rejectReason, rejectedByCompanyCode, className = \"\" } = this.props;\r\n const title = rejectedByCompanyCode ? 'Rejected by ' + rejectedByCompanyCode : 'Rejected';\r\n\r\n return (\r\n
\r\n {title}}\r\n >\r\n
\r\n \r\n {rejectReason}\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React, { useEffect, useState, useRef } from 'react';\r\nimport moment from 'moment';\r\nimport classNames from 'classnames';\r\n\r\nexport function Timer({ goodUntilUtc, overCount, hideHours, onExpired }) {\r\n const refInterval = useRef(null);\r\n const [iteration, setIteration] = useState(0);\r\n const [running, setRunning] = useState(true);\r\n\r\n const twoDigits = n => n.toLocaleString('en-US', { minimumIntegerDigits: 2, useGrouping: false });\r\n\r\n const now = moment.utc();\r\n const ends = moment.utc(goodUntilUtc).utc();\r\n const duration = moment.duration(ends.diff(now));\r\n const expired = duration && !overCount && Math.round(duration.asSeconds()) <= 0;\r\n\r\n const runTicker = () => {\r\n if (!refInterval.current) {\r\n refInterval.current = setInterval(() => setIteration(iteration => iteration + 1), 1000);\r\n }\r\n }\r\n const clearTicker = () => {\r\n if (refInterval.current) clearInterval(refInterval.current);\r\n }\r\n\r\n useEffect(() => {\r\n if (!expired) runTicker();\r\n return () => clearTicker(); // eslint-disable-next-line\r\n }, []);\r\n\r\n useEffect(() => setRunning(true), [goodUntilUtc]);\r\n\r\n useEffect(() => {\r\n if (expired && running) {\r\n onExpired && onExpired();\r\n setRunning(false);\r\n }\r\n }, [iteration, expired, running, onExpired, setRunning]);\r\n\r\n const timePassed = duration.asSeconds() < 0;\r\n const lessThenFiveMins = !timePassed && duration.asMinutes() < 5;\r\n\r\n const hours = Math.abs(Math.trunc(duration.asHours()));\r\n duration.subtract(moment.duration(hours, 'hours'));\r\n\r\n const minutes = Math.abs(duration.minutes());\r\n duration.subtract(moment.duration(minutes, 'minutes'));\r\n\r\n const seconds = Math.abs(duration.seconds());\r\n\r\n const cssClasses = classNames({\r\n 'time-counter': true,\r\n 'time-passed': timePassed,\r\n 'less-then-five-mins': lessThenFiveMins\r\n });\r\n\r\n if (!running || expired || isNaN(hours)) {\r\n return {!hideHours && '00:'}00:00;\r\n }\r\n\r\n return (\r\n \r\n {timePassed && '+'}\r\n {!hideHours && <>{twoDigits(hours)}:}{twoDigits(minutes)}:{twoDigits(seconds)}\r\n \r\n )\r\n}\r\n\r\nTimer.defaultProps = {\r\n onExpired: undefined,\r\n overCount: false,\r\n hideHours: false\r\n}\r\n","import * as React from 'react';\r\nimport { OnHoverTooltip } from \"../../../common/OnHoverTooltip\";\r\n\r\ninterface FeedbackLabelProps {\r\n text: React.ReactNode;\r\n onHoverText?: React.ReactNode;\r\n italic?: boolean;\r\n pending?: boolean;\r\n}\r\n\r\nexport function FeedbackLabel({ text, onHoverText, italic, pending }: FeedbackLabelProps) {\r\n if (!onHoverText) {\r\n onHoverText = text;\r\n }\r\n if (pending) {\r\n return (\r\n
\r\n \r\n {text}\r\n \r\n
\r\n )\r\n }\r\n if (italic) {\r\n return (\r\n
\r\n \r\n {text}\r\n \r\n
\r\n )\r\n }\r\n return (\r\n
\r\n \r\n {text}\r\n \r\n
\r\n )\r\n}\r\n","import * as React from 'react';\r\nimport { constants } from '../../../../constants/constants';\r\nimport { Bid } from '../../../../types/bidding/Bid';\r\nimport { LevelSpecificationType } from '../../../../types/enums/LevelSpecificationType';\r\nimport { OpenBiddingStatus } from '../../../../types/enums/OpenBiddingStatus';\r\nimport { formatUtils } from '../../../../utils/format.utils';\r\nimport { AnimatedValueUpdate } from '../../../controls/AnimatedValueUpdate';\r\n\r\ninterface Props {\r\n stagedBiddingStatus?: OpenBiddingStatus | null;\r\n currentBid?: Bid;\r\n stage2Level?: number;\r\n levelSpecificationType: LevelSpecificationType;\r\n tiedToBest?: boolean;\r\n animated?: boolean;\r\n}\r\n\r\nexport function LiveBiddingStage2Level({\r\n stagedBiddingStatus,\r\n currentBid,\r\n stage2Level,\r\n levelSpecificationType,\r\n tiedToBest,\r\n animated = true }: Props) {\r\n const render = (text: string, level: number) => {\r\n let content;\r\n if (animated) {\r\n const animatedLevel = \r\n content = <>{text} {animatedLevel};\r\n } else {\r\n content = `${text} ${formatUtils.formatBid(level)}`;\r\n }\r\n\r\n return
{content}
\r\n }\r\n\r\n if (stagedBiddingStatus === OpenBiddingStatus.stage1Ended && currentBid != null && stage2Level != null) {\r\n if (levelSpecificationType === LevelSpecificationType.best) {\r\n if (currentBid.value === stage2Level && tiedToBest) return render(\"Tied to best. Best level is\", stage2Level);\r\n if (currentBid.value === stage2Level) return render(\"Best. Best level is\", stage2Level);\r\n return render(\"Best level is\", stage2Level);\r\n } \r\n }\r\n\r\n return <>{constants.emptyPlaceholder};\r\n}","import { RequestState } from '../../../../constants/request-state';\r\nimport { LiveBiddingPosition } from '../../../../types/live-bidding/LiveBiddingPosition';\r\nimport { useLiveBiddingData } from '../../../../effects/data-accessors/useLiveBiddingData';\r\n\r\ninterface LiveBiddingStage2LevelDataProps {\r\n positionId: number;\r\n children: (requestState: RequestState, data?: LiveBiddingPosition) => JSX.Element\r\n}\r\nexport function LiveBiddingStrage2LevelData({ positionId, children }: LiveBiddingStage2LevelDataProps) {\r\n const { requestState, data } = useLiveBiddingData(positionId);\r\n\r\n return children(requestState, data);\r\n}","import React from 'react';\r\nimport { routes } from '../../../constants';\r\nimport { BwicStatusLabel } from \"../../common\";\r\nimport { Breadcrumbs } from '../../controls/breadcrumbs/Breadcrumbs';\r\nimport { BreadcrumbsItem } from '../../controls/breadcrumbs/BreadcrumbsItem';\r\nimport { SameDayBwicIcon } from '../../common/SameDayBwicIcon';\r\nimport { BwicProcessType } from '../../../types/models/Process';\r\nimport { dateTimeUtils } from '../../../utils';\r\nimport { BwicBase } from '../../../types/bwic/BwicBase';\r\n\r\ninterface TopPanelProps {\r\n children?: React.ReactNode\r\n bwic: BwicBase\r\n}\r\n\r\nconst TopPanel = ({ children, bwic }: TopPanelProps) => {\r\n const {\r\n status, name, isParsed, bidsDueUtc, isClearingBankParticipant,\r\n process, isSameDayBwic, isAllToAll\r\n } = bwic;\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n\r\n {!!bidsDueUtc &&\r\n

\r\n {isSameDayBwic && }\r\n {dateTimeUtils.utcToLocalString(bidsDueUtc)}\r\n

\r\n }\r\n
{name}
\r\n {children}\r\n
\r\n );\r\n}\r\n\r\nexport default TopPanel\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport { rulesActions } from '../../../actions/rules.actions';\r\nimport { connect } from 'react-redux';\r\nimport { BwicRulesPseudoLink } from '../../common/BwicRulesPseudoLink';\r\n\r\nclass RulesButton extends React.Component {\r\n handleClick = () => {\r\n const { show, positionId, dispatch } = this.props;\r\n if (show && !positionId) {\r\n dispatch(rulesActions.hide());\r\n } else {\r\n dispatch(rulesActions.show(positionId, true));\r\n }\r\n }\r\n\r\n render() {\r\n const { bwic } = this.props;\r\n\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = ({ bidding, rules }) => ({\r\n show: rules.show,\r\n positionId: rules.positionId,\r\n bwic: bidding.bwic\r\n});\r\n\r\nconst ConnectedRulesButton = connect(mapStateToProps)(RulesButton);\r\n\r\nexport { ConnectedRulesButton as RulesButton };\r\n","import React from 'react';\r\nimport { RulesButton } from './RulesButton';\r\nimport { HistoryButton } from '../../bwic-history/HistoryButton';\r\n\r\ninterface Props {\r\n children: React.ReactNode;\r\n}\r\n\r\nexport function ActionBar({ children }: Props) {\r\n return (\r\n
\r\n {children}\r\n \r\n \r\n
\r\n );\r\n}\r\n","import * as React from 'react';\r\nimport moment from \"moment\";\r\nimport { constants } from \"../../../constants\";\r\n\r\ninterface CompletedAtProps {\r\n completedDateUtc: Date;\r\n}\r\n\r\nexport function CompletionTime({ completedDateUtc }: CompletedAtProps) {\r\n let completionDate = moment.utc(completedDateUtc).local();\r\n const time = completionDate.format(constants.timeFormat);\r\n\r\n return (\r\n
\r\n BWIC completed at: {time}\r\n
\r\n );\r\n}\r\n","import { useContext, useEffect, useRef, useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport classNames from 'classnames';\r\nimport { constants, errorMessages } from \"../../../constants\";\r\nimport { Relative } from '../../common';\r\nimport { BlockedFeatureContext } from '../../access/BlockedFeatureContext';\r\nimport { numericUtils } from '../../../utils';\r\nimport { FormError } from '../../controls';\r\nimport { RequestState } from '../../../constants/request-state';\r\nimport { sellerBiddingActions } from '../../../actions';\r\nimport { AppState } from '../../../types/state/AppState';\r\nimport { useAppDispatch } from '../../../effects/useAppDispatch';\r\n\r\ninterface Props {\r\n positionId: number;\r\n targetLevel?: number;\r\n}\r\n\r\nexport function TargetLevel({ positionId, targetLevel }: Props) {\r\n const dispatch = useAppDispatch();\r\n const editState = useSelector((state: AppState) => state.sellerBidding.editTargetLevel[positionId]);\r\n const isBlocked = useContext(BlockedFeatureContext);\r\n const [error, setError] = useState('');\r\n const inputRef = useRef(null);\r\n\r\n useEffect(() => {\r\n if (!error &&\r\n targetLevel &&\r\n (targetLevel < constants.targetLevelRange.min || targetLevel > constants.targetLevelRange.max)) {\r\n setError(errorMessages.targetLevelRange);\r\n }\r\n }, [error, targetLevel]);\r\n\r\n const handleChange = (e: React.ChangeEvent) => {\r\n const { value } = e.target;\r\n if (constants.targetLevel.test(value)) {\r\n if (!value || (+value < constants.targetLevelRange.min || +value > constants.targetLevelRange.max)) {\r\n setError(errorMessages.targetLevelRange)\r\n } else if (error) {\r\n setError('');\r\n }\r\n\r\n dispatch(sellerBiddingActions.setTargetLevel(positionId, value))\r\n }\r\n }\r\n\r\n const handleBlur = () => {\r\n dispatch(sellerBiddingActions.sendTargetLevel(positionId));\r\n setError('');\r\n }\r\n\r\n const getValue = () => {\r\n if (editState && editState.targetLevel != null) {\r\n return editState.targetLevel;\r\n }\r\n\r\n return targetLevel != null && numericUtils.isNumber(targetLevel)\r\n ? targetLevel.toFixed(4)\r\n : '';\r\n };\r\n\r\n const handleFocus = (e: React.ChangeEvent) => {\r\n if (inputRef && inputRef.current) {\r\n inputRef.current.select();\r\n }\r\n };\r\n\r\n return (\r\n \r\n false}\r\n onClick={e => e.stopPropagation()}\r\n />\r\n \r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { saveAs } from 'file-saver';\r\nimport IconSVG from '../../../styles/svg-icons';\r\nimport { errorActions } from '../../../actions';\r\nimport { ActionBlocker } from '../../access/ActionBlocker';\r\nimport { SubscriptionFeature } from '../../../types/billing/SubscriptionFeature';\r\nimport { FeatureButton } from '../../access/FeatureButton';\r\nimport { OnHoverTooltip, Preloader } from '../../common';\r\nimport { RequestState } from '../../../constants/request-state';\r\nimport { bwicService } from '../../../services/bwic.service';\r\nimport { isRequesting } from '../../../utils/request-state.utils';\r\n\r\ninterface Props {\r\n bwicReferenceName: string;\r\n textVisible?: boolean;\r\n tooltipText?: string;\r\n}\r\n\r\nexport function ExportButton({ bwicReferenceName, tooltipText, textVisible = true }: Props) {\r\n const dispatch = useDispatch();\r\n const [requestState, setRequestState] = React.useState(RequestState.none);\r\n\r\n const handleClick = async (e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n\r\n setRequestState(RequestState.request);\r\n\r\n try {\r\n const file: { name: string; blob: Blob; } = await bwicService.exportBwic(bwicReferenceName);\r\n saveAs(file.blob, file.name);\r\n setRequestState(RequestState.success);\r\n } catch (e) {\r\n dispatch(errorActions.unexpectedError(e));\r\n setRequestState(RequestState.failure);\r\n }\r\n };\r\n\r\n return (\r\n \r\n {featureBlocked =>\r\n \r\n \r\n \r\n \r\n {textVisible && \"Export\"}\r\n \r\n \r\n }\r\n \r\n );\r\n}\r\n","import React, { useContext } from 'react';\r\nimport classNames from 'classnames';\r\nimport { Link } from 'react-router-dom';\r\nimport { BlockedFeatureContext } from '../../../access/BlockedFeatureContext';\r\nimport { OnHoverTooltip } from '../../../common';\r\n\r\nexport function TabItem({\r\n active,\r\n title,\r\n path = '',\r\n tooltip = '',\r\n disabled = false,\r\n disabledTooltip = \"\",\r\n notificationLabel = 'NEW',\r\n notificationCount = 0,\r\n counter = 0,\r\n onClick\r\n}) {\r\n const isBlocked = useContext(BlockedFeatureContext);\r\n\r\n const renderNotifications = () => {\r\n if (notificationCount) {\r\n return {notificationCount} {notificationLabel}\r\n }\r\n return null;\r\n }\r\n\r\n const renderDisabled = () => {\r\n const content = ;\r\n\r\n if (disabledTooltip) {\r\n return (\r\n \r\n {content}\r\n \r\n );\r\n }\r\n\r\n return content;\r\n }\r\n\r\n const formatTitle = () => counter ? `${title} (${counter})` : title\r\n\r\n\r\n return (\r\n
  • \r\n {\r\n disabled || isBlocked\r\n ? renderDisabled()\r\n : (\r\n \r\n {path\r\n ? {formatTitle()} {renderNotifications()}\r\n : }\r\n )\r\n }\r\n
  • \r\n );\r\n}\r\n\r\nTabItem.defaultProps = {\r\n onClick: null,\r\n state: undefined\r\n}\r\n","import React from 'react';\r\nimport classNames from \"classnames\";\r\n\r\nexport function TabList({ className = \"\", children }) {\r\n return (\r\n
      {children}
    \r\n );\r\n}\r\n","import cn from 'classnames';\r\nimport { useState } from 'react';\r\nimport IconSVG from '../../../../styles/svg-icons';\r\nimport { OnHoverTooltip } from '../../../common';\r\nimport { IColumnDefinition } from './types/ColumnDefinition';\r\n\r\ninterface Props {\r\n onCollapsed: (status: boolean) => void;\r\n defaultCollapseStatus?: boolean;\r\n}\r\n\r\nconst ExpandOptionsButton = ({ onCollapsed, defaultCollapseStatus = false}: Props) => {\r\n const [isCollapsed, setIsCollapsed] = useState(defaultCollapseStatus);\r\n\r\n const handleSetCollapsed = () => {\r\n setIsCollapsed((isCollapsed) => {\r\n onCollapsed(!isCollapsed);\r\n return !isCollapsed;\r\n });\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport const collapseStickRightColumn: IColumnDefinition = {\r\n columnKey: 'collapse-stick-right-column',\r\n renderColumnHeaderContent: (ctx: { onCollapseRightColumn: (status: boolean) => void, isOptionsColumnCollapsed: boolean}) =>\r\n ,\r\n renderColumnContent: () => '',\r\n className: 'data-list-cell-xxxs data-list-cell-icon-collapsed visible-collapse-icon padding-l-0 keep-while-collapsed',\r\n stickRight: true\r\n}\r\n","import React from 'react';\r\nimport { SecurityListRow } from '../../../../common/security-list';\r\n\r\ninterface Props {\r\n children: React.ReactNode,\r\n renderGroupByRow?: React.ReactNode\r\n}\r\n\r\nexport function TableGroupingRow({ children, renderGroupByRow }: Props) {\r\n return (\r\n <>\r\n {renderGroupByRow && {renderGroupByRow}}\r\n {children}\r\n )\r\n}\r\n","import * as React from 'react';\r\nimport cn from 'classnames';\r\nimport { values } from 'lodash';\r\nimport { ScrollSyncPane } from 'react-scroll-sync';\r\nimport { StickyTableCollapsibleRow } from './StickyTableCollapsibleRow';\r\nimport { SecurityListContent } from '../../../../common/security-list';\r\nimport { TableColumnStickType } from '../types/TableColumnStickType';\r\nimport { ColumnBuilder } from '../columns/column-builder/ColumnBuilder';\r\nimport { useDispatch } from 'react-redux';\r\nimport { tableActions } from '../../../../../actions/table.actions';\r\nimport { apiUtils } from '../../../../../utils';\r\nimport { StickyTableRow } from './StickyTableRow';\r\nimport { TableGroupingRow } from './TableGroupingRow';\r\n\r\ninterface Props {\r\n tableKey?: string;\r\n dataItems: T[];\r\n columns: ColumnBuilder[][];\r\n infiniteScrollEnabled?: boolean;\r\n isNextPageRequesting?: boolean;\r\n renderFooterRow?: (columns: ColumnBuilder[]) => React.ReactNode;\r\n onNextPageRequest?: () => void;\r\n createSecurityCustomClassName?: (dataItem: T, context: { [key: string]: any }) => string | undefined;\r\n createSecurityCustomArgs?: (dataItem: T, index: number) => { [key: string]: any };\r\n createRowCustomKey?: (dataItem: T, index: number) => string | undefined;\r\n expandAll?: boolean;\r\n collapsible: boolean;\r\n headerMiddleScrollRef: React.RefObject,\r\n headerMiddleContentRef: React.RefObject,\r\n onExpandChange: () => void;\r\n onRowClick?: (dataItem: T) => void;\r\n onRowHover?: (dataItem: T) => void;\r\n shouldRenderCollapsibleRowCallback?: (dataItem: T) => boolean;\r\n renderCollapsibleContent: (dataItem: T, type?: TableColumnStickType) => React.ReactNode | React.ReactNode[];\r\n renderGroupByRow?: (current: T, prev?: T, columnType?: TableColumnStickType) => React.ReactNode;\r\n renderLastRow?: () => React.ReactNode;\r\n}\r\n\r\nexport function StickyTableContent({\r\n tableKey,\r\n dataItems,\r\n columns,\r\n infiniteScrollEnabled = false,\r\n renderFooterRow,\r\n onNextPageRequest,\r\n isNextPageRequesting,\r\n createSecurityCustomClassName,\r\n createSecurityCustomArgs,\r\n createRowCustomKey,\r\n expandAll = false,\r\n collapsible = false,\r\n headerMiddleScrollRef,\r\n headerMiddleContentRef,\r\n onRowClick,\r\n onRowHover,\r\n onExpandChange,\r\n shouldRenderCollapsibleRowCallback,\r\n renderCollapsibleContent,\r\n renderGroupByRow,\r\n renderLastRow,\r\n}: Props) {\r\n const dispatch = useDispatch();\r\n\r\n const leftColumnRef = React.useRef(null);\r\n const rightColumnRef = React.useRef(null);\r\n const middleColumnRef = React.useRef(null);\r\n const middleColumnContentRef = React.useRef(null);\r\n const fakeScrollRef = React.useRef(null);\r\n const fakeScrollContentRef = React.useRef(null);\r\n\r\n const setFakeScrollDimensions = () => {\r\n if (\r\n middleColumnRef.current &&\r\n middleColumnContentRef.current &&\r\n fakeScrollRef.current &&\r\n fakeScrollContentRef.current &&\r\n headerMiddleScrollRef.current &&\r\n headerMiddleContentRef.current &&\r\n (leftColumnRef.current || rightColumnRef.current)\r\n ) {\r\n fakeScrollContentRef.current.style.width = `${headerMiddleContentRef.current.offsetWidth}px`;\r\n middleColumnContentRef.current.style.width = `${headerMiddleContentRef.current.offsetWidth}px`;\r\n fakeScrollRef.current.style.width = `${headerMiddleScrollRef.current.offsetWidth}px`;\r\n if (leftColumnRef.current) {\r\n fakeScrollRef.current.style.left = `${leftColumnRef.current.offsetWidth}px`;\r\n }\r\n }\r\n }\r\n\r\n React.useEffect(() => {\r\n return () => {\r\n if (!tableKey) {\r\n dispatch(tableActions.reset());\r\n }\r\n }\r\n }, [tableKey, dispatch]);\r\n\r\n React.useLayoutEffect(() => {\r\n const observer = new ResizeObserver(setFakeScrollDimensions);\r\n const ref = middleColumnRef.current;\r\n if (ref && observer) {\r\n observer.observe(ref);\r\n }\r\n return () => {\r\n if (ref && observer) {\r\n observer.unobserve(ref);\r\n }\r\n }\r\n });\r\n\r\n const rowsData = apiUtils.normalize(\r\n dataItems ?? [],\r\n (item, index) => (createRowCustomKey && createRowCustomKey(item, index)) || index,\r\n (item, index) => {\r\n const context = { rowIndex: index, ...createSecurityCustomArgs?.(item, index) };\r\n return {\r\n context,\r\n collapsible: shouldRenderCollapsibleRowCallback ? shouldRenderCollapsibleRowCallback(item) : collapsible,\r\n className: createSecurityCustomClassName?.(item, context)\r\n };\r\n }\r\n );\r\n\r\n if (!dataItems) return null;\r\n\r\n const [leftColumns = [], middleColumns = [], rightColumns = []] = columns;\r\n const hasCollapsibleRows = collapsible || values(rowsData).some(data => data.collapsible);\r\n\r\n const renderRowPart = (\r\n dataItem: T,\r\n columns: ColumnBuilder[],\r\n index: number,\r\n columnType: TableColumnStickType,\r\n collapseIconVisible: boolean = false) => {\r\n const key = (createRowCustomKey && createRowCustomKey(dataItem, index)) || index;\r\n const context = rowsData[key].context;\r\n const shouldRenderCollapsibleRow = rowsData[key].collapsible\r\n const className = rowsData[key].className;\r\n\r\n if (shouldRenderCollapsibleRow) {\r\n return (\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 return (\r\n <>\r\n \r\n
    \r\n {\r\n !!leftColumns.length &&\r\n \r\n
    \r\n {dataItems.map((item, index) => renderRowPart(item, leftColumns, index, TableColumnStickType.Left, true))}\r\n
    \r\n
    \r\n }\r\n \r\n
    \r\n \r\n {dataItems.map((item, index) => renderRowPart(item, middleColumns, index, TableColumnStickType.Middle, !leftColumns.length))}\r\n
    \r\n
    \r\n \r\n {\r\n !!rightColumns.length &&\r\n \r\n
    \r\n {dataItems.map((item, index) => renderRowPart(item, rightColumns, index, TableColumnStickType.Right))}\r\n
    \r\n
    \r\n }\r\n \r\n {renderLastRow && renderLastRow()}\r\n {renderFooterRow && renderFooterRow(columns.flat())}\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 { CollapsibleListRow } from \"../../../common/collapsible-list/CollapsibleListRow\";\r\nimport { SecurityListRow } from \"../../../common/security-list\";\r\n\r\nexport function TableContent({\r\n dataItems,\r\n columns,\r\n createSecurityCustomClassName,\r\n createSecurityCustomArgs,\r\n createRowCustomKey,\r\n shouldRenderCollapsibleRowCallback,\r\n onRowClick,\r\n onRowHover,\r\n collapsible = false,\r\n renderCollapsibleItem = null,\r\n expandAll = false,\r\n createRowRef,\r\n onExpandChange,\r\n}) {\r\n if (!dataItems || !columns) return null;\r\n\r\n return dataItems.map((s, i) => {\r\n const context = { rowIndex: i, ...createSecurityCustomArgs?.(s, i) };\r\n const className = createSecurityCustomClassName?.(s, context);\r\n const key = createRowCustomKey == null ? i : createRowCustomKey(s, i);\r\n const shouldRenderCollapsibleRow = shouldRenderCollapsibleRowCallback ? shouldRenderCollapsibleRowCallback(s) : collapsible;\r\n\r\n return shouldRenderCollapsibleRow ? (\r\n onExpandChange(key)}\r\n >\r\n {renderCollapsibleItem && renderCollapsibleItem(s)}\r\n \r\n ) : (\r\n \r\n {columns.map((c) => c.renderBody(s, context))}\r\n \r\n );\r\n });\r\n}\r\n\r\n","import { useEffect, useRef, useState } from 'react';\r\nimport classNames from 'classnames';\r\nimport {\r\n SecurityListColumn,\r\n SecurityListContainer,\r\n SecurityListContent,\r\n SecurityListHeader,\r\n} from '../../common';\r\nimport { SORT } from '../../../../constants';\r\nimport { useSortedList } from '../../../../effects';\r\nimport { ScrollSync, ScrollSyncPane } from 'react-scroll-sync';\r\nimport { StickyTableContent } from './sticky/StickyTableContent';\r\nimport { TableContent } from './TableContent';\r\nimport IconSVG from '../../../../styles/svg-icons';\r\nimport { isMac } from \"../../../../utils/isMac.utils\";\r\nimport { TableColumnStickType } from './types/TableColumnStickType';\r\nimport { useDispatch } from 'react-redux';\r\nimport { tableActions } from '../../../../actions/table.actions';\r\nimport { useAppSelector } from '../../../../effects/useAppSelector';\r\nimport { SecurityListRow } from \"../../../common/security-list\";\r\n\r\nexport function Table({\r\n tableKey,\r\n className = '',\r\n dataItems = [],\r\n columns = [],\r\n headerVisible = true,\r\n isNextPageRequesting,\r\n createSecurityCustomClassName,\r\n createSecurityCustomArgs,\r\n createHeaderCustomArgs,\r\n createRowCustomKey,\r\n shouldRenderCollapsibleRowCallback,\r\n infiniteScrollEnabled = false,\r\n sticky = false,\r\n defaultSortBy,\r\n defaultSortByDirection = SORT.ASC,\r\n onRowClick,\r\n onRowHover,\r\n onSort,\r\n customSortingCompareCallback,\r\n onNextPageRequest,\r\n renderHeaderRow,\r\n renderLastRow,\r\n renderFooterRow,\r\n collapsible = false,\r\n renderCollapsibleItem,\r\n defaultExpandAll = false,\r\n onExpandAll,\r\n renderGroupByRow,\r\n createRowRef,\r\n}) {\r\n const dispatch = useDispatch();\r\n\r\n const [sortBy, setSortBy] = useState(defaultSortBy);\r\n const [sortDirection, setSortDirection] = useState(defaultSortByDirection);\r\n const defaultSortingType = (\r\n defaultSortBy &&\r\n columns && (\r\n columns.find(c =>\r\n c.column &&\r\n c.column.columnKey === defaultSortBy) ?? { column: {} }).column.sortingType) || undefined;\r\n\r\n const [sortingType, setSortingType] = useState(defaultSortingType);\r\n const [expandAll, setExpandAll] = useState(defaultExpandAll);\r\n const expandedState = useRef({});\r\n\r\n const sortState = useAppSelector(s => tableKey && s.ui.table.sort[tableKey]);\r\n\r\n const [sortedDataItems] = useSortedList(\r\n dataItems,\r\n sortState?.sortBy ?? sortBy,\r\n sortState?.sortDirection ?? sortDirection,\r\n sortState?.sortingType ?? sortingType,\r\n !onSort,\r\n customSortingCompareCallback\r\n );\r\n\r\n const leftColumns = sticky ? columns.filter(c => c.column && c.column.stickLeft) : [];\r\n const middleColumns = sticky ? columns.filter(c => !c.column || (!c.column.stickLeft && !c.column.stickRight)) : [];\r\n const rightColumns = sticky ? columns.filter(c => c.column && c.column.stickRight) : [];\r\n const isOptionsColumnCollapsed = createHeaderCustomArgs?.().isOptionsColumnCollapsed;\r\n\r\n const tableRef = useRef(null);\r\n const headerMiddleScrollRef = useRef(null); // Sticky table middle section header sroll ref\r\n const headerMiddleContentRef = useRef(null); // Sticky table middle section header content ref\r\n\r\n\r\n const renderSecurityLastRow = () => {\r\n if (!renderLastRow || infiniteScrollEnabled) {\r\n return null;\r\n }\r\n\r\n const rendered = renderLastRow();\r\n\r\n if (!rendered) {\r\n return null;\r\n }\r\n\r\n if (sticky) {\r\n return rendered;\r\n }\r\n\r\n return (\r\n \r\n \r\n {rendered}\r\n \r\n \r\n );\r\n }\r\n\r\n useEffect(() => {\r\n if (tableKey) {\r\n dispatch(tableActions.sortByChange(tableKey, defaultSortBy, defaultSortByDirection, defaultSortingType));\r\n }\r\n }, [tableKey, defaultSortBy, defaultSortByDirection, defaultSortingType, dispatch])\r\n\r\n useEffect(() => {\r\n setExpandAll(defaultExpandAll);\r\n }, [defaultExpandAll]);\r\n\r\n if (!dataItems.length) return null;\r\n\r\n const handleHeaderClick = (field, sortingType) => {\r\n setSortingType(sortingType);\r\n if (onSort && typeof onSort === 'function') {\r\n onSort(\r\n field,\r\n field === sortBy\r\n ? (sortDirection === SORT.ASC ? SORT.DESC : SORT.ASC)\r\n : SORT.DESC\r\n );\r\n }\r\n if (field === sortBy) {\r\n const direction = sortDirection === SORT.ASC ? SORT.DESC : SORT.ASC;\r\n setSortDirection(direction);\r\n dispatch(tableActions.sortByChange(tableKey, field, direction, sortingType));\r\n } else {\r\n setSortBy(field);\r\n setSortDirection(SORT.DESC);\r\n dispatch(tableActions.sortByChange(tableKey, field, SORT.DESC, sortingType));\r\n }\r\n };\r\n\r\n const handleExpandedChange = itemKey => {\r\n const expanded = expandedState.current[itemKey] === undefined ? expandAll : expandedState.current[itemKey];\r\n expandedState.current = {\r\n ...expandedState.current,\r\n [itemKey]: !expanded\r\n };\r\n\r\n const keys = Object.keys(expandedState.current);\r\n const collapsibleItems = shouldRenderCollapsibleRowCallback ? dataItems.filter(d => shouldRenderCollapsibleRowCallback(d)) : dataItems;\r\n if (keys.length === collapsibleItems.length) {\r\n if (\r\n (expandAll && keys.every(key => !expandedState.current[key])) ||\r\n (!expandAll && keys.every(key => expandedState.current[key]))\r\n ) {\r\n handleExpandAll();\r\n }\r\n }\r\n }\r\n\r\n const handleExpandAll = () => {\r\n expandedState.current = {};\r\n setExpandAll(!expandAll);\r\n dispatch(tableActions.resetExpanded());\r\n\r\n if (onExpandAll) {\r\n onExpandAll(!expandAll);\r\n }\r\n }\r\n\r\n const renderCollapsibleHeader = () => {\r\n if (collapsible) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return null;\r\n }\r\n\r\n const onCollapseRightColumn = (collapsed) => {\r\n if (tableRef.current) {\r\n const setIsOptionsColumnCollapsed = createHeaderCustomArgs?.().setIsOptionsColumnCollapsed;\r\n if (setIsOptionsColumnCollapsed) {\r\n setIsOptionsColumnCollapsed(collapsed);\r\n }\r\n\r\n if (collapsed) {\r\n tableRef.current.classList.add('right-sticky-collapsed')\r\n } else {\r\n tableRef.current.classList.remove('right-sticky-collapsed')\r\n }\r\n }\r\n }\r\n\r\n const renderStickyTable = () => {\r\n const headerContext = { ...createHeaderCustomArgs?.(), onCollapseRightColumn };\r\n\r\n return (\r\n \r\n <>\r\n {\r\n headerVisible &&\r\n \r\n {!!leftColumns.length && (\r\n
    \r\n {renderCollapsibleHeader()}\r\n {renderHeaderRow\r\n ? renderHeaderRow(TableColumnStickType.Left, headerContext)\r\n : leftColumns.map(c => c.renderHeader(sortBy, sortDirection, handleHeaderClick, headerContext))\r\n }\r\n
    \r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n {!leftColumns.length && renderCollapsibleHeader()}\r\n {renderHeaderRow\r\n ? renderHeaderRow(TableColumnStickType.Middle, headerContext)\r\n : middleColumns.map(c => c.renderHeader(sortBy, sortDirection, handleHeaderClick, headerContext))\r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n {!!rightColumns.length && (\r\n
    \r\n
    \r\n {renderHeaderRow\r\n ? renderHeaderRow(TableColumnStickType.Right, headerContext)\r\n : rightColumns.map(c => c.renderHeader(sortBy, sortDirection, handleHeaderClick, headerContext))\r\n }\r\n
    \r\n
    \r\n )}\r\n
    \r\n }\r\n \r\n \r\n
    \r\n );\r\n }\r\n\r\n const renderTable = () => {\r\n const headerContext = { ...createHeaderCustomArgs?.(), onCollapseRightColumn };\r\n const headers = columns.map(c => headerVisible && c.renderHeader(sortBy, sortDirection, handleHeaderClick, headerContext));\r\n\r\n return (\r\n <>\r\n {\r\n headerVisible &&\r\n \r\n {renderCollapsibleHeader()}\r\n {headers}\r\n \r\n }\r\n \r\n \r\n {renderSecurityLastRow()}\r\n \r\n {renderFooterRow && renderFooterRow(columns)}\r\n \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n \r\n {sticky ? renderStickyTable() : renderTable()}\r\n \r\n
    \r\n );\r\n}\r\n\r\nTable.defaultProps = {\r\n tableKey: null,\r\n createSecurityCustomClassName: null,\r\n createSecurityCustomArgs: null,\r\n createHeaderCustomArgs: null,\r\n createRowCustomKey: null,\r\n shouldRenderCollapsibleRowCallback: null,\r\n onSort: null,\r\n customSortingCompareCallback: null,\r\n defaultSortBy: null,\r\n onNextPageRequest: null,\r\n onRowClick: null,\r\n onRowHover: null,\r\n onExpandAll: null,\r\n renderCollapsibleItem: null,\r\n renderHeaderRow: null,\r\n renderLastRow: null,\r\n isNextPageRequesting: null,\r\n renderFooterRow: null,\r\n renderGroupByRow: null,\r\n createRowRef: null,\r\n}\r\n","import React from 'react';\r\nimport {\r\n SecurityListHeaderColumn,\r\n SecurityListColumn\r\n} from '../../../common';\r\nimport { formatUtils } from '../../../../../utils';\r\nimport { OnHoverTooltip } from \"../../../../common\";\r\nimport { constants } from '../../../../../constants';\r\n\r\nexport const color = {\r\n columnName: 'color',\r\n renderHeader: function () {\r\n return (\r\n \r\n Color\r\n \r\n );\r\n },\r\n renderBody: function (position) {\r\n const colorValue = formatUtils.formatColor(position.color) || constants.emptyPlaceholder;\r\n\r\n return (\r\n \r\n \r\n {colorValue}\r\n \r\n \r\n );\r\n }\r\n};\r\n","import React from 'react';\r\nimport { SecurityListHeaderColumn } from '../../../../../common/security-list';\r\nimport { OnHoverTooltip, Relative } from '../../../../../common';\r\n\r\ninterface ColumnHeaderWrapperProps {\r\n columnTitle: string | React.ReactNode;\r\n onClick?: (columnName: string, sortingType?: string) => void;\r\n headerOnHoverText?: string;\r\n headerClassName?: string;\r\n sortBy?: string;\r\n sortDirection?: string;\r\n sortingField?: string;\r\n sortingType?: string;\r\n}\r\n\r\nexport function ColumnHeaderWrapper(\r\n {\r\n columnTitle,\r\n headerOnHoverText,\r\n onClick,\r\n headerClassName,\r\n sortBy,\r\n sortDirection,\r\n sortingField,\r\n sortingType,\r\n }: ColumnHeaderWrapperProps\r\n) {\r\n const handleClick = () => {\r\n if (sortingField && onClick) {\r\n onClick(sortingField, sortingType)\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {columnTitle}\r\n \r\n \r\n \r\n )\r\n}\r\n","import * as React from 'react';\r\nimport cn from 'classnames';\r\nimport { IColumnDefinition } from '../../types/ColumnDefinition';\r\nimport { SecurityListColumn } from '../../../index';\r\nimport { ColumnHeaderWrapper } from './ColumnHeaderWrapper';\r\n\r\nexport class ColumnBuilder {\r\n constructor(column: IColumnDefinition) {\r\n this.column = column;\r\n }\r\n\r\n column: IColumnDefinition;\r\n\r\n renderHeader(\r\n sortBy?: string,\r\n sortDirection?: string,\r\n onClick?: (fieldName: string) => void,\r\n context?: any,\r\n ) {\r\n const columnHeaderContent = this.column.renderColumnHeaderContent(context);\r\n\r\n const headerClassName = cn(this.column.className ?? this.column.headerClassName, {\r\n 'hide-column-stick-right': this.column.stickRight\r\n })\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n renderBody(entity: TEntity, context: any) {\r\n const columnContent = this.column.renderColumnContent(entity, context);\r\n return (\r\n {}}\r\n >\r\n {columnContent}\r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport {\r\n SecurityListHeaderColumn,\r\n SecurityListColumn\r\n} from '../../../common';\r\n\r\nexport const isinCusip = {\r\n columnName: 'isinCusip',\r\n renderHeader: function (sortBy, sortDirection, onClick) {\r\n return (\r\n onClick(this.columnName) : null}\r\n >\r\n ISIN/CUSIP\r\n \r\n\r\n );\r\n },\r\n renderBody: function (position) {\r\n return (\r\n \r\n {position.isinCusip}\r\n \r\n );\r\n }\r\n};\r\n","import React from 'react';\r\nimport {\r\n SecurityListHeaderColumn,\r\n SecurityListColumn\r\n} from '../../../common';\r\n\r\nexport const ticker = {\r\n columnName: 'ticker',\r\n renderHeader: function (sortBy, sortDirection, onClick) {\r\n return (\r\n onClick(this.columnName) : null}\r\n >\r\n Ticker\r\n \r\n );\r\n },\r\n renderBody: function (entry) {\r\n return (\r\n \r\n {entry.ticker}\r\n \r\n );\r\n }\r\n};\r\n","import React from 'react';\r\nimport {\r\n SecurityListHeaderColumn,\r\n SecurityListColumn\r\n} from '../../../common';\r\n\r\nexport const ccy = {\r\n columnName: 'currency',\r\n renderHeader: function (sortBy, sortDirection, onClick) {\r\n return (\r\n onClick(this.columnName) : null}\r\n >\r\n Ccy\r\n \r\n );\r\n },\r\n renderBody: function (position) {\r\n return (\r\n \r\n {position.currency}\r\n \r\n );\r\n }\r\n};\r\n","import React from 'react';\r\nimport cn from 'classnames';\r\nimport { BwicPositionBase } from '../../../../types/bwic/BwicPositionBase';\r\nimport { User } from '../../../../types/account/User';\r\nimport { user } from '../../../../user';\r\nimport { FormError } from '../../../controls/FormError';\r\nimport { RequestState } from '../../../../constants/request-state';\r\nimport { pxTalkService } from '../../../../services/pxTalk.service';\r\nimport { LevelType } from '../../../../types/bwic/LevelType';\r\nimport { jsonUtils } from '../../../../utils/json.utils';\r\nimport { errorMessages } from '../../../../constants/error.messages';\r\nimport { isRequesting } from '../../../../utils';\r\n\r\ninterface Props {\r\n bwicReferenceName: string;\r\n position: BwicPositionBase;\r\n disabled: boolean;\r\n}\r\n\r\nexport function PxTalkChange({ bwicReferenceName, position, disabled }: Props) {\r\n const currentUser: User = user.current() as unknown as User;\r\n const currentPriceTalk = position.pxTalks?.find(p => p.company.id === currentUser?.companyId);\r\n const [level, setLevel] = React.useState('');\r\n const isChanged = (level && !currentPriceTalk) || level !== (currentPriceTalk?.talk ?? '');\r\n const { requestState, submit, error } = usePriceTalkSubmit(bwicReferenceName, position.id, level);\r\n\r\n React.useEffect(() => {\r\n if (currentPriceTalk) {\r\n setLevel(currentPriceTalk?.talk ?? '');\r\n }\r\n // eslint-disable-next-line\r\n }, [currentPriceTalk])\r\n\r\n const className = cn('display-inline', {\r\n 'form-control-changed': isChanged,\r\n 'form-control-error': error\r\n });\r\n\r\n const handleBlur = () => {\r\n if (isChanged && !isRequesting(requestState)) {\r\n submit();\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n setLevel(e.target.value)}\r\n onBlur={handleBlur}\r\n onFocus={e => e.target.select()}\r\n onClick={e => e.stopPropagation()}\r\n maxLength={8}\r\n />\r\n \r\n
    \r\n\r\n );\r\n}\r\n\r\ntype TNormalizeResult = { parsedLevel: number, level: string };\r\n\r\nfunction usePriceTalkSubmit(bwicReferenceName: string, positionId: number, value: string) {\r\n const [requestState, setRequestState] = React.useState(RequestState.none);\r\n const [error, setError] = React.useState('');\r\n\r\n React.useEffect(() => {\r\n if (error) {\r\n setError('');\r\n }\r\n // eslint-disable-next-line\r\n }, [value])\r\n\r\n const level = value.trim();\r\n\r\n const submit = async () => {\r\n setRequestState(RequestState.request);\r\n\r\n const normalizeResult = level ? await normalize() : { error: '' };\r\n\r\n if (normalizeResult.error) {\r\n setError(normalizeResult.error);\r\n setRequestState(RequestState.failure);\r\n return;\r\n }\r\n\r\n await doSubmit(normalizeResult.normalized);\r\n }\r\n\r\n const normalize = async () => {\r\n try {\r\n const normalized: TNormalizeResult = await pxTalkService.normalize(value, LevelType.price);\r\n return { normalized };\r\n } catch (e) {\r\n const responseMessage: { error?: string } | undefined = e?.message && jsonUtils.tryParse(e.message);\r\n const error = responseMessage?.error || errorMessages.invalidValue;\r\n return { error };\r\n }\r\n }\r\n\r\n const doSubmit = async (normalized?: TNormalizeResult) => {\r\n try {\r\n const model = {\r\n positionId,\r\n talk: normalized?.level ?? '',\r\n normalizedLevel: normalized?.parsedLevel,\r\n levelType: LevelType.price\r\n };\r\n\r\n await pxTalkService.bulkSave(bwicReferenceName, [model]);\r\n setError('');\r\n setRequestState(RequestState.success);\r\n } catch (e) {\r\n setError('Failed to save');\r\n setRequestState(RequestState.failure);\r\n }\r\n }\r\n\r\n return { requestState, submit, error };\r\n}\r\n","import React from 'react';\r\nimport { SecurityListHeaderColumn, SecurityListColumn } from '../../../common';\r\nimport { PxTalkChange } from '../../../brokerDealer/scheduledSecurities/PxTalkChange';\r\n\r\nexport const pxTalkChange = {\r\n columnName: 'pxTalkChange',\r\n renderHeader: function () {\r\n return (\r\n \r\n My Px Talk, Price\r\n \r\n );\r\n },\r\n renderBody: function (position, context) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n","import React from 'react';\r\nimport {\r\n SecurityListHeaderColumn,\r\n SecurityListColumn\r\n} from '../../../common';\r\nimport { HistoryButton } from '../../../../bwic-history/HistoryButton';\r\n\r\nexport const history = {\r\n columnName: 'history',\r\n renderHeader: function () {\r\n return (\r\n \r\n Actions\r\n \r\n );\r\n },\r\n renderBody: function (position) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n","import * as React from 'react';\r\nimport {\r\n SecurityListHeaderColumn,\r\n SecurityListColumn\r\n} from '../../../common';\r\nimport { biddingUtils, formatUtils } from '../../../../../utils';\r\nimport { OnHoverTooltip } from \"../../../../common\";\r\nimport { constants } from '../../../../../constants';\r\nimport { BwicPosition } from '../../../../../types/bwic/BwicPosition';\r\nimport { AxedIcon } from \"../../AxedIcon\";\r\nimport { FinalIcon } from \"../../FinalIcon\";\r\n\r\nexport const bid = {\r\n columnName: 'bid',\r\n renderHeader: function () {\r\n return (\r\n \r\n Bid\r\n \r\n );\r\n },\r\n renderBody: function (position: BwicPosition) {\r\n const bid = biddingUtils.getCurrentBid(position.bids);\r\n let formattedBid, axed, final;\r\n\r\n if (bid) {\r\n formattedBid = bid.pass ? 'Pass' : formatUtils.formatBid(bid.value);\r\n axed = bid.axed;\r\n final = bid.final;\r\n }\r\n\r\n return (\r\n \r\n
    \r\n \r\n {formattedBid || constants.emptyPlaceholder}\r\n \r\n
    \r\n {axed && }\r\n {final && }\r\n
    \r\n
    \r\n \r\n );\r\n }\r\n};\r\n","import React from 'react';\r\nimport {\r\n SecurityListHeaderColumn,\r\n SecurityListColumn\r\n} from '../../../../common';\r\nimport { isActiveTrade } from '../../../../../../types/trades/TradeStatus';\r\n\r\nexport const colorDistributionTradedStatus = {\r\n columnName: 'colorDistributionTradedStatus',\r\n renderHeader: function () {\r\n return (\r\n \r\n Status\r\n \r\n );\r\n },\r\n renderBody: function (position) {\r\n return (\r\n \r\n {isActiveTrade(position.trade) ? 'Traded' : 'DNT'}\r\n \r\n );\r\n }\r\n};\r\n","import {\r\n SecurityListHeaderColumn,\r\n SecurityListColumn\r\n} from '../../../../common';\r\nimport { ColorType } from '../../../../seller/colorDistribution';\r\nimport { isActiveTrade } from '../../../../../../types/trades/TradeStatus';\r\nimport { RoleActionBlocker } from '../../../../../access/RoleActionBlocker';\r\nimport { roles } from '../../../../../../constants';\r\n\r\nexport const colorDistributionType = {\r\n columnName: 'colorDistributionType',\r\n renderHeader: function () {\r\n return (\r\n \r\n Type\r\n \r\n );\r\n },\r\n renderBody: function (position) {\r\n const isTraded = isActiveTrade(position.trade);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n","import React from 'react';\r\nimport {\r\n SecurityListHeaderColumn,\r\n SecurityListColumn\r\n} from '../../../../common';\r\nimport { ColorLabel } from '../../../../seller/colorDistribution';\r\nimport { isActiveTrade } from '../../../../../../types/trades/TradeStatus';\r\n\r\nexport const colorDistributionLabel = {\r\n columnName: 'colorDistributionLabel',\r\n renderHeader: function () {\r\n return (\r\n \r\n Color\r\n \r\n );\r\n },\r\n renderBody: function (position) {\r\n const isTraded = isActiveTrade(position.trade);\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n","import * as React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { bidPlacementActions } from '../../../../actions/bid-placement.actions';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { Checkbox } from '../../../controls/Checkbox';\r\nimport { useAppDispatch } from '../../../../effects/useAppDispatch';\r\n\r\ninterface Props {\r\n positionId: number;\r\n disabled: boolean;\r\n currentAxed: boolean;\r\n currentPass: boolean;\r\n}\r\n\r\nexport function Axed({ positionId, disabled, currentAxed, currentPass }: Props) {\r\n const dispatch = useAppDispatch();\r\n const bid = useSelector((s: AppState) => s.brokerDealerBidding.editBid[positionId])\r\n const axed = bid?.axed ?? currentAxed ?? false;\r\n const pass = bid?.pass == null ? currentPass : bid.pass;\r\n\r\n const handleChange = (e: React.ChangeEvent) => {\r\n e.stopPropagation();\r\n dispatch(bidPlacementActions.axedChange(positionId, e.target.checked))\r\n };\r\n\r\n return \r\n}\r\n","import * as React from 'react';\r\nimport IconSVG from '../../../../../../styles/svg-icons';\r\nimport { Axed } from '../../../bid-placement/Axed';\r\nimport { OnHoverTooltip } from '../../../../../common';\r\nimport { SecurityListHeaderColumn, SecurityListColumn } from '../../../../../common/security-list';\r\nimport { biddingUtils } from '../../../../../../utils';\r\nimport { BwicPosition } from '../../../../../../types/bwic/BwicPosition';\r\nimport { BwicBase } from '../../../../../../types/bwic/BwicBase';\r\nimport { AllToAllArgeementRequiredActionBlocker } from '../../../../../agreements/AllToAllArgeementRequiredActionBlocker';\r\n\r\nconst ColumnHeader = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport const axed = {\r\n columnName: 'axed',\r\n renderHeader: function () {\r\n return ;\r\n },\r\n renderBody: function (position: BwicPosition, context: { biddingControlsVisible: boolean, enabled: boolean, bwic: BwicBase }) {\r\n const { biddingControlsVisible, enabled } = context;\r\n const currentBid = biddingUtils.getCurrentBid(position.bids);\r\n\r\n return (\r\n \r\n {biddingControlsVisible &&\r\n \r\n {\r\n blocked => (\r\n \r\n )\r\n }\r\n }\r\n {!biddingControlsVisible && Boolean(currentBid?.axed) && }\r\n \r\n );\r\n }\r\n};\r\n","import { useSelector } from 'react-redux';\r\nimport { bidPlacementActions } from '../../../../actions/bid-placement.actions';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { Checkbox } from '../../../controls/Checkbox';\r\nimport { useAppDispatch } from '../../../../effects/useAppDispatch';\r\n\r\ninterface Props {\r\n positionId: number;\r\n disabled: boolean;\r\n currentFinal: boolean;\r\n currentPass: boolean;\r\n}\r\n\r\nexport function Final({ positionId, disabled, currentFinal, currentPass }: Props) {\r\n const dispatch = useAppDispatch();\r\n const bid = useSelector((s: AppState) => s.brokerDealerBidding.editBid[positionId])\r\n const final = bid?.final ?? currentFinal ?? false;\r\n const pass = bid?.pass == null ? currentPass : bid.pass;\r\n\r\n const handleChange = (e: React.ChangeEvent) => {\r\n e.stopPropagation();\r\n dispatch(bidPlacementActions.finalChange(positionId, e.target.checked))\r\n };\r\n\r\n return \r\n}\r\n","import * as React from 'react';\r\nimport { SecurityListHeaderColumn, SecurityListColumn } from '../../../../../common/security-list';\r\nimport { OnHoverTooltip } from '../../../../../common';\r\nimport IconSVG from '../../../../../../styles/svg-icons';\r\nimport { Final } from '../../../bid-placement/Final';\r\nimport { BwicPosition } from '../../../../../../types/bwic/BwicPosition';\r\nimport { biddingUtils } from '../../../../../../utils';\r\nimport { BwicBase } from '../../../../../../types/bwic/BwicBase';\r\nimport { AllToAllArgeementRequiredActionBlocker } from '../../../../../agreements/AllToAllArgeementRequiredActionBlocker';\r\n\r\nconst ColumnHeader = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport const final = {\r\n columnName: 'final',\r\n renderHeader: function () {\r\n return ;\r\n },\r\n renderBody: function (position: BwicPosition, context: { biddingControlsVisible: boolean, enabled: boolean, bwic: BwicBase }) {\r\n const { biddingControlsVisible, enabled } = context;\r\n const currentBid = biddingUtils.getCurrentBid(position.bids);\r\n\r\n return (\r\n \r\n {biddingControlsVisible &&\r\n \r\n {\r\n blocked => (\r\n \r\n )\r\n }\r\n }\r\n {!biddingControlsVisible && Boolean(currentBid?.final) && }\r\n \r\n );\r\n }\r\n};\r\n","import * as React from 'react';\r\nimport cn from 'classnames';\r\nimport { useSelector } from 'react-redux';\r\nimport { bidPlacementActions } from '../../../../actions';\r\nimport { formatUtils, numericUtils, stringUtils, biddingUtils } from '../../../../utils';\r\nimport { constants } from '../../../../constants';\r\nimport { BidLevelDelta } from '../../../common/bidding/BidLevelDelta';\r\nimport { RevertBidButton } from \"../../../common/RevertBidButton\";\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { FormError } from '../../../controls';\r\nimport { BwicPosition } from '../../../../types/bwic/BwicPosition';\r\nimport { useAppDispatch } from '../../../../effects/useAppDispatch';\r\n\r\nexport interface BidInputProps {\r\n enabled: boolean;\r\n readonly: boolean;\r\n position: BwicPosition;\r\n children?: (changed: boolean) => React.ReactNode;\r\n}\r\n\r\nexport function Bid({ enabled, readonly, position, children }: BidInputProps) {\r\n const positionId = position.id;\r\n\r\n const dispatch = useAppDispatch();\r\n const [hasFocus, setHasFocus] = React.useState(false);\r\n const inputRef = React.useRef(null);\r\n const editState = useSelector((s: AppState) => s.brokerDealerBidding.editBid[positionId]); \r\n const currentBid = biddingUtils.getCurrentBid(position.bids);\r\n const editingValue = (editState?.pass && 'Pass') || editState?.value;\r\n const currentValue = currentBid?.pass ? 'Pass' : formatUtils.formatBid(currentBid?.value);\r\n const hasError = Boolean(editState?.errors?.bid);\r\n\r\n const isChanged = editState != null && (\r\n (editState.pass != null && Boolean(editState.pass) !== Boolean(currentBid?.pass)) ||\r\n (!stringUtils.isNullOrEmpty(editState.value) && numericUtils.numberOrDefault(editState.value) !== numericUtils.numberOrDefault(currentBid?.value))\r\n );\r\n\r\n const handleFocus = () => {\r\n if (inputRef?.current) {\r\n inputRef.current.select();\r\n setHasFocus(true);\r\n }\r\n };\r\n\r\n const handleChange = (e: React.ChangeEvent) => {\r\n const rawValue = e.target.value;\r\n const changedBidValue = rawValue ? rawValue.replace(/\\s/g, '') : rawValue;\r\n\r\n if (changedBidValue && !(constants.bidNumber.test(changedBidValue))) {\r\n return null;\r\n }\r\n\r\n dispatch(bidPlacementActions.bidChange(positionId, changedBidValue))\r\n };\r\n\r\n const handleBlur = () => {\r\n dispatch(bidPlacementActions.formatBid(positionId));\r\n setHasFocus(false);\r\n };\r\n\r\n const handleRevert = (e: React.MouseEvent) => {\r\n dispatch(bidPlacementActions.revert(positionId));\r\n e.stopPropagation();\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {\r\n readonly &&\r\n \r\n {currentValue ? currentValue : constants.emptyPlaceholder}\r\n \r\n }\r\n {\r\n !readonly &&\r\n <>\r\n e.stopPropagation()}\r\n />\r\n {hasError && }\r\n {\r\n hasFocus &&\r\n isChanged &&\r\n currentBid != null &&\r\n Boolean(currentBid.value) &&\r\n numericUtils.numberOrDefault(editState?.value) > 0 &&\r\n \r\n }\r\n \r\n }\r\n
    \r\n {children?.(isChanged)}\r\n {isChanged && }\r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { BwicProcessType, Process } from '../../../../types/models/Process';\r\nimport { Bid, BidInputProps } from './Bid';\r\nimport { OpenBiddingStatus } from '../../../../types/enums/OpenBiddingStatus';\r\n\r\ninterface Props extends BidInputProps {\r\n process: Process;\r\n}\r\n\r\nexport function LiveBid({ position, process, enabled, readonly }: Props) {\r\n if (process.type !== BwicProcessType.Live || !process.liveBidding) return null;\r\n\r\n const liveBiddingReadonly = process.stagedBiddingStatus === OpenBiddingStatus.improvementRoundEnded;\r\n\r\n return \r\n}","import React from 'react';\r\nimport { Bid, BidInputProps } from './Bid';\r\nimport { BwicProcessType, Process } from '../../../../types/models/Process';\r\nimport { OpenBiddingStatus } from '../../../../types/enums/OpenBiddingStatus';\r\nimport { biddingUtils } from '../../../../utils';\r\nimport { jumpBallUtils } from '../../../../utils/jump-ball.utils';\r\n\r\ninterface Props extends BidInputProps {\r\n process: Process;\r\n}\r\n\r\nexport function JumpBallBid({ position, process, enabled, readonly }: Props) {\r\n if (process.type !== BwicProcessType.JumpBall || !process.jumpBall) return null;\r\n\r\n const currentBid = biddingUtils.getCurrentBid(position.bids);\r\n\r\n const jumpBallCanBid = () => jumpBallUtils.canBid(\r\n process.stagedBiddingStatus,\r\n currentBid,\r\n position.isStage2Participant\r\n );\r\n const jumpBallReadonly = process.stagedBiddingStatus === OpenBiddingStatus.improvementRoundEnded;\r\n\r\n return \r\n}\r\n","import React from 'react';\r\nimport { Bid, BidInputProps } from './Bid';\r\nimport { BwicProcessType, Process } from '../../../../types/models/Process';\r\nimport { OpenBiddingStatus } from '../../../../types/enums/OpenBiddingStatus';\r\nimport { topXUtils } from '../../../../utils/top-x.utils';\r\n\r\ninterface Props extends BidInputProps {\r\n process: Process;\r\n}\r\n\r\nexport function TopXBid({ position, process, enabled, readonly }: Props) {\r\n if (process.type !== BwicProcessType.TopX || !process.topX) return null;\r\n\r\n const topXReadonly = process.stagedBiddingStatus === OpenBiddingStatus.improvementRoundEnded;\r\n\r\n return \r\n}\r\n","import React from 'react';\r\nimport { Bid, BidInputProps } from './Bid';\r\nimport { BwicProcessType, Process } from '../../../../types/models/Process';\r\n\r\ninterface Props extends BidInputProps {\r\n process: Process;\r\n}\r\n\r\nexport function BFFBid({ position, process, enabled, readonly }: Props) {\r\n if (process.type !== BwicProcessType.BestFootForward) return null;\r\n\r\n return \r\n}\r\n","import * as React from 'react';\r\nimport { BwicBase } from '../../../../../../types/bwic/BwicBase';\r\nimport { BwicPosition } from '../../../../../../types/bwic/BwicPosition';\r\nimport { BwicProcessType } from '../../../../../../types/models/Process';\r\nimport { SecurityListHeaderColumn, SecurityListColumn } from '../../../../../common/security-list';\r\nimport { Bid } from '../../../bid-placement/Bid';\r\nimport { LiveBid } from '../../../bid-placement/LiveBid';\r\nimport { JumpBallBid } from '../../../bid-placement/JumpBallBid';\r\nimport { TopXBid } from '../../../bid-placement/TopXBid';\r\nimport { BFFBid } from '../../../bid-placement/BFFBid';\r\nimport { AllToAllArgeementRequiredActionBlocker } from '../../../../../agreements/AllToAllArgeementRequiredActionBlocker';\r\n\r\nexport const bid = {\r\n columnName: 'bid',\r\n renderHeader: function () {\r\n return (\r\n \r\n Bid\r\n \r\n );\r\n },\r\n renderBody: function (\r\n position: BwicPosition,\r\n context: { biddingControlsVisible: boolean, enabled: boolean, bwic: BwicBase }) {\r\n const props = {\r\n position,\r\n readonly: !context.biddingControlsVisible\r\n };\r\n\r\n return (\r\n \r\n \r\n {\r\n blocked => (\r\n <>\r\n {context.bwic.process.type === BwicProcessType.Standard && }\r\n {context.bwic.process.type === BwicProcessType.Live && }\r\n {context.bwic.process.type === BwicProcessType.JumpBall && }\r\n {context.bwic.process.type === BwicProcessType.TopX && }\r\n {context.bwic.process.type === BwicProcessType.BestFootForward && }\r\n \r\n )\r\n }\r\n \r\n \r\n );\r\n }\r\n};\r\n","import React from 'react';\r\nimport { SecurityListHeaderColumn, SecurityListColumn } from '../../../../../common/security-list';\r\nimport { brokerDealerAccessState } from '../../../../../../constants/bidding';\r\nimport { biddingUtils } from '../../../../../../utils/bidding.utils';\r\nimport { BidFeedback } from '../../../../brokerDealer/biddingSecurities/BidFeedback';\r\n\r\nfunction FeedbackBody({ position, bwic, accessState }) {\r\n if (accessState === brokerDealerAccessState.notInvited) return null;\r\n\r\n const currentBid = biddingUtils.getCurrentBid(position.bids);\r\n\r\n return \r\n}\r\n\r\nexport const feedback = {\r\n columnName: 'feedback',\r\n renderHeader: function () {\r\n return (\r\n \r\n Feedback\r\n \r\n );\r\n },\r\n renderBody: function (position, context) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n","import * as React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { brokerDealerBiddingActions } from '../../../../actions/brokerDealer.bidding.actions';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { DirectBiddingDisclaimerActionBlocker } from '../../../direct-bidding-agreement-disclaimer/DirectBiddingDisclaimerActionBlocker';\r\nimport { FeatureButton } from '../../../access/FeatureButton';\r\nimport { Bid } from '../../../../types/bidding/Bid';\r\nimport { useAgreement } from '../../../seller-buyside/useAgreement';\r\nimport { Rating } from '../../../../types/enums/Rating';\r\nimport { OnHoverTooltip } from '../../../common';\r\nimport { values } from 'lodash';\r\nimport { useAppDispatch } from '../../../../effects/useAppDispatch';\r\n\r\ninterface Props {\r\n positionId: number;\r\n disabled: boolean;\r\n isAllToAll: boolean;\r\n currentBid?: Bid;\r\n rating: Rating;\r\n}\r\n\r\nexport function BidButton({ positionId, rating, disabled, isAllToAll, currentBid }: Props) {\r\n const dispatch = useAppDispatch();\r\n\r\n const { agreement } = useAgreement();\r\n const editState = useSelector((s: AppState) => s.brokerDealerBidding.editBid[positionId]);\r\n const canSubmit = editState?.canSubmit ?? false;\r\n const hasErrors = values(editState?.errors).some(e => !!e) || editState?.commissionError;\r\n\r\n const getText = () => {\r\n const defaultText = { text: 'bid', tooltip: undefined };\r\n if (hasErrors) return defaultText; // invalid bid or commission\r\n if(editState?.pass || (currentBid?.pass && !canSubmit)) return defaultText; // Pass\r\n if (!currentBid && !editState?.value) return defaultText; // no bid\r\n if(editState?.value === '' || (isAllToAll && editState?.commission === '')) return defaultText;\r\n\r\n const commission = isAllToAll\r\n ? Number(\r\n editState?.commission ??\r\n currentBid?.commission ??\r\n agreement?.commissions[rating])\r\n : undefined;\r\n\r\n return commission\r\n ? {\r\n text: \"Bid\",\r\n tooltip: canSubmit ? \"Click to submit bid includes commission.\" : \"\"\r\n } : { text: \"Bid\", tooltip: undefined };\r\n }\r\n\r\n const handleClick = (e?: React.MouseEvent) => {\r\n dispatch(brokerDealerBiddingActions.bidSingle(positionId));\r\n e && e.stopPropagation();\r\n }\r\n\r\n const { text, tooltip } = getText();\r\n\r\n return (\r\n \r\n \r\n \r\n {text}\r\n \r\n \r\n \r\n );\r\n}\r\n","import { useSelector } from 'react-redux';\r\nimport { bidPlacementActions } from '../../../../actions/bid-placement.actions';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { useAppDispatch } from '../../../../effects/useAppDispatch';\r\n\r\ninterface Props {\r\n positionId: number;\r\n disabled: boolean;\r\n currentPass: boolean;\r\n}\r\n\r\nexport function PassButton({ positionId, disabled, currentPass }: Props) {\r\n const dispatch = useAppDispatch();\r\n const pass = useSelector((s: AppState) => s.brokerDealerBidding.editBid[positionId]?.pass) ?? false;\r\n\r\n const handleClick = (e: React.MouseEvent) => {\r\n dispatch(bidPlacementActions.passChange(positionId, true));\r\n e.stopPropagation();\r\n }\r\n\r\n return (\r\n \r\n pass\r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { BwicBase } from '../../../../../../types/bwic/BwicBase';\r\nimport { BwicPosition } from '../../../../../../types/bwic/BwicPosition';\r\nimport { TradeStatus } from '../../../../../../types/trades/TradeStatus';\r\nimport { biddingUtils } from '../../../../../../utils/bidding.utils';\r\nimport { AllToAllArgeementRequiredActionBlocker } from '../../../../../agreements/AllToAllArgeementRequiredActionBlocker';\r\nimport { SecurityListColumn, SecurityListHeaderColumn } from '../../../../../common/security-list';\r\nimport { TradedToMe } from '../../../../../trade/TradedToMe';\r\nimport { AffirmTradeButtons } from '../../../../brokerDealer/trade-affirm';\r\nimport { BidButton } from '../../../bid-placement/BidButton';\r\nimport { PassButton } from '../../../bid-placement/PassButton';\r\nimport RejectedLink from '../../../RejectedLink';\r\n\r\n\r\nexport const brokerDealerActionButtons = {\r\n columnName: 'brokerDealerActionButtons',\r\n renderHeader: function () {\r\n return ;\r\n },\r\n renderBody: function (\r\n position: BwicPosition,\r\n context: { biddingControlsVisible: boolean, enabled: boolean, hasBid: boolean, bwic: BwicBase }) {\r\n const { biddingControlsVisible, enabled, hasBid } = context;\r\n const currentBid = biddingUtils.getCurrentBid(position.bids);\r\n\r\n return (\r\n { e.stopPropagation() }}>\r\n {biddingControlsVisible && !context.bwic.isAllToAll && }\r\n {biddingControlsVisible && }\r\n\r\n \r\n {(blocked) => blocked\r\n ? null\r\n : (<>\r\n {\r\n !biddingControlsVisible &&\r\n !position.isTradedAway &&\r\n position.trade?.status === TradeStatus.affirmed &&\r\n \r\n }\r\n {\r\n !biddingControlsVisible &&\r\n !position.isTradedAway &&\r\n position.trade?.status === TradeStatus.rejected &&\r\n \r\n }\r\n {\r\n !biddingControlsVisible &&\r\n !position.isTradedAway &&\r\n position.trade?.status === TradeStatus.pending &&\r\n \r\n }\r\n {\r\n !biddingControlsVisible &&\r\n position.isTradedAway &&\r\n <>Traded away\r\n }\r\n )\r\n }\r\n \r\n \r\n );\r\n }\r\n};\r\n","import { BwicPosition } from \"../../../../types/bwic/BwicPosition\";\r\nimport { useAgreement } from \"../../../seller-buyside/useAgreement\";\r\nimport { Commission as CommissionInput } from '../../../bid-as-dealer/submit-bid/Commission';\r\nimport { useAppSelector } from \"../../../../effects/useAppSelector\";\r\nimport { biddingUtils } from \"../../../../utils/bidding.utils\";\r\nimport { formatUtils } from \"../../../../utils/format.utils\";\r\nimport { constants } from \"../../../../constants/constants\";\r\nimport { errorMessages } from \"../../../../constants/error.messages\";\r\nimport { bidPlacementActions } from \"../../../../actions\";\r\nimport { useAppDispatch } from \"../../../../effects/useAppDispatch\";\r\n\r\ninterface Props {\r\n enabled: boolean;\r\n readonly: boolean;\r\n position: BwicPosition;\r\n}\r\n\r\nexport function Commission({ enabled, readonly, position }: Props) {\r\n const dispatch = useAppDispatch();\r\n const { agreement } = useAgreement();\r\n const commission = useAppSelector(s => s.brokerDealerBidding.editBid[position.id])?.commission;\r\n const commissionError = useAppSelector(s => s.brokerDealerBidding.editBid[position.id])?.commissionError;\r\n const currentBid = biddingUtils.getCurrentBid(position.bids)\r\n\r\n const currentCommission = currentBid?.commission ?? agreement?.commissions[position.rating];\r\n const currentCommissionFormatted = formatUtils.formatBid(currentCommission == null ? currentCommission : Number(currentCommission));\r\n\r\n const validate = (commission: number) => {\r\n const minValue = currentBid?.commission ?? agreement?.commissions[position.rating] ?? constants.commissionRange.min;\r\n const maxValue = constants.commissionRange.max;\r\n\r\n if (commission < minValue || commission > maxValue) {\r\n return errorMessages.invalidRange(minValue, maxValue);\r\n }\r\n\r\n return '';\r\n };\r\n\r\n const handleCommissionChange = (value: string) => {\r\n const error = commissionError\r\n ? validate(Number(commission))\r\n : '';\r\n\r\n dispatch(bidPlacementActions.commissionChange(position.id, value, error));\r\n };\r\n\r\n const handleOnLeave = () => {\r\n // Reset to default if 0 or empty\r\n if (!Number(commission)) {\r\n dispatch(bidPlacementActions.commissionChange(position.id, currentCommissionFormatted, ''));\r\n } else {\r\n const error = validate(Number(commission));\r\n const value = formatUtils.formatBid(Number(commission))\r\n\r\n dispatch(bidPlacementActions.commissionChange(position.id, value, error));\r\n }\r\n };\r\n\r\n return readonly\r\n ? <>{currentCommissionFormatted}\r\n : \r\n}","import { BwicBase } from \"../../../../../../types/bwic/BwicBase\";\r\nimport { BwicPosition } from \"../../../../../../types/bwic/BwicPosition\";\r\nimport { AllToAllArgeementRequiredActionBlocker } from \"../../../../../agreements/AllToAllArgeementRequiredActionBlocker\";\r\nimport { SecurityListColumn } from \"../../../../../common/security-list/SecurityListColumn\";\r\nimport { SecurityListHeaderColumn } from \"../../../../../common/security-list/SecurityListHeaderColumn\";\r\nimport { Commission } from \"../../../bid-placement/Commission\";\r\n\r\nexport const commission = {\r\n columnName: 'commission',\r\n renderHeader: function () {\r\n return (\r\n \r\n Comm, %\r\n \r\n );\r\n },\r\n renderBody: function (\r\n position: BwicPosition,\r\n context: { enabled: boolean, biddingControlsVisible: boolean, processEnabled: boolean, bwic: BwicBase }) {\r\n return (\r\n \r\n \r\n {\r\n blocked => (\r\n \r\n )\r\n }\r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport { SecurityListHeaderColumn, SecurityListColumn } from '../../../../../common/security-list';\r\nimport {OnHoverTooltip} from \"../../../../../common\";\r\n\r\nexport const counterparty = {\r\n columnName: 'counterparty',\r\n renderHeader: function () {\r\n return (\r\n \r\n Counterparty\r\n \r\n );\r\n },\r\n renderBody: function (position) {\r\n return (\r\n \r\n \r\n
    {position.trade.sellerCompany.code}
    \r\n
    \r\n
    \r\n );\r\n }\r\n};\r\n","import React from 'react';\r\nimport moment from 'moment';\r\nimport { SecurityListHeaderColumn, SecurityListColumn } from '../../../../../common/security-list';\r\nimport { constants, SORTING_TYPE } from '../../../../../../constants';\r\n\r\n\r\nexport const settleDate = {\r\n columnName: 'settleDate',\r\n renderHeader: function (sortBy, sortDirection, onClick) {\r\n return (\r\n onClick(this.columnName, SORTING_TYPE.date) : null}\r\n >\r\n Settle Date\r\n
    \r\n );\r\n },\r\n renderBody: function (position) {\r\n return (\r\n \r\n {moment(position.settleDate).format(constants.dateShortFormat)}\r\n \r\n );\r\n }\r\n};\r\n","import React from 'react';\r\nimport { SecurityListHeaderColumn, SecurityListColumn } from '../../../../../common/security-list';\r\nimport { formatUtils } from '../../../../../../utils';\r\nimport { OnHoverTooltip } from \"../../../../../common\";\r\n\r\nexport const tradePrice = {\r\n columnName: 'tradePrice',\r\n renderHeader: function () {\r\n return (\r\n \r\n Price\r\n
    \r\n );\r\n },\r\n renderBody: function ({ trade }) {\r\n const price = formatUtils.formatBid(trade.price);\r\n\r\n return (\r\n \r\n \r\n
    {price}
    \r\n
    \r\n
    \r\n );\r\n }\r\n};\r\n","import React from 'react';\r\nimport { SecurityListHeaderColumn, SecurityListColumn } from '../../../../../common/security-list';\r\nimport { moneyUtils } from '../../../../../../utils';\r\nimport { OnHoverTooltip } from \"../../../../../common\";\r\n\r\nexport const tradeSize = {\r\n columnName: 'tradeSize',\r\n renderHeader: function () {\r\n return (\r\n \r\n Size\r\n
    \r\n );\r\n },\r\n renderBody: function (position) {\r\n const size = moneyUtils.money(position.trade.size);\r\n\r\n return (\r\n \r\n \r\n
    {size}
    \r\n
    \r\n
    \r\n );\r\n }\r\n};\r\n","import React from 'react';\r\nimport { SecurityListHeaderColumn, SecurityListColumn } from '../../../../../common/security-list';\r\nimport { OnHoverTooltip } from \"../../../../../common\";\r\nimport { constants } from '../../../../../../constants';\r\n\r\nexport const tradeComment = {\r\n columnName: 'tradaComment',\r\n renderHeader: function () {\r\n return (\r\n \r\n Comments\r\n
    \r\n );\r\n },\r\n renderBody: function (position) {\r\n return (\r\n \r\n {\r\n position.trade.comment\r\n ? \r\n
    {position.trade.comment}
    \r\n
    \r\n : constants.emptyPlaceholder\r\n }\r\n
    \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport { SecurityListHeaderColumn, SecurityListColumn } from '../../../../../common/security-list';\r\nimport { AffirmTradeButtons } from '../../../../brokerDealer/trade-affirm';\r\nimport { tradeStatuses } from '../../../../../../constants/bidding';\r\n\r\nexport const affirmRejectButtons = {\r\n columnName: 'affirmRejectButtons',\r\n renderHeader: function () {\r\n return (\r\n \r\n \r\n );\r\n },\r\n renderBody: function (position) {\r\n return (\r\n \r\n {\r\n position.trade.status === tradeStatuses.pending.key &&\r\n \r\n }\r\n \r\n );\r\n }\r\n};\r\n","import { SecurityListHeaderColumn, SecurityListColumn } from '../../../../../common/security-list';\r\nimport { PositionTrade } from '../../../../../../types/trades/PositionTrade';\r\nimport { OnHoverTooltip } from '../../../../../common/OnHoverTooltip';\r\nimport { constants } from '../../../../../../constants/constants';\r\nimport { formatUtils } from '../../../../../../utils/format.utils';\r\n\r\nexport const tradeCommission = {\r\n columnName: 'tradeCommission',\r\n renderHeader: function () {\r\n return (\r\n \r\n Comm, %\r\n \r\n );\r\n },\r\n renderBody: function (positionTrade: PositionTrade) {\r\n const commission = positionTrade.trade.commission\r\n ? formatUtils?.formatDecimal(positionTrade.trade.commission, constants.commissionDecimalPlaces)\r\n : constants.emptyPlaceholder\r\n\r\n return (\r\n \r\n \r\n {commission}\r\n \r\n \r\n );\r\n }\r\n};\r\n","import { SecurityListHeaderColumn, SecurityListColumn } from '../../../../../common/security-list';\r\nimport { PositionTrade } from '../../../../../../types/trades/PositionTrade';\r\nimport { OnHoverTooltip } from '../../../../../common/OnHoverTooltip';\r\nimport { formatUtils } from '../../../../../../utils/format.utils';\r\n\r\nexport const tradeTotalPrice = {\r\n columnName: 'tradeTotalPrice',\r\n renderHeader: function () {\r\n return (\r\n \r\n Total Price\r\n \r\n );\r\n },\r\n renderBody: function (positionTrade: PositionTrade) {\r\n const totalPrice = formatUtils.formatBid(positionTrade.trade.price + (positionTrade.trade.commission ?? 0));\r\n\r\n return (\r\n \r\n \r\n {totalPrice}\r\n \r\n \r\n );\r\n }\r\n};\r\n","import * as React from 'react';\r\nimport { SecurityListHeaderColumn, SecurityListColumn } from '../../../../../common/security-list';\r\nimport { PositionTrade } from '../../../../../../types/trades/PositionTrade';\r\n\r\nexport const tradeRating = {\r\n columnName: 'tradeRating',\r\n renderHeader: function () {\r\n return (\r\n \r\n Rtg\r\n \r\n );\r\n },\r\n renderBody: function (positionTrade: PositionTrade) {\r\n return (\r\n \r\n {positionTrade.trade.rating}\r\n \r\n );\r\n }\r\n};\r\n","import React from 'react';\r\nimport {\r\n SecurityListHeaderColumn,\r\n SecurityListColumn,\r\n} from '../../..';\r\nimport { Bwic } from '../../../../../../types/bwic/Bwic';\r\nimport { BwicStatus } from '../../../../../../types/enums/BwicStatus';\r\nimport { LiveBiddingBwicPosition } from '../../../../../../types/live-bidding/LiveBiddingBwicPosition';\r\nimport { biddingUtils } from '../../../../../../utils';\r\nimport { LiveBiddingStage2Level } from '../../../feedback/LiveBiddingStage2Level';\r\n\r\nexport const liveBiddingStage2Level = {\r\n columnName: 'open-bidding-feedback',\r\n renderHeader: function () {\r\n return (\r\n \r\n Feedback\r\n \r\n );\r\n },\r\n renderBody: function (position: LiveBiddingBwicPosition, context: { bwic: Bwic }) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { SecurityListHeaderColumn, SecurityListColumn } from '../../../../../common/security-list';\r\nimport { brokerDealerAccessState } from '../../../../../../constants/bidding';\r\nimport { arrayUtils, biddingUtils } from '../../../../../../utils';\r\nimport { OpenBiddingStatus } from '../../../../../../types/enums/OpenBiddingStatus';\r\nimport { BwicProcessType } from '../../../../../../types/models/Process';\r\nimport { BiddingInfo } from '../../../../brokerDealer/biddingSecurities/BiddingInfo';\r\nimport { BwicHistoryActionType } from '../../../../../../types/bwic-history/BwicHisoryActionType';\r\n\r\nfunction BiddingInfoBody({ position, args }) {\r\n const { bwic } = args;\r\n const currentBid = biddingUtils.getCurrentBid(position.bids);\r\n\r\n // Find 'Please submit your final level' or other requests\r\n const bidRequestAction = useSelector(state =>\r\n currentBid\r\n ? undefined\r\n : arrayUtils.findLast(\r\n state.bwicHistory.actions,\r\n action =>\r\n action.positionId === position.id &&\r\n action.actionType === BwicHistoryActionType.QuickFeedback\r\n )\r\n );\r\n\r\n if (args.brokerDealerAccessState === brokerDealerAccessState.notInvited) return null;\r\n\r\n if (\r\n bwic.process.type === BwicProcessType.JumpBall &&\r\n bwic.process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended &&\r\n bwic.process.jumpBall?.stage1EndDateUtc &&\r\n bidRequestAction?.sentDateUtc) {\r\n }\r\n\r\n return \r\n}\r\n\r\nexport const biddingInfo = {\r\n columnName: 'biddingInfo',\r\n renderHeader: function () {\r\n return (\r\n \r\n Bidding Info\r\n \r\n );\r\n },\r\n renderBody: function (position, args) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n","import { isinCusip } from './isinCusip';\r\nimport { ticker } from './ticker';\r\nimport { tickerButton } from './ticker-button';\r\nimport { ccy } from './ccy';\r\nimport { size } from './size';\r\nimport { rating } from './rating';\r\nimport { pxTalk } from './pxTalk';\r\nimport { pxTalkChange } from './pxTalk-change';\r\nimport { targetLevel } from './target.level';\r\nimport { history } from './history';\r\nimport { color } from './color';\r\nimport { bid as bidView } from './bid';\r\n\r\nimport { colorDistributionTradedStatus } from './colorDistribution/colorDistributionTradedStatus';\r\nimport { colorDistributionType } from './colorDistribution/colorDistributionType';\r\nimport { colorDistributionLabel } from './colorDistribution/colorDistributionLabel';\r\n\r\nimport { axed } from './bid-placement/axed';\r\nimport { final } from './bid-placement/final';\r\nimport { bid } from './bid-placement/bid';\r\nimport { feedback } from './bid-placement/feedback';\r\nimport { brokerDealerActionButtons } from './bid-placement/broker-dealer.action.buttons';\r\nimport { commission } from './bid-placement/commission';\r\n\r\nimport { counterparty } from './trade-affirm/couterparty';\r\nimport { settleDate } from './trade-affirm/settle.date';\r\nimport { tradePrice } from './trade-affirm/trade.price';\r\nimport { tradeSize } from './trade-affirm/trade.size';\r\nimport { tradeComment } from './trade-affirm/trade-comment';\r\nimport { tradeStatus as tradeAffirmStatus } from './trade-affirm/trade.status'\r\nimport { affirmRejectButtons } from './trade-affirm/affirm-reject.buttons';\r\nimport { tradeCommission } from './trade-affirm/trade-commission';\r\nimport { tradeTotalPrice } from './trade-affirm/trade-total-price';\r\nimport { tradeRating } from './trade-affirm/trade-rating';\r\nimport { liveBiddingStage2Timer } from \"./live-bidding-stage2-timer\";\r\n\r\nimport { liveBiddingStage2Level } from \"./open-bidding/liveBiddingStage2Level\";\r\nimport { user } from '../../../../../user/user';\r\nimport { ListBuilder } from '../../../../../utils/ListBuilder';\r\nimport { biddingInfo } from './bid-placement/bidding-info';\r\nimport { BwicStatus } from '../../../../../types/enums/BwicStatus';\r\nimport { BwicProcessType } from '../../../../../types/models/Process';\r\nimport { OpenBiddingStatus } from '../../../../../types/enums/OpenBiddingStatus';\r\nimport { BrokerDealerAccessState } from '../../../../../types/state/BrokerDealerBiddingState';\r\nimport { roles } from '../../../../../constants';\r\n\r\nconst baseColumns = [tickerButton, size, rating];\r\n\r\nexport const sellerCanceledColumns = [tickerButton, size, rating, pxTalk, targetLevel];\r\n\r\nexport const sellerScheduledColumns = () => {\r\n const isBrokerDealerTrader = user.hasRoles(roles.BrokerDealerTrader);\r\n return new ListBuilder()\r\n .add(...baseColumns, pxTalk)\r\n .add(targetLevel)\r\n .addWhen(() => isBrokerDealerTrader, pxTalkChange) // Possible of using sellerScheduledColumns for BD as Seller in case of ALL-TO-ALL\r\n .result();\r\n}\r\n\r\nexport const otherSellerColumns = [...baseColumns, pxTalk];\r\nexport const otherSellerBiddingColumns = [...baseColumns, pxTalk, history];\r\nexport const otherSellerFinishedColumns = [...baseColumns, pxTalk, color, history];\r\n\r\nexport const brokerDealerScheduledColumns = (canSavePriceTalk) => {\r\n return new ListBuilder()\r\n .add(...baseColumns)\r\n .add(pxTalk)\r\n .addWhen(() => canSavePriceTalk, pxTalkChange)\r\n .add(history)\r\n .result();\r\n}\r\n\r\nexport const brokerDealerBiddingColumns = (\r\n isAllToAll,\r\n isAllToAllAgreementSigned,\r\n bwicStatus,\r\n bwicProcessType,\r\n stagedBiddingStatus,\r\n isParsedBwic,\r\n accessState) => {\r\n if (isParsedBwic) {\r\n return brokerDealerParsedBiddingColumns;\r\n }\r\n const isLiveBidding = bwicProcessType === BwicProcessType.Live;\r\n const isLiveBiddingStage2 = isLiveBidding && stagedBiddingStatus === OpenBiddingStatus.stage1Ended;\r\n const isAllToAllConfirmedOrNotAllToAll = !isAllToAll || isAllToAllAgreementSigned;\r\n const isBFF = bwicProcessType === BwicProcessType.BestFootForward;\r\n const isStandard = bwicProcessType === BwicProcessType.Standard;\r\n const canSubmitBid = user.hasRoles(roles.BrokerDealerTrader);\r\n const showPriceTalkChange =\r\n user.hasRoles(roles.BrokerDealerTrader) &&\r\n isAllToAll &&\r\n bwicStatus === BwicStatus.scheduled;\r\n\r\n return new ListBuilder()\r\n .add(...baseColumns, pxTalk)\r\n .addWhen(() => showPriceTalkChange, pxTalkChange)\r\n .addWhen(() => canSubmitBid, bid)\r\n .addWhen(() => canSubmitBid && isAllToAll, commission)\r\n .addWhen(() => canSubmitBid && (isBFF || isStandard), axed, final)\r\n .addWhen(() => canSubmitBid && isLiveBiddingStage2 && isAllToAllConfirmedOrNotAllToAll, liveBiddingStage2Timer)\r\n .addWhen(() => canSubmitBid && !isLiveBidding && isAllToAllConfirmedOrNotAllToAll, feedback)\r\n .addWhen(() => canSubmitBid && isAllToAllConfirmedOrNotAllToAll && isLiveBiddingStage2 && accessState === BrokerDealerAccessState.Approved, liveBiddingStage2Level)\r\n .addWhen(() => canSubmitBid && isAllToAllConfirmedOrNotAllToAll, biddingInfo)\r\n .addWhen(() => canSubmitBid && isAllToAllConfirmedOrNotAllToAll, brokerDealerActionButtons)\r\n .add(history)\r\n .result();\r\n}\r\n\r\nconst brokerDealerParsedBiddingColumns = [...baseColumns, pxTalk, history];\r\nexport const brokerDealerCanceledColumns = [...baseColumns, pxTalk, history];\r\nexport const brokerDealerFinishedColumns = (isAllToAll, isAllToAllAgreementSigned) => {\r\n const canSubmitBids = user.hasRoles(roles.BrokerDealerTrader);\r\n const isAllToAllConfirmedOrNotAllToAll = !isAllToAll || isAllToAllAgreementSigned;\r\n\r\n return new ListBuilder()\r\n .add(...baseColumns, pxTalk)\r\n .addWhen(() => canSubmitBids, bidView)\r\n .add(color)\r\n .addWhen(() => canSubmitBids && isAllToAllConfirmedOrNotAllToAll, feedback)\r\n .addWhen(() => canSubmitBids, brokerDealerActionButtons)\r\n .add(history)\r\n .result();\r\n}\r\nexport const brokerDealerFinishedOpenBiddingColumns = () => {\r\n const canSubmitBids = user.hasRoles(roles.BrokerDealerTrader);\r\n\r\n return new ListBuilder()\r\n .add(...baseColumns, pxTalk)\r\n .addWhen(() => canSubmitBids, bidView)\r\n .add(color)\r\n .addWhen(() => canSubmitBids, liveBiddingStage2Level)\r\n .addWhen(() => canSubmitBids, brokerDealerActionButtons)\r\n .add(history)\r\n .result();\r\n};\r\nexport const brokerDealerParsedFinishedColumns = [...baseColumns, pxTalk, color, history];\r\nexport const brokerDealerNotInvitedFinishedColumns = [...baseColumns, pxTalk, color, history];\r\nexport const brokerDealerNotInvitedFinishedOpenBiddingColumns = [...baseColumns, pxTalk, color, history];\r\n\r\nexport const colorDistributionColumns = [ticker, ccy, size, rating, colorDistributionTradedStatus, colorDistributionType, colorDistributionLabel];\r\n\r\nexport const directTradeAffirmColmns = [isinCusip, ticker, tradeRating, tradeAffirmStatus, settleDate, counterparty, tradePrice, tradeCommission, tradeTotalPrice, tradeSize, tradeComment, affirmRejectButtons];\r\n","import React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport {\r\n SecurityListHeaderColumn,\r\n SecurityListColumn, Timer\r\n} from '../../../common';\r\nimport { BwicStatusLabel } from \"../../../../common\";\r\nimport { BwicStatus } from \"../../../../../types/enums/BwicStatus\";\r\nimport { isActiveTrade } from '../../../../../types/trades/TradeStatus';\r\nimport { biddingActions, bidPlacementActions } from '../../../../../actions';\r\nimport { biddingUtils } from '../../../../../utils';\r\n\r\n\r\nconst TimerContent = ({ position, expiresAtUtc }) => {\r\n const dispatch = useDispatch();\r\n\r\n const handleExpired = () => {\r\n dispatch(bidPlacementActions.revert(position.id));\r\n dispatch(biddingActions.liveBiddingStage2TimeoutEnd());\r\n };\r\n\r\n return \r\n \r\n \r\n }\r\n />\r\n};\r\n\r\nexport const liveBiddingStage2Timer = {\r\n columnName: 'timer',\r\n renderHeader: function () {\r\n return (\r\n \r\n );\r\n },\r\n renderBody: function (position, context) {\r\n const currentBid = biddingUtils.getCurrentBid(position.bids);\r\n\r\n const timerVisible =\r\n currentBid?.pass === false && // non pass current bid\r\n !position.isTradedAway &&\r\n !isActiveTrade(position.trade) &&\r\n !context.liveBiddingStage2Expired &&\r\n context.enabled;\r\n\r\n return (\r\n \r\n {Boolean(timerVisible) &&\r\n \r\n }\r\n \r\n );\r\n }\r\n};\r\n","import React from 'react';\r\nimport {\r\n SecurityListHeaderColumn,\r\n SecurityListColumn\r\n} from '../../../common';\r\nimport { PxTalkListButton } from '../../../../common/PxTalk/PxTalkListButton';\r\nimport { SubscriptionFeature } from '../../../../../types/billing/SubscriptionFeature';\r\n\r\nexport const pxTalk = {\r\n columnName: 'pxTalk',\r\n renderHeader: function () {\r\n return (\r\n \r\n Px Talk\r\n \r\n );\r\n },\r\n renderBody: function (position, context) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n","import React from 'react';\r\nimport {\r\n SecurityListHeaderColumn,\r\n SecurityListColumn\r\n} from '../../../common';\r\n\r\nexport const rating = {\r\n columnName: 'rating',\r\n renderHeader: function () {\r\n return (\r\n \r\n Rtg\r\n \r\n );\r\n },\r\n renderBody: function (position) {\r\n return (\r\n \r\n {position.rating}\r\n \r\n );\r\n }\r\n};\r\n","import React from 'react';\r\nimport {\r\n SecurityListHeaderColumn,\r\n SecurityListColumn\r\n} from '../../../common';\r\nimport { moneyUtils } from '../../../../../utils';\r\nimport { OnHoverTooltip } from \"../../../../common\";\r\n\r\nexport const size = {\r\n columnName: 'size',\r\n renderHeader: function () {\r\n return (\r\n \r\n Size\r\n \r\n );\r\n },\r\n renderBody: function (position) {\r\n const size = moneyUtils.money(position.size);\r\n\r\n return (\r\n \r\n \r\n {size}\r\n \r\n \r\n );\r\n }\r\n};\r\n","import {\r\n SecurityListHeaderColumn,\r\n SecurityListColumn,\r\n} from '../../../common';\r\nimport { TargetLevel } from '../../../common';\r\nimport { constants, roles } from '../../../../../constants';\r\nimport { OpenBiddingStatus } from '../../../../../types/enums/OpenBiddingStatus';\r\nimport { isActiveTrade } from '../../../../../types/trades/TradeStatus';\r\nimport { BwicProcessType } from '../../../../../types/models/Process';\r\nimport { RoleActionBlocker } from '../../../../access/RoleActionBlocker';\r\n\r\nexport const targetLevel = {\r\n columnName: 'targetLevel',\r\n renderHeader: function () {\r\n return (\r\n \r\n Target Level\r\n \r\n );\r\n },\r\n renderBody: function (position, context) {\r\n const isBiddingEnded = () =>\r\n context.bwic.process.stagedBiddingStatus === OpenBiddingStatus.improvementRoundEnded || (\r\n context.bwic.process.type === BwicProcessType.BestFootForward &&\r\n context.bwic.process.stagedBiddingStatus != null\r\n )\r\n\r\n const stage2NoBids = () =>\r\n (context.bwic.process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended ||\r\n context.bwic.process.stagedBiddingStatus === OpenBiddingStatus.improvementRoundEnded) &&\r\n !position.bids?.some(b => !b.pass)\r\n\r\n if (\r\n context.targetLevelReadonly ||\r\n isActiveTrade(position.trade) ||\r\n isBiddingEnded() ||\r\n stage2NoBids() ||\r\n context.liveBiddingStage2Expired) {\r\n return (\r\n \r\n {position.targetLevel || constants.emptyPlaceholder}\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n","import React from 'react';\r\nimport { SecurityListHeaderColumn, SecurityListColumn } from '../../../common';\r\nimport { TickerButton } from \"../../../../common\";\r\n\r\nexport const tickerButton = {\r\n columnName: 'ticker',\r\n renderHeader: function () {\r\n return (\r\n \r\n Ticker\r\n \r\n );\r\n },\r\n renderBody: function (position) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n","import React from 'react';\r\nimport { SecurityListHeaderColumn, SecurityListColumn } from '../../../../../common/security-list';\r\nimport { TradeStatusLabel } from '../../../../../trade/TradeStatusLabel';\r\n\r\nexport const tradeStatus = {\r\n columnName: 'tradeStatus',\r\n title: 'Status',\r\n renderHeader: function () {\r\n return (\r\n \r\n {this.title}\r\n \r\n );\r\n },\r\n renderBody: function ({ trade }) {\r\n return (\r\n \r\n {trade && }\r\n \r\n );\r\n }\r\n};\r\n","import * as React from 'react';\r\nimport cn from 'classnames';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { CollapsibleListItemContent } from \"../../../../common/collapsible-list/CollapsibleListItemContent\";\r\nimport { CollapsibleList } from \"../../../../common/collapsible-list/CollapsibleList\";\r\nimport { CollapsibleListItem } from \"../../../../common/collapsible-list/CollapsibleListItem\";\r\nimport { SecurityListRow } from \"../../../../common/security-list\";\r\nimport { ColumnBuilder } from '../columns/column-builder/ColumnBuilder';\r\nimport { TableColumnStickType } from '../types/TableColumnStickType';\r\nimport { AppState } from '../../../../../types/state/AppState';\r\nimport IconSVG from '../../../../../styles/svg-icons';\r\nimport { tableActions } from '../../../../../actions/table.actions';\r\n\r\ninterface Props {\r\n rowKey: string;\r\n dataItem: T;\r\n columns: ColumnBuilder[];\r\n columnType: TableColumnStickType;\r\n collapseIconVisible: boolean;\r\n expandAll: boolean;\r\n className?: string;\r\n context: { [key: string]: any };\r\n renderCollapsibleContent?: (dataItem: T, columnType?: TableColumnStickType) => React.ReactNode | React.ReactNode[];\r\n onExpandChange?: (rowKey: string) => void;\r\n onHover?: (dataItem: T) => void;\r\n}\r\n\r\nexport function StickyTableCollapsibleRow({\r\n rowKey,\r\n columns,\r\n columnType,\r\n dataItem,\r\n collapseIconVisible,\r\n expandAll,\r\n className,\r\n context,\r\n renderCollapsibleContent,\r\n onExpandChange,\r\n onHover }: Props) {\r\n const dispatch = useDispatch();\r\n\r\n const expandedState = useSelector((s: AppState) => s.ui.table.expand[rowKey]);\r\n const expanded = expandedState ?? expandAll;\r\n const hover = useSelector((s: AppState) => s.ui.table.hover[rowKey]) ?? false;\r\n\r\n const handleExpandedChange = () => {\r\n onExpandChange?.(rowKey);\r\n dispatch(tableActions.expandedChange(rowKey, !expanded));\r\n }\r\n\r\n const handleRowHover = (hover: boolean) => {\r\n if (hover) {\r\n onHover?.(dataItem);\r\n }\r\n\r\n dispatch(tableActions.hoverChange(rowKey, hover));\r\n }\r\n\r\n return (\r\n \r\n \r\n handleRowHover(true)}\r\n onMouseLeave={() => handleRowHover(false)}\r\n >\r\n {\r\n collapseIconVisible &&\r\n
    \r\n \r\n \r\n \r\n
    \r\n }\r\n {columns.map((c) => c.renderBody(dataItem, context))}\r\n \r\n \r\n {expanded && renderCollapsibleContent?.(dataItem, columnType)}\r\n \r\n
    \r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport cn from 'classnames';\r\nimport { ColumnBuilder } from '../columns/column-builder/ColumnBuilder';\r\nimport { SecurityListRow } from \"../../../../common/security-list\";\r\nimport { AppState } from '../../../../../types/state/AppState';\r\nimport { tableActions } from '../../../../../actions/table.actions';\r\n\r\n\r\ninterface Props {\r\n rowKey: string;\r\n className?: string;\r\n columns: ColumnBuilder[];\r\n dataItem: T;\r\n context: { [key: string]: any };\r\n onClick?: (dataItem: T) => void;\r\n onHover?: (dataItem: T) => void;\r\n}\r\n\r\nexport function StickyTableRow({ className, columns, dataItem, context, rowKey, onClick, onHover }: Props) {\r\n const dispatch = useDispatch();\r\n const hover = useSelector((s: AppState) => s.ui.table.hover[rowKey]) ?? false;\r\n\r\n const handleRowHover = (hover: boolean) => {\r\n dispatch(tableActions.hoverChange(rowKey, hover));\r\n onHover?.(dataItem);\r\n }\r\n\r\n return (\r\n onClick(dataItem) : undefined}\r\n onHover={() => handleRowHover(true)}\r\n onMouseLeave={() => handleRowHover(false)}\r\n >\r\n {columns.map(c => c.renderBody(dataItem, context))}\r\n \r\n );\r\n}\r\n","export enum TableColumnStickType {\r\n Left = \"Left\",\r\n Middle = \"Middle\",\r\n Right = \"Right\"\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Form } from '../../forms';\r\nimport { Popup } from '../../controls';\r\n\r\ninterface CancelReasonPopupProps {\r\n onCancel: (reason: string) => void\r\n onClose: () => void\r\n}\r\n\r\nexport const CancelReasonPopup = ({ onCancel, onClose }: CancelReasonPopupProps) => {\r\n const [reason, setReason] = useState('');\r\n\r\n return (\r\n \r\n
    onCancel(reason)}>\r\n
    \r\n

    \r\n Please confirm you would like to cancel the BWIC\r\n

    \r\n
    \r\n \r\n setReason(e.target.value)}\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 cn from 'classnames';\r\nimport { sellerBiddingActions } from '../../../actions/seller.bidding.actions';\r\nimport { feedbackTypes } from '../../../constants/bidding';\r\nimport IconSVG from '../../../styles/svg-icons';\r\nimport { biddingUtils } from '../../../utils/bidding.utils';\r\nimport { formatUtils } from '../../../utils/format.utils';\r\nimport ContextMenu from '../../controls/ContextMenu';\r\nimport { ContextMenuItem } from '../../controls/ContextMenuItem';\r\nimport { BwicProcessType, Process } from '../../../types/models/Process';\r\nimport { OpenBiddingStatus } from '../../../types/enums/OpenBiddingStatus';\r\nimport { Bid } from '../../../types/bidding/Bid';\r\nimport { BidLevel } from '../../../types/bidding/BidLevel';\r\nimport { CompanySlim } from '../../../types/company/CompanySlim';\r\nimport { JumpBallStage2Participants } from '../../../types/bwic-process/JumpBallSettings';\r\nimport { TopXStage2Participants } from '../../../types/bwic-process/TopXSettings';\r\nimport { bidRequestText, BidRequestType } from '../../../types/bidding/BidRequest';\r\nimport { roles } from '../../../constants/roles';\r\nimport { useAppDispatch } from '../../../effects/useAppDispatch';\r\n\r\ninterface Props {\r\n positionId: number;\r\n process: Process;\r\n bids?: Bid[];\r\n levelBids?: Bid[];\r\n hasManyBids?: boolean;\r\n level?: BidLevel;\r\n disabled?: boolean;\r\n emptyBidCompany?: CompanySlim;\r\n getLevelCallback?: () => BidLevel | undefined;\r\n}\r\n\r\nexport function FeedbackMenu({ positionId, process, bids, levelBids = [], hasManyBids, level, disabled = false, emptyBidCompany, getLevelCallback }: Props) {\r\n const best = biddingUtils.getBidsByLevel(bids ?? [], BidLevel.Best);\r\n level = level ?? getLevelCallback?.();\r\n\r\n const isSameHandle = (best: number, bid: number) => (Math.trunc(best) - Math.trunc(bid)) === 0;\r\n const isStandard = process.type === BwicProcessType.Standard;\r\n const isTopX = process.type === BwicProcessType.TopX;\r\n const isJumpBall = process.type === BwicProcessType.JumpBall;\r\n const isBFF = process.type === BwicProcessType.BestFootForward;\r\n const isJumpBallStage2 = isJumpBall && process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended\r\n\r\n return (\r\n }\r\n disabled={disabled}\r\n >\r\n {\r\n !disabled &&\r\n <>\r\n {\r\n isJumpBallStage2 && level != null &&\r\n \r\n }\r\n {\r\n !isJumpBallStage2 &&\r\n <>\r\n {\r\n // Companies without bids\r\n level == null && emptyBidCompany != null &&\r\n \r\n }\r\n {\r\n // PASS\r\n level == null && Boolean(levelBids?.some(b => b.pass)) &&\r\n \r\n }\r\n {\r\n level != null &&\r\n <>\r\n {level === BidLevel.Best && !isBFF && (levelBids.length > 1 || Boolean(hasManyBids)) && }\r\n {level === BidLevel.Best && !isBFF && levelBids.length === 1 && !Boolean(hasManyBids) && }\r\n {\r\n level === BidLevel.Cover && !isBFF &&\r\n <>\r\n \r\n {isSameHandle(best[0]!.value, levelBids[0]!.value) && }\r\n {!isSameHandle(best[0]!.value, levelBids[0]!.value) && }\r\n \r\n \r\n \r\n }\r\n {\r\n level === BidLevel.Third && (\r\n isStandard ||\r\n (isJumpBall && process.jumpBall?.improverCount! >= JumpBallStage2Participants.Top3) ||\r\n (isTopX && process.topX?.improverCount! >= TopXStage2Participants.Top3)) &&\r\n <>\r\n \r\n {isSameHandle(best[0]!.value, levelBids[0]!.value) && }\r\n {!isSameHandle(best[0]!.value, levelBids[0]!.value) && }\r\n \r\n \r\n \r\n }\r\n {\r\n (\r\n (isJumpBall && level === BidLevel.Fourth && process.jumpBall?.improverCount! >= JumpBallStage2Participants.Top4) ||\r\n (isTopX && level === BidLevel.Fourth && process.topX?.improverCount! >= TopXStage2Participants.Top4)\r\n ) &&\r\n \r\n }\r\n {\r\n (\r\n (isJumpBall && level === BidLevel.Fifth && process.jumpBall?.improverCount! >= JumpBallStage2Participants.Top5) ||\r\n (isTopX && level === BidLevel.Fifth && process.topX?.improverCount! >= TopXStage2Participants.Top5)\r\n ) && \r\n }\r\n {\r\n (\r\n (isJumpBall && (level + 1) > process.jumpBall?.improverCount!) ||\r\n (isTopX && (level + 1) > process.topX?.improverCount!)\r\n ) && \r\n }\r\n {isStandard && level > BidLevel.Third && }\r\n \r\n \r\n }\r\n \r\n }\r\n\r\n \r\n }\r\n \r\n );\r\n}\r\n\r\ninterface FeedbackProps {\r\n positionId: number;\r\n bids: Bid[];\r\n}\r\n\r\ninterface FeedbackMenuItemProps extends FeedbackProps {\r\n text: string;\r\n feedbackType: number;\r\n}\r\n\r\nfunction FeedbackMenuItem({ positionId, bids, feedbackType, text }: FeedbackMenuItemProps) {\r\n const dispatch = useAppDispatch();\r\n\r\n return (\r\n dispatch(sellerBiddingActions.sendQuickFeedback(positionId, bids, feedbackType))}\r\n >\r\n {text}\r\n \r\n );\r\n}\r\n\r\ninterface BidRequestProps {\r\n positionId: number;\r\n companies: CompanySlim[];\r\n}\r\ninterface BidRequestMenuItemProps extends BidRequestProps {\r\n text: string;\r\n bidRequestType: number;\r\n}\r\n\r\nfunction BidRequestMenuItem({ positionId, companies, text, bidRequestType }: BidRequestMenuItemProps) {\r\n const dispatch = useAppDispatch();\r\n\r\n return (\r\n dispatch(sellerBiddingActions.sendBidRequest(positionId, companies, bidRequestType))}\r\n >\r\n {text}\r\n \r\n );\r\n}\r\n\r\nconst Best = (props: FeedbackProps) => \r\nconst TiedForBest = (props: FeedbackProps) => \r\nconst Cover = (props: FeedbackProps) => \r\nconst CoverSameHandle = (props: FeedbackProps) => \r\nconst CoverDifferentHandle = (props: FeedbackProps) => \r\nconst CoverExact = ({ best, ...props }: FeedbackProps & { best: Bid }) => \r\nconst CoverHandle = ({ best, ...props }: FeedbackProps & { best: Bid }) => \r\nconst Third = (props: FeedbackProps) => \r\nconst ThirdSameHandle = (props: FeedbackProps) => \r\nconst ThirdDifferentHandle = (props: FeedbackProps) => \r\nconst ThirdExact = ({ best, ...props }: FeedbackProps & { best: Bid }) => \r\nconst ThirdHandle = ({ best, ...props }: FeedbackProps & { best: Bid }) => \r\nconst Fourth = (props: FeedbackProps) => \r\nconst Fifth = (props: FeedbackProps) => \r\nconst NotInTopX = ({ level, ...props }: FeedbackProps & { level: number }) => \r\nconst SubmitFinal = (props: FeedbackProps) => \r\nconst BidOrPassRequest = (props: BidRequestProps) => \r\n","import * as React from 'react';\r\nimport { OnHoverTooltip } from '../../../common/OnHoverTooltip';\r\nimport IconSVG from '../../../../styles/svg-icons';\r\n\r\nexport function BidOnBehalfIcon() {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport classNames from 'classnames';\r\nimport { biddingUtils, formatUtils } from '../../../../utils';\r\nimport { FeedbackMenu } from '../FeedbackMenu';\r\nimport IconSVG from '../../../../styles/svg-icons';\r\nimport { OnHoverTooltip } from '../../../common';\r\nimport { AnimatedValueUpdate } from '../../../controls';\r\nimport { sellerBiddingActions } from '../../../../actions';\r\nimport { isActiveTrade, TradeStatus } from '../../../../types/trades/TradeStatus';\r\nimport { BwicStatus } from '../../../../types/enums/BwicStatus';\r\nimport { BwicProcessType } from '../../../../types/models/Process';\r\nimport { jumpBallUtils } from '../../../../utils/jump-ball.utils';\r\nimport { topXUtils } from '../../../../utils/top-x.utils';\r\nimport { constants } from '../../../../constants';\r\nimport { compareDates } from '../../../../utils/compare.utils';\r\n\r\nexport function BidLevel({ bwicReferenceName, positionId, level, trade, bwicStatus, bids, stage2Participants = {}, allowFeedback = true, process, children = null }) {\r\n const dispatch = useDispatch();\r\n const levelBids = useMemo(() =>\r\n biddingUtils.getBidsByLevel(bids, level).sort((a, b) => compareDates(a.createdUtc, b.createdUtc)),\r\n [bids, level]\r\n );\r\n const activeTrade = isActiveTrade(trade);\r\n const feedbackVisible = allowFeedback && !activeTrade;\r\n const newBids = levelBids.filter(b => b.isNew);\r\n const isAffirmedTrade = trade != null && trade.status === TradeStatus.affirmed;\r\n const tradeCompanyIdentifier =\r\n trade &&\r\n biddingUtils.getBidCompanyIdentifier({\r\n buyerPseudoOrderNumber: trade.buyerPseudoOrderNumber,\r\n company: trade.buyerCompany\r\n });\r\n const tradeBid = trade && levelBids.find(b =>\r\n biddingUtils.getBidCompanyIdentifier(b) === tradeCompanyIdentifier &&\r\n Number(trade.price) === Number(b.value)\r\n );\r\n\r\n React.useEffect(() => {\r\n if (newBids.length) {\r\n dispatch(sellerBiddingActions.markBidsShown(\r\n newBids,\r\n positionId,\r\n bwicReferenceName\r\n ));\r\n }\r\n }, [newBids, positionId, bwicReferenceName, dispatch]);\r\n\r\n const getCompanyCode = company => company && company.code && company.code.toUpperCase();\r\n\r\n const isFeedbackEnabled = () => {\r\n if (process.type === BwicProcessType.JumpBall) {\r\n return jumpBallUtils.canSendFeedback(stage2Participants, process.stagedBiddingStatus, levelBids);\r\n } else if (process.type === BwicProcessType.TopX) {\r\n return topXUtils.canSendFeedback(stage2Participants, process.stagedBiddingStatus, levelBids);\r\n } else if (process.type === BwicProcessType.BestFootForward) {\r\n return process.stagedBiddingStatus == null;\r\n }\r\n\r\n return true\r\n }\r\n\r\n const renderBidTooltip = () => {\r\n const companies = levelBids.map((b, i) =>\r\n
    \r\n \r\n {isAffirmedTrade && tradeBid && biddingUtils.getUniqueBidId(tradeBid) === biddingUtils.getUniqueBidId(b) && 'Traded to '}\r\n {trade && trade.status === TradeStatus.rejected && tradeBid && biddingUtils.getUniqueBidId(tradeBid) === biddingUtils.getUniqueBidId(b) && 'Rejected by '}\r\n {b.buyerPseudoOrderNumber ? `${b.company.name}-${b.buyerPseudoOrderNumber}` : b.company.name}\r\n \r\n {b.axed && }\r\n {b.final && }\r\n
    \r\n );\r\n\r\n return
    {companies}
    ;\r\n };\r\n\r\n const renderContent = () => {\r\n const bids = activeTrade && tradeBid ? [tradeBid] : levelBids;\r\n const hasFeedback = bids.length && bids.every(b => !!b.feedback);\r\n const hasNewBid = newBids.length > 0;\r\n\r\n const className = classNames({\r\n \"level-bids-data\": true,\r\n 'no-feedback-bid': process.type !== BwicProcessType.Live && !activeTrade && !hasFeedback,\r\n 'traded': tradeBid && isAffirmedTrade,\r\n 'on-behalf': bids.every((b) => b.onBehalf),\r\n 'finished': bwicStatus === BwicStatus.finished,\r\n });\r\n\r\n const value = formatUtils.formatBid(bids[0].value);\r\n const axed = bids.some(b => b.axed);\r\n const final = bids.some(b => b.final);\r\n let companyText = '';\r\n if (bids.length === 1) {\r\n const [bid] = bids;\r\n companyText = bid.buyerPseudoOrderNumber\r\n ? `${getCompanyCode(bid.company)}-${bid.buyerPseudoOrderNumber}`\r\n : getCompanyCode(bid.company);\r\n } else {\r\n companyText = `${bids.length} bids`;\r\n }\r\n\r\n return (\r\n \r\n \r\n {companyText}\r\n {value}\r\n {axed && }\r\n {final && }\r\n \r\n \r\n );\r\n };\r\n\r\n if (levelBids.length) {\r\n return (\r\n
    \r\n
    {renderContent(levelBids)}
    \r\n {children}\r\n
    \r\n {\r\n allowFeedback &&\r\n !activeTrade &&\r\n \r\n }\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n return (\r\n
    \r\n {constants.emptyPlaceholder}\r\n {\r\n feedbackVisible &&\r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n\r\n\r\n}\r\n","import { useAppSelector } from \"../../../../effects/useAppSelector\";\r\nimport { BwicStatus } from \"../../../../types/enums/BwicStatus\";\r\nimport { Trade } from \"../../../../types/trades/Trade\";\r\nimport { BidOverThemselfIcon } from \"./BidOverThemselfIcon\";\r\n\r\ninterface Props {\r\n positionId?: number;\r\n bwicStatus?: BwicStatus;\r\n trade?: Trade;\r\n onHoverTooltipMessage?: React.ReactNode;\r\n}\r\n\r\nexport function BidOverThemSelf({ positionId, bwicStatus, trade, onHoverTooltipMessage }: Props) {\r\n const securities = useAppSelector(s => s.sellerBidding.securities);\r\n const allBids = securities.find(s => s.id === positionId)?.bids;\r\n\r\n return \r\n}\r\n","import React from 'react';\r\nimport { BidCompanyIdentifier } from '../../../../types/bidding/BidCompanyIdentifier';\r\nimport { Bid } from '../../../../types/bidding/Bid';\r\nimport { biddingUtils } from '../../../../utils/bidding.utils';\r\nimport { OnHoverTooltip } from '../../../common/OnHoverTooltip';\r\nimport { BwicStatus } from '../../../../types/enums/BwicStatus';\r\nimport { Trade } from '../../../../types/trades/Trade';\r\nimport { isActiveTrade } from '../../../../types/trades/TradeStatus';\r\n\r\ninterface Props {\r\n companyIdentifier?: BidCompanyIdentifier;\r\n bids?: Bid[];\r\n bwicStatus?: BwicStatus;\r\n trade?: Trade;\r\n onHoverTooltipMessage?: React.ReactNode;\r\n}\r\n\r\nexport const bidOverThemselfMessage = 'Two best bids are placed by the same bidder. Consider trading at the lower level to prevent “bidding over themselves”.'\r\n\r\nexport function BidOverThemselfIcon({ companyIdentifier, bids, bwicStatus, trade, onHoverTooltipMessage = bidOverThemselfMessage }: Props) {\r\n const [best, cover] = biddingUtils.groupBidsByLevel(bids ?? []);\r\n const companyIdentifierOrBest = companyIdentifier ?? (best?.[0] ? biddingUtils.getBidCompanyIdentifier(best?.[0]) : '');\r\n\r\n if (\r\n !isActiveTrade(trade) &&\r\n bwicStatus !== BwicStatus.finished &&\r\n best &&\r\n best.length === 1 &&\r\n cover &&\r\n cover.length === 1 &&\r\n companyIdentifierOrBest &&\r\n biddingUtils.getBidCompanyIdentifier(best[0]) === companyIdentifierOrBest &&\r\n biddingUtils.getBidCompanyIdentifier(cover[0]) === companyIdentifierOrBest) {\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return null;\r\n}\r\n","import { Link } from 'react-router-dom';\r\nimport { EmptyPlaceholder} from '../../../common';\r\nimport { routes } from '../../../../constants';\r\nimport { BlockedPlatformAccessText } from \"../../../access/BlockedPlatformAccessText\";\r\n\r\nexport function ColorDistributionBlocked() {\r\n return (\r\n }\r\n >\r\n view bwic monitor\r\n \r\n );\r\n}\r\n","import { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { colorDistributionActions as actions } from '../../../../actions';\r\nimport { TopPanel } from '../../common';\r\nimport { Table } from '../../common/table';\r\nimport { Confirm } from '../../../alerts';\r\nimport { PublicColor } from '.';\r\nimport { colorDistributionColumns } from '../../common/table/columns';\r\nimport { FeatureButton } from '../../../access/FeatureButton';\r\nimport { ColorDistributionBlocked } from './ColorDistributionBlocked';\r\nimport { getSecuritiesWithLatestBids } from '../../../../selectors';\r\nimport { RoleActionBlocker } from '../../../access/RoleActionBlocker';\r\nimport { roles } from '../../../../constants/roles';\r\nimport { RequiredRole } from '../../../access/RequiredRole';\r\n\r\nclass ColorDistribution extends Component {\r\n state = {\r\n confirmationVisible: false\r\n }\r\n\r\n handleProceed = () => this.setState({ confirmationVisible: true });\r\n\r\n handleConfirm = () => {\r\n this.setState({ confirmationVisible: false });\r\n this.props.completeBwic();\r\n }\r\n\r\n render = () => {\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n this.props.cancelColorDistribution(this.props.bwic.referenceName)}\r\n >\r\n Cancel\r\n \r\n \r\n \r\n \r\n Proceed and Complete\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n }\r\n >\r\n

    Color Distribution

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

    Preview

    \r\n \r\n
    \r\n
    \r\n {\r\n this.state.confirmationVisible &&\r\n <>Do you want to complete the BWIC?
    This operation is irreversible.}\r\n onCancel={() => this.setState({ confirmationVisible: false })}\r\n onConfirm={this.handleConfirm}\r\n />\r\n }\r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = ({ bidding, sellerBidding }) => ({\r\n bwic: bidding.bwic,\r\n securities: getSecuritiesWithLatestBids({ securities: sellerBidding.securities })\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n cancelColorDistribution: actions.cancelColorDistribution,\r\n completeBwic: actions.completeBwic\r\n\r\n};\r\n\r\nconst connectedColorDistribution = connect(mapStateToProps, mapDispatchToProps)(ColorDistribution);\r\nexport { connectedColorDistribution as ColorDistribution };\r\n","import * as React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { colorDistributionActions } from '../../../../actions';\r\nimport { BlockedFeatureContext } from '../../../access/BlockedFeatureContext';\r\nimport { colorDistributionTypes } from '../../../../constants';\r\nimport { AppState } from '../../../../types/state/AppState';\r\n\r\nexport function TradedSelect() {\r\n const dispatch = useDispatch();\r\n const forTradedType: number = useSelector((state: AppState) => state.sellerBidding.colorDistribution.forTradedType);\r\n const isBlocked = React.useContext(BlockedFeatureContext);\r\n\r\n return (\r\n dispatch(colorDistributionActions.tradedTypeChange(e.target.value))}\r\n >\r\n {colorDistributionTypes.traded().map(t => )}\r\n \r\n\r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { colorDistributionActions } from '../../../../actions';\r\nimport { BlockedFeatureContext } from '../../../access/BlockedFeatureContext';\r\nimport { colorDistributionTypes } from '../../../../constants';\r\nimport { AppState } from '../../../../types/state/AppState';\r\n\r\nexport function DntSelect() {\r\n const dispatch = useDispatch();\r\n const forDNTType: number = useSelector((state: AppState) => state.sellerBidding.colorDistribution.forDNTType);\r\n const isBlocked = React.useContext(BlockedFeatureContext);\r\n\r\n return (\r\n dispatch(colorDistributionActions.dntTypeChange(e.target.value))}\r\n >\r\n {colorDistributionTypes.dnt().map(t => )}\r\n \r\n );\r\n}\r\n","import { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { TradedSelect } from './TradedSelect';\r\nimport { DntSelect } from './DntSelect';\r\nimport { RoleActionBlocker } from '../../../access/RoleActionBlocker';\r\nimport { roles } from '../../../../constants/roles';\r\n\r\nclass PublicColor extends Component {\r\n render = () => {\r\n return (\r\n
    \r\n
    Color will be sent to BWIC participants and published on the website.
    \r\n
    \r\n
    \r\n For Traded:\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n For DNT:\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = ({ sellerBidding }) => ({\r\n colorDistribution: sellerBidding.colorDistribution\r\n});\r\n\r\nconst connectedPublicColor = connect(mapStateToProps)(PublicColor);\r\nexport { connectedPublicColor as PublicColor };\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { colorDistributionActions as actions } from '../../../../actions';\r\nimport { colorDistributionTypes } from '../../../../constants';\r\nimport { BlockedFeatureContext } from '../../../access/BlockedFeatureContext';\r\n\r\nclass ColorType extends Component {\r\n render = () => {\r\n const { position, traded, dispatch } = this.props;\r\n const isAnyBidExist = !!position?.bids?.length;\r\n const { forTradedType, forDNTType } = this.props.colorDistribution;\r\n const predefinedDistributionColor = traded ? forTradedType : forDNTType;\r\n const sourceValues = traded\r\n ? colorDistributionTypes.traded()\r\n : colorDistributionTypes.dnt();\r\n const selectedDistributionColor = position.colorDistribution == null\r\n ? predefinedDistributionColor\r\n : position.colorDistribution;\r\n const typeOptionsToDisplay = isAnyBidExist ? sourceValues: [colorDistributionTypes.status];\r\n\r\n return (\r\n \r\n {\r\n isBlocked => \r\n dispatch(actions.positionColorTypeChange(position.id, e.target.value))}\r\n >\r\n {typeOptionsToDisplay.map(t => ) }\r\n \r\n }\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = ({ sellerBidding }) => ({\r\n colorDistribution: sellerBidding.colorDistribution\r\n});\r\n\r\nconst connectedColorType = connect(mapStateToProps)(ColorType);\r\nexport { connectedColorType as ColorType };\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { colorDistributionActions as actions } from '../../../../actions';\r\nimport { colorDistributionTypes } from '../../../../constants';\r\nimport { formatUtils, biddingUtils } from '../../../../utils';\r\nimport IconSVG from '../../../../styles/svg-icons';\r\nimport { BidLevel } from '../../../../types/bidding/BidLevel';\r\n\r\nclass ColorLabel extends Component {\r\n renderRevertLink = predefinedType => {\r\n const { position, dispatch } = this.props;\r\n\r\n return (\r\n dispatch(actions.positionColorTypeChange(position.id, predefinedType))}\r\n >\r\n \r\n Revert\r\n \r\n );\r\n }\r\n\r\n renderTraded = () => {\r\n const { position } = this.props;\r\n const { forTradedType } = this.props.colorDistribution;\r\n const colorDistribution\r\n = position.colorDistribution == null\r\n ? forTradedType\r\n : position.colorDistribution;\r\n const canRevert = position.colorDistribution != null && position.colorDistribution !== forTradedType;\r\n\r\n let label = '';\r\n\r\n if (colorDistribution === colorDistributionTypes.status.key) {\r\n label = 'Traded';\r\n } else if (colorDistribution === colorDistributionTypes.coverHandle.key) {\r\n const cover = biddingUtils.getBidsByLevel(position.bids, BidLevel.Cover);\r\n if (cover && cover.length) {\r\n label = cover[0].valueHandle;\r\n }\r\n } else if (colorDistribution === colorDistributionTypes.coverExact.key) {\r\n const cover = biddingUtils.getBidsByLevel(position.bids, BidLevel.Cover);\r\n if (cover && cover.length) {\r\n label = formatUtils.formatBid(cover[0].value);\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n !!label &&\r\n <>\r\n \r\n \r\n \r\n }\r\n {canRevert && this.renderRevertLink(forTradedType)}\r\n \r\n );\r\n }\r\n\r\n renderDNT = () => {\r\n const { position } = this.props;\r\n const { forDNTType } = this.props.colorDistribution;\r\n const colorDistribution = position.colorDistribution == null\r\n ? forDNTType\r\n : position.colorDistribution;\r\n const canRevert = position.colorDistribution != null && position.colorDistribution !== forDNTType;\r\n\r\n let label = '';\r\n\r\n if (colorDistribution === colorDistributionTypes.status.key || !position?.bids?.length) {\r\n label = 'DNT';\r\n } else {\r\n const best = biddingUtils.getBidsByLevel(position.bids, BidLevel.Best);\r\n if (best && best.length) {\r\n if (colorDistribution === colorDistributionTypes.bestHandle.key) {\r\n label = `DNT ${best[0].valueHandle}`;\r\n } else if (colorDistribution === colorDistributionTypes.bestExact.key) {\r\n label = `DNT ${formatUtils.formatBid(best[0].value)}`;\r\n }\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n !!label &&\r\n <>\r\n \r\n \r\n \r\n }\r\n {canRevert && this.renderRevertLink(forDNTType)}\r\n \r\n );\r\n }\r\n\r\n render = () => this.props.traded ? this.renderTraded() : this.renderDNT();\r\n}\r\n\r\nconst mapStateToProps = ({ sellerBidding }) => ({\r\n colorDistribution: sellerBidding.colorDistribution\r\n});\r\n\r\nconst connectedColorLabel = connect(mapStateToProps)(ColorLabel);\r\nexport { connectedColorLabel as ColorLabel };\r\n","import React from 'react';\r\nimport { EmptyPlaceholder } from '../common';\r\nimport { useAppDispatch } from '../../effects/useAppDispatch';\r\nimport { blotterFiltersReset, blotterSearchRequest, controlPanelActions, searchSecuritiesActions } from '../../actions';\r\n\r\nexport function BlotterEmptyListPlaceholder({ hasTrades }) {\r\n const dispatch = useAppDispatch();\r\n\r\n const handleResetFilter = () => {\r\n dispatch(controlPanelActions.hide());\r\n dispatch(searchSecuritiesActions.reset());\r\n dispatch(blotterFiltersReset());\r\n dispatch(blotterSearchRequest());\r\n };\r\n\r\n return hasTrades ? : ;\r\n}\r\n","import { isEqual } from 'lodash';\r\nimport { useSelector } from 'react-redux';\r\nimport { blotterCustomDateFilterChange, blotterDateFilterChange, blotterFiltersReset, blotterResetCurrency, blotterSearchRequest, blotterSelectAllCurrencies, blotterSetCurrency, blotterSettlementCustomDateFilterChange, blotterSettlementDateFilterChange, blotterToggleAllocationStatusPendingAllocation, blotterToggleAllocationStatusPendingProceeds, blotterToggleAllocationStatusPendingSettlement, blotterToggleAllocationStatusSettled, blotterToggleAllocationStatusUnsettled, blotterToggleConfirmed, blotterToggleFilterBuy, blotterToggleFilterClient, blotterToggleFilterDesc, blotterToggleFilterSell, blotterTogglePending, blotterToggleRejected, controlPanelActions } from '../../actions';\r\nimport { bwicDateFilterOptions, roles } from '../../constants';\r\nimport { RequestState } from '../../constants/request-state';\r\nimport { BlotterSearchResult } from '../../types/blotter/BlotterSearchResult';\r\nimport { Currencies, Currency } from '../../types/enums/Currency';\r\nimport { TradeSettlementStatus, tradeSettlementStatusTitle } from '../../types/settlement/TradeSettlementStatus';\r\nimport { AppState } from '../../types/state/AppState';\r\nimport { TradeSide } from '../../types/trades/TradeSide';\r\nimport { TradeStatus } from '../../types/trades/TradeStatus';\r\nimport { TradeType, tradeTypeTitle } from '../../types/trades/TradeType';\r\nimport { isRequesting, isRequestNone } from '../../utils';\r\nimport { ShowFor } from '../access';\r\nimport { DateRangeSelector } from '../common';\r\nimport { FilterSelect } from '../common/filters/FilterSelect';\r\nimport { tradeStatuses } from '../../constants/bidding/trade.statuses';\r\n\r\nimport { FilterButton, FilterClear, FilterPanel, FilterSection, SecuritiesSearchInput } from '../filters';\r\nimport { useAppDispatch } from '../../effects/useAppDispatch';\r\n\r\ninterface Props {\r\n trades: BlotterSearchResult[];\r\n}\r\n\r\nexport function BlotterTradesFilter({ trades }: Props) {\r\n const dispatch = useAppDispatch();\r\n\r\n const filters = useSelector((s: AppState) => s.blotter.filters);\r\n const initialFilters = useSelector((s: AppState) => s.blotter.initialFilters);\r\n const prevFilters = useSelector((s: AppState) => s.blotter.prevFilters);\r\n const requestStateSecurities = useSelector((s: AppState) => s.blotter.requestStateSecurities);\r\n const searchSecuritiesItems = useSelector((s: AppState) => s.searchSecurities.searchTermItems) ?? [];\r\n const hasTrades = useSelector((s: AppState) => s.blotter.ownTrades.hasTrades);\r\n\r\n const filtersDisabled = isRequestNone(requestStateSecurities) || isRequesting(requestStateSecurities) || !hasTrades;\r\n const isClearFilterShown = !filtersDisabled && !isEqual(filters, initialFilters);\r\n const filtersChanged = !isEqual(filters, prevFilters);\r\n\r\n const search = () => dispatch(blotterSearchRequest());\r\n\r\n const resetFilters = () => {\r\n dispatch(controlPanelActions.hide());\r\n dispatch(blotterFiltersReset());\r\n search();\r\n };\r\n\r\n\r\n return (\r\n \r\n \r\n dispatch(blotterSearchRequest())}\r\n disabled={\r\n requestStateSecurities === RequestState.request ||\r\n (!trades.length && !searchSecuritiesItems.length) ||\r\n !hasTrades\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n dispatch(blotterDateFilterChange(bwicDateFilterOptions.unspecified))}\r\n disabled={filtersDisabled}\r\n selectedDateOption={filters.selectedDateOption}\r\n customDateRange={filters.customDateRange}\r\n onSelectedDateChange={(date: Date) => dispatch(blotterDateFilterChange(date))}\r\n onCustomDateChange={(date: Date) => dispatch(blotterCustomDateFilterChange(date))}\r\n acceptedOptions={[\r\n bwicDateFilterOptions.unspecified,\r\n bwicDateFilterOptions.today,\r\n bwicDateFilterOptions.thisWeek,\r\n bwicDateFilterOptions.lastWeek,\r\n bwicDateFilterOptions.lastMonth,\r\n bwicDateFilterOptions.lastYear,\r\n bwicDateFilterOptions.custom\r\n ]}\r\n disabledDays={{ after: new Date() }}\r\n />\r\n \r\n \r\n ({\r\n text: tradeStatuses.getByKey(x)!.title,\r\n value: x,\r\n selected: (\r\n (filters.pending && x === TradeStatus.pending) ||\r\n (filters.confirmed && x === TradeStatus.affirmed) ||\r\n (filters.rejected && x === TradeStatus.rejected)\r\n ),\r\n visible: true,\r\n disabled: false\r\n }))\r\n }\r\n onChangeItemSelection={item => {\r\n (item.value === TradeStatus.pending && dispatch(blotterTogglePending()));\r\n (item.value === TradeStatus.affirmed && dispatch(blotterToggleConfirmed()));\r\n (item.value === TradeStatus.rejected && dispatch(blotterToggleRejected()));\r\n }}\r\n onClearAll={() => {\r\n filters.pending && dispatch(blotterTogglePending());\r\n filters.confirmed && dispatch(blotterToggleConfirmed());\r\n filters.rejected && dispatch(blotterToggleRejected());\r\n }}\r\n onSelectAll={() => {\r\n !filters.pending && dispatch(blotterTogglePending());\r\n !filters.confirmed && dispatch(blotterToggleConfirmed());\r\n !filters.rejected && dispatch(blotterToggleRejected());\r\n }}\r\n />\r\n \r\n \r\n dispatch(blotterSettlementDateFilterChange(bwicDateFilterOptions.unspecified))}\r\n onSelectedDateChange={(date: Date) => dispatch(blotterSettlementDateFilterChange(date))}\r\n onCustomDateChange={(date: Date) => dispatch(blotterSettlementCustomDateFilterChange(date))}\r\n acceptedOptions={[\r\n bwicDateFilterOptions.unspecified,\r\n bwicDateFilterOptions.today,\r\n bwicDateFilterOptions.thisWeek,\r\n bwicDateFilterOptions.lastWeek,\r\n bwicDateFilterOptions.lastMonth,\r\n bwicDateFilterOptions.lastYear,\r\n bwicDateFilterOptions.custom\r\n ]}\r\n disabledDays={{ after: new Date() }}\r\n />\r\n \r\n \r\n ({\r\n text: tradeSettlementStatusTitle[x],\r\n value: x,\r\n selected: (\r\n (filters.allocationStatus.unsettled && x === TradeSettlementStatus.Unsettled) ||\r\n (filters.allocationStatus.pendingAllocation && x === TradeSettlementStatus.PendingAllocation) ||\r\n (filters.allocationStatus.pendingSettlement && x === TradeSettlementStatus.PendingSettlement) ||\r\n (filters.allocationStatus.pendingProceeds && x === TradeSettlementStatus.PendingProceeds) ||\r\n (filters.allocationStatus.settled && x === TradeSettlementStatus.Settled)\r\n ),\r\n visible: true,\r\n disabled: false\r\n }))\r\n }\r\n onChangeItemSelection={item => {\r\n (item.value === TradeSettlementStatus.Unsettled && dispatch(blotterToggleAllocationStatusUnsettled()));\r\n (item.value === TradeSettlementStatus.PendingSettlement && dispatch(blotterToggleAllocationStatusPendingSettlement()));\r\n (item.value === TradeSettlementStatus.PendingAllocation && dispatch(blotterToggleAllocationStatusPendingAllocation()));\r\n (item.value === TradeSettlementStatus.PendingProceeds && dispatch(blotterToggleAllocationStatusPendingProceeds()));\r\n (item.value === TradeSettlementStatus.Settled && dispatch(blotterToggleAllocationStatusSettled()));\r\n }}\r\n onClearAll={() => {\r\n filters.allocationStatus.unsettled && dispatch(blotterToggleAllocationStatusUnsettled());\r\n filters.allocationStatus.pendingAllocation && dispatch(blotterToggleAllocationStatusPendingAllocation());\r\n filters.allocationStatus.pendingSettlement && dispatch(blotterToggleAllocationStatusPendingSettlement());\r\n filters.allocationStatus.pendingProceeds && dispatch(blotterToggleAllocationStatusPendingProceeds());\r\n filters.allocationStatus.settled && dispatch(blotterToggleAllocationStatusSettled());\r\n }}\r\n onSelectAll={() => {\r\n !filters.allocationStatus.unsettled && dispatch(blotterToggleAllocationStatusUnsettled());\r\n !filters.allocationStatus.pendingAllocation && dispatch(blotterToggleAllocationStatusPendingSettlement());\r\n !filters.allocationStatus.pendingSettlement && dispatch(blotterToggleAllocationStatusPendingAllocation());\r\n !filters.allocationStatus.pendingProceeds && dispatch(blotterToggleAllocationStatusPendingProceeds());\r\n !filters.allocationStatus.settled && dispatch(blotterToggleAllocationStatusSettled());\r\n }}\r\n />\r\n \r\n \r\n ({\r\n text: c,\r\n value: c,\r\n selected: filters.currency.some((fc: Currency) => fc === c),\r\n visible: true,\r\n disabled: false\r\n }))\r\n }\r\n onChangeItemSelection={item => dispatch(blotterSetCurrency(item.value))}\r\n onClearAll={() => dispatch(blotterResetCurrency())}\r\n onSelectAll={() => dispatch(blotterSelectAllCurrencies())}\r\n />\r\n \r\n \r\n ({\r\n text: x,\r\n value: x,\r\n selected: (x === TradeSide.Buy && filters.buySide) || (x === TradeSide.Sell && filters.sellSide),\r\n visible: true,\r\n disabled: false\r\n }))\r\n }\r\n onChangeItemSelection={item => {\r\n item.value === TradeSide.Buy && dispatch(blotterToggleFilterBuy());\r\n item.value === TradeSide.Sell && dispatch(blotterToggleFilterSell());\r\n }}\r\n onClearAll={() => {\r\n filters.buySide && dispatch(blotterToggleFilterBuy());\r\n filters.sellSide && dispatch(blotterToggleFilterSell());\r\n }}\r\n onSelectAll={() => {\r\n !filters.buySide && dispatch(blotterToggleFilterBuy());\r\n !filters.sellSide && dispatch(blotterToggleFilterSell());\r\n }}\r\n />\r\n \r\n \r\n \r\n ({\r\n text: tradeTypeTitle[x],\r\n value: x,\r\n selected: (x === TradeType.Client && filters.client) || (x === TradeType.Desk && filters.desc),\r\n visible: true,\r\n disabled: false\r\n }))\r\n }\r\n onChangeItemSelection={item => {\r\n item.value === TradeType.Client && dispatch(blotterToggleFilterClient());\r\n item.value === TradeType.Desk && dispatch(blotterToggleFilterDesc());\r\n }}\r\n onClearAll={() => {\r\n filters.client && dispatch(blotterToggleFilterClient());\r\n filters.desc && dispatch(blotterToggleFilterDesc());\r\n }}\r\n onSelectAll={() => {\r\n !filters.client && dispatch(blotterToggleFilterClient());\r\n !filters.desc && dispatch(blotterToggleFilterDesc());\r\n }}\r\n />\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, { useEffect, useMemo } from 'react';\r\nimport moment from 'moment';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport cn from 'classnames';\r\nimport { user } from '../../user';\r\nimport { BwicTypeLabel, OnHoverTooltip, Preloader } from '../common';\r\nimport {\r\n blotterInit,\r\n blotterReset,\r\n blotterSearchRequest,\r\n blotterSearchRequestNextPage,\r\n blotterToggleBooked,\r\n blotterToggleVcon,\r\n blotterOrderByChange\r\n} from '../../actions';\r\nimport { controlPanelActions, searchSecuritiesActions } from '../../actions';\r\nimport { dateTimeUtils, formatUtils, isRequesting, isRequestSuccess, moneyUtils } from '../../utils';\r\nimport { Table } from '../bidding/common/table';\r\nimport { constants, roles, SORTING_TYPE } from '../../constants';\r\nimport { CompanyDetailsButton } from '../company-details/CompanyDetailsButton';\r\nimport { AffirmTradeButtons } from '../bidding/brokerDealer/trade-affirm';\r\nimport { BlotterEmptyListPlaceholder } from './BlotterEmptyListPlaceholder';\r\nimport { ColumnBuilder } from '../bidding/common/table/columns/column-builder/ColumnBuilder';\r\nimport { CompanyDetailsPanel } from '../company-details/CompanyDetailsPanel';\r\nimport { ListBuilder } from '../../utils/ListBuilder';\r\nimport { TradeType, tradeTypeTitle } from '../../types/trades/TradeType';\r\nimport { TradeSide } from '../../types/trades/TradeSide';\r\nimport { TradeStatusLabel } from '../trade/TradeStatusLabel';\r\nimport { TradeBookedCheckbox } from './TradeBookedCheckbox';\r\nimport { VconCheckbox } from './VconCheckbox';\r\nimport { TradeStatus } from '../../types/trades/TradeStatus';\r\nimport { TradeSettlementStatus } from '../../types/settlement/TradeSettlementStatus';\r\nimport { TableColumnStickType } from '../bidding/common/table/types/TableColumnStickType';\r\nimport { SettlementStatusLabel } from '../settlement/SettlementStatusLabel';\r\nimport { SettlementStatusLabelCombined } from '../settlement/SettlementStatusLabelCombined';\r\nimport { StickyTableRow } from '../bidding/common/table/sticky/StickyTableRow';\r\nimport { StickyTableCollapsibleRow } from '../bidding/common/table/sticky/StickyTableCollapsibleRow';\r\nimport { TradeAllocationTableRows } from './TradeAllocationTableRows';\r\nimport { useSettlementAccounts } from '../../effects/data-accessors/useSettlementAccounts';\r\nimport { TradeAllocationPopup } from './settlement-account/TradeAllocationPopup';\r\nimport { TradeAllocationButton } from './settlement-account/TradeAllocationButton';\r\nimport { EmailLink } from '../bidding/common/EmailLink';\r\nimport { BidOnBehalfIcon } from '../bidding/seller/bid-on-behalf/BidOnBehalfIcon';\r\nimport { BlotterTradesFilter } from './BlotterTradesFilter';\r\nimport { BwicViewLink } from '../common/BwicViewLink';\r\n\r\nexport function BlotterTrades() {\r\n const dispatch = useDispatch();\r\n const currentUser = user.current();\r\n\r\n const isBrokerDealer = user.hasRoles(...roles.bd());\r\n const isSeller = user.hasRoles(...roles.seller());\r\n\r\n const isSellFilterApplied = useSelector(state => state.blotter.prevFilters.sellSide);\r\n const isBuyFilterApplied = useSelector(state => state.blotter.prevFilters.buySide);\r\n const securities = useSelector(state => state.blotter.securities);\r\n const requestStateSecurities = useSelector(state => state.blotter.requestStateSecurities);\r\n const ownTrades = useSelector(state => state.blotter.ownTrades);\r\n const page = useSelector(state => state.blotter.page);\r\n const pageSize = useSelector(state => state.blotter.pageSize);\r\n const totalRecordNumber = useSelector(state => state.blotter.totalRecordNumber);\r\n const orderByColumn = useSelector(state => state.blotter.orderByColumn);\r\n const orderByDirection = useSelector(state => state.blotter.orderByDirection);\r\n\r\n const companyDetailsRowKey = useSelector(state => state.companyDetails.rowKey);\r\n const { settlementAccounts, settlementAccountsRequestState } = useSettlementAccounts(false);\r\n\r\n\r\n const isDirectTrade = trade => trade.type === TradeType.Client || trade.type === TradeType.Empty\r\n const isDirectTradeCreator = trade => isDirectTrade(trade) && trade.directBuyerCompany == null\r\n\r\n const isSettlementAgent = trade =>\r\n isBrokerDealer &&\r\n currentUser.isClearingBank &&\r\n isDirectTrade(trade) &&\r\n trade.counterparty &&\r\n trade.directBuyerCompany &&\r\n trade.counterparty.id !== currentUser.companyId &&\r\n trade.directBuyerCompany.id !== currentUser.companyId;\r\n\r\n const isTradeAllocationExist = settlementStatus =>\r\n settlementStatus === TradeSettlementStatus.PendingSettlement ||\r\n settlementStatus === TradeSettlementStatus.PendingProceeds ||\r\n settlementStatus === TradeSettlementStatus.Settled;\r\n\r\n const getSellerSettlementStatus = trade =>\r\n trade.directBuyerCompany == null ? trade.sellerSettlementStatus : trade.buyerSettlementStatus;\r\n\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n const isCollapsible = useMemo(() => securities.some(s => shouldRenderCollapsibleRow(s)), [securities]);\r\n\r\n useEffect(() => {\r\n dispatch(blotterInit());\r\n dispatch(blotterSearchRequest());\r\n\r\n return () => {\r\n dispatch(searchSecuritiesActions.reset());\r\n dispatch(controlPanelActions.hide());\r\n dispatch(blotterReset());\r\n };\r\n }, [dispatch]);\r\n\r\n const handleSortChange = field => {\r\n dispatch(blotterOrderByChange(field));\r\n dispatch(blotterSearchRequest());\r\n }\r\n\r\n const handleNextPage = () => {\r\n if (!isRequesting(requestStateSecurities)) {\r\n dispatch(blotterSearchRequestNextPage(page + 1));\r\n }\r\n }\r\n\r\n const getTradeRowHighlightedClassName = trade => {\r\n const active = getRowKey(trade) === companyDetailsRowKey;\r\n const pending = isAwaitingConfirmation(trade) || isAwaitingAllocation(trade);\r\n\r\n return cn({ active, 'pending-trade': pending });\r\n }\r\n\r\n const isAwaitingConfirmation = trade => {\r\n if (trade.status === TradeStatus.pending) {\r\n if (isDirectTrade(trade)) {\r\n return !isSettlementAgent(trade) && !isDirectTradeCreator(trade);\r\n }\r\n\r\n return isBrokerDealer;\r\n }\r\n }\r\n\r\n const isAwaitingAllocation = trade => {\r\n if (isDirectTrade(trade) && !trade.isAllToAll) { // Skip for All-to-All\r\n const statuses = [];\r\n if (isSeller) {\r\n trade.directBuyerCompany == null\r\n ? statuses.push(trade.sellerSettlementStatus)\r\n : statuses.push(trade.buyerSettlementStatus)\r\n } else {\r\n statuses.push(trade.buyerSettlementStatus);\r\n statuses.push(trade.sellerSettlementStatus);\r\n }\r\n\r\n return statuses.some(s => s === TradeSettlementStatus.PendingAllocation || s === TradeSettlementStatus.PendingProceeds);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n const getRowKey = trade => trade.side ? `${trade.tradeId}-${trade.side}` : trade.tradeId;\r\n\r\n const getColumns = isDirectTradeDetails => {\r\n const tradeTypeIcon = {\r\n columnKey: 'tradeTypeIcon',\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: trade => !isDirectTradeDetails &&\r\n <>\r\n {!!trade.onBehalf && }\r\n \r\n ,\r\n className: 'data-list-cell-xs-sm'\r\n };\r\n const tradeDate = {\r\n columnKey: 'tradeDate',\r\n renderColumnHeaderContent: () => 'Trade Date',\r\n renderColumnContent: trade => isDirectTradeDetails\r\n ? isTradeAllocationExist(getTradeDetailsSettlementStatus(trade)) && !trade.isAllToAll && 'Allocation'\r\n : dateTimeUtils.utcToLocalString(trade.tradeDate, constants.dateTimeFormatShort),\r\n className: 'data-list-cell-lg',\r\n sortingField: 'tradeDate',\r\n sortingType: SORTING_TYPE.date\r\n };\r\n const settlementDate = {\r\n columnKey: 'settle-date',\r\n renderColumnContent: trade => !isDirectTradeDetails && trade.settlementDate\r\n ? moment(trade.settlementDate).format(constants.dateShortFormat)\r\n : '',\r\n renderColumnHeaderContent: () => 'Settl. Date',\r\n className: 'data-list-cell-sm',\r\n sortingField: 'settlementDate',\r\n sortingType: SORTING_TYPE.date\r\n };\r\n const settleType = {\r\n columnKey: 'settleType',\r\n renderColumnContent: trade => renderSettlementType(trade, isDirectTradeDetails),\r\n renderColumnHeaderContent: () => '',\r\n headerClassName: 'data-list-cell-xxs text-right text-medium',\r\n bodyClassName: 'data-list-cell-xxs text-right text-medium'\r\n };\r\n const settleStatus = {\r\n columnKey: 'settle-status',\r\n renderColumnContent: trade => renderSettlementStatus(trade, isDirectTradeDetails),\r\n renderColumnHeaderContent: () => 'Settl. Status',\r\n className: 'data-list-cell-lg'\r\n };\r\n const tradeStatus = {\r\n columnKey: 'trade-status',\r\n renderColumnContent: trade => isDirectTradeDetails\r\n ? ''\r\n : ,\r\n renderColumnHeaderContent: () => 'Trade Status',\r\n className: 'data-list-cell-sm',\r\n sortingField: 'tradeStatus',\r\n sortingType: SORTING_TYPE.number\r\n };\r\n const isinCusip = {\r\n columnKey: 'isinCusip',\r\n renderColumnContent: trade => isDirectTradeDetails ? '' : trade.isinCusip,\r\n renderColumnHeaderContent: () => 'ISIN/CUSIP',\r\n className: 'data-list-cell-sm'\r\n };\r\n const ticker = {\r\n columnKey: 'ticker',\r\n renderColumnContent: trade => isDirectTradeDetails ? '' : trade.ticker,\r\n renderColumnHeaderContent: () => 'Ticker',\r\n className: 'data-list-cell-lg'\r\n };\r\n const bwic = {\r\n columnKey: 'bwic',\r\n renderColumnContent: trade => renderViewBwicLink(trade, isDirectTradeDetails),\r\n renderColumnHeaderContent: () => 'BWIC',\r\n className: 'data-list-cell-xs'\r\n }\r\n const rating = {\r\n columnKey: 'rating',\r\n renderColumnContent: trade => isDirectTradeDetails ? '' : trade.rating,\r\n renderColumnHeaderContent: () => 'Rtg',\r\n className: 'data-list-cell-xs'\r\n };\r\n const side = {\r\n columnKey: 'side',\r\n renderColumnContent: trade => renderSide(trade, isDirectTradeDetails),\r\n renderColumnHeaderContent: () => 'Side',\r\n className: 'data-list-cell-xs'\r\n };\r\n const counterparty = {\r\n columnKey: 'counterparty',\r\n renderColumnContent: trade => isSettlementAgent(trade) && !isDirectTradeDetails\r\n ? constants.emptyPlaceholder\r\n : dispatch(controlPanelActions.hide())}\r\n />,\r\n renderColumnHeaderContent: () => 'Counterparty',\r\n className: 'data-list-cell-sm'\r\n };\r\n const traderEmail = {\r\n columnKey: 'traderEmail',\r\n renderColumnContent: trade => renderTradeEmail(trade, isDirectTradeDetails),\r\n renderColumnHeaderContent: () => 'Trader Email',\r\n className: 'data-list-cell-lg-02'\r\n };\r\n\r\n const ccy = {\r\n columnKey: 'ccy',\r\n renderColumnContent: trade => trade.currency,\r\n renderColumnHeaderContent: () => 'Ccy',\r\n className: 'data-list-cell-xs'\r\n };\r\n const size = {\r\n columnKey: 'size',\r\n renderColumnContent: trade =>\r\n \r\n
    {moneyUtils.money(trade.size)}
    \r\n
    ,\r\n renderColumnHeaderContent: () => 'Size',\r\n className: 'data-list-cell-sm text-right',\r\n sortingField: 'size',\r\n sortingType: SORTING_TYPE.number\r\n };\r\n const price = {\r\n columnKey: 'price',\r\n renderColumnContent: trade => formatUtils.formatBid(trade.price),\r\n renderColumnHeaderContent: () => 'Price',\r\n className: 'text-right',\r\n sortingField: 'price',\r\n sortingType: SORTING_TYPE.number\r\n };\r\n const commission = {\r\n columnKey: 'commission',\r\n renderColumnContent: trade => renderCommission(isDirectTradeDetails, trade),\r\n renderColumnHeaderContent: () => 'Comm, %',\r\n className: 'text-right',\r\n sortingField: 'commission',\r\n sortingType: SORTING_TYPE.number\r\n };\r\n const totalPrice = {\r\n columnKey: 'totalPrice',\r\n renderColumnContent: (trade) => renderTotalPrice(isDirectTradeDetails, trade),\r\n renderColumnHeaderContent: () => 'Total Price',\r\n className: 'text-right'\r\n };\r\n const vcon = {\r\n columnKey: 'vcon',\r\n renderColumnContent: (trade) => isDirectTradeDetails && trade.status !== TradeStatus.rejected ? (\r\n dispatch(blotterToggleVcon(tradeId, tradeSide, value))}\r\n />\r\n ) : <>{constants.emptyPlaceholder},\r\n renderColumnHeaderContent: () => 'VCON',\r\n };\r\n const booked = {\r\n columnKey: 'booked',\r\n renderColumnContent: (trade) => isDirectTradeDetails && trade.status !== TradeStatus.rejected ? (\r\n \r\n dispatch(blotterToggleBooked(tradeId, tradeSide, value))\r\n }\r\n />\r\n ) : <>{constants.emptyPlaceholder},\r\n renderColumnHeaderContent: () => 'Trade Booked',\r\n className: 'data-list-cell-sm'\r\n };\r\n const type = {\r\n columnKey: 'type',\r\n renderColumnContent: trade => isDirectTradeDetails ? '' : tradeTypeTitle[trade.type],\r\n renderColumnHeaderContent: () => 'Type',\r\n className: 'data-list-cell-xs',\r\n sortingField: 'tradeType',\r\n sortingType: SORTING_TYPE.number\r\n };\r\n const comment = {\r\n columnKey: 'comment',\r\n renderColumnContent: trade =>\r\n trade.comment && (!isDirectTradeDetails || trade.side === TradeSide.Buy)\r\n ? \r\n
    {trade.comment}
    \r\n
    \r\n : constants.emptyPlaceholder,\r\n renderColumnHeaderContent: () => 'Comments',\r\n className: 'data-list-comment'\r\n };\r\n const emptyColumn = {\r\n columnKey: 'emptyColumn',\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: () => '',\r\n className: 'data-list-cell-icon',\r\n stickRight: true\r\n };\r\n const actions = {\r\n columnKey: 'actions',\r\n renderColumnHeaderContent: () => 'Actions',\r\n renderColumnContent: trade =>\r\n <>\r\n {\r\n trade.status === TradeStatus.affirmed &&\r\n isDirectTrade(trade) &&\r\n !isDirectTradeDetails &&\r\n !trade.isAllToAll &&\r\n \r\n }\r\n {renderPendingTradeButtons(trade)}\r\n ,\r\n headerClassName: 'data-list-options data-list-cell-md flex-item-right',\r\n bodyClassName: 'data-list-options data-list-cell-md flex-row justify-content-end padding-l-0',\r\n stickRight: true\r\n };\r\n\r\n const columns = new ListBuilder()\r\n .add(tradeTypeIcon)\r\n .add(tradeDate)\r\n .add(tradeStatus)\r\n .addWhen(() => isBrokerDealer, type)\r\n .add(settlementDate, settleType, settleStatus, isinCusip, ticker, bwic,\r\n rating, side, counterparty, traderEmail, ccy, size, price, commission, totalPrice)\r\n .addWhen(() => isBrokerDealer && currentUser.isClearingBank, vcon)\r\n .addWhen(() => isBrokerDealer && currentUser.isClearingBank, booked)\r\n .add(comment, emptyColumn, actions)\r\n .result();\r\n return columns.map(c => new ColumnBuilder(c));\r\n };\r\n\r\n const getTradeDetailsSettlementStatus = trade =>\r\n trade.side === TradeSide.Sell ? trade.buyerSettlementStatus : trade.sellerSettlementStatus\r\n\r\n const renderSettlementType = (trade, isDirectTradeDetails) => {\r\n if (isDirectTrade(trade) && !trade.isAllToAll) { // Skip for All-to-All\r\n let isManual;\r\n\r\n if (isBrokerDealer && isDirectTradeDetails && isTradeAllocationExist(getTradeDetailsSettlementStatus(trade))) {\r\n isManual = trade.side === TradeSide.Sell ? trade.isBuyerAllocationManual : trade.isSellerAllocationManual;\r\n } else if (isSeller && isTradeAllocationExist(getSellerSettlementStatus(trade))) {\r\n isManual = isDirectTradeCreator(trade) ? trade.isSellerAllocationManual : trade.isBuyerAllocationManual;\r\n }\r\n\r\n if (isManual != null) {\r\n return isManual\r\n ? M\r\n : A\r\n }\r\n }\r\n\r\n return '';\r\n }\r\n\r\n const renderSettlementStatus = (trade, isDirectTradeDetails) => {\r\n if (isDirectTrade(trade)) {\r\n if (isDirectTradeDetails) {\r\n return ;\r\n }\r\n if (isBrokerDealer) {\r\n return \r\n }\r\n if (isSeller) {\r\n return ;\r\n }\r\n }\r\n\r\n return \r\n }\r\n\r\n const renderViewBwicLink = (trade, isDirectTradeDetails) => {\r\n if (isDirectTradeDetails) return null;\r\n if (isDirectTrade(trade) && isSeller && !isDirectTradeCreator(trade)) return constants.emptyPlaceholder; // Seller - buyer\r\n\r\n const isMy = isDirectTrade(trade) ? isDirectTradeCreator(trade) : isSeller;\r\n\r\n return \r\n };\r\n\r\n const renderTotalPrice = (isDirectTradeDetails, trade) => {\r\n if (trade.commission && (!isDirectTradeDetails || trade.side === TradeSide.Sell)) {\r\n return formatUtils.formatBid(trade.price + trade.commission);\r\n }\r\n return formatUtils.formatBid(trade.price);\r\n };\r\n\r\n const renderCommission = (isDirectTradeDetails, trade) => {\r\n if (isDirectTrade(trade) && trade.commission) {\r\n\r\n if (isDirectTradeCreator(trade)) return constants.emptyPlaceholder;\r\n\r\n const commission = formatUtils.formatDecimal(trade.commission, 4);\r\n\r\n if (isSettlementAgent(trade)) {\r\n if (isDirectTradeDetails && trade.side === TradeSide.Sell) return commission;\r\n } else if (!isDirectTradeDetails) {\r\n return commission;\r\n }\r\n }\r\n\r\n return constants.emptyPlaceholder;\r\n }\r\n\r\n const renderSide = (trade, isDirectTradeDetails) => {\r\n if (isDirectTrade(trade)) {\r\n if (isDirectTradeCreator(trade)) return 'Sell';\r\n if (isSettlementAgent(trade)) {\r\n if (!isDirectTradeDetails) return constants.emptyPlaceholder; // Settlement Agent summary row\r\n if (trade.side === TradeSide.Sell) return 'Sell'; // Settlement Agent 'sell' row\r\n }\r\n return 'Buy';\r\n }\r\n\r\n return isSeller ? 'Sell' : 'Buy' // Not direct trade\r\n };\r\n\r\n const renderTradeEmail = (trade, isDirectTradeDetails) => {\r\n const getEmail = () => {\r\n if (isDirectTrade(trade)) {\r\n if (isDirectTradeCreator(trade)) return trade.createdBy;\r\n if (isSettlementAgent(trade)) {\r\n if (isDirectTradeDetails) {\r\n return trade.side === TradeSide.Buy ? trade.createdBy : trade.affirmedRejectedBy;\r\n }\r\n return '';\r\n }\r\n return trade.affirmedRejectedBy;\r\n } else {\r\n return isSeller ? trade.createdBy : trade.affirmedRejectedBy; // Not direct trade\r\n }\r\n }\r\n\r\n const email = getEmail();\r\n return email ? : constants.emptyPlaceholder;\r\n }\r\n\r\n const renderPendingTradeButtons = trade => {\r\n if (isAwaitingConfirmation(trade)) {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n return null;\r\n };\r\n\r\n const renderTradeAllocationRows = (trade, columnType) =>\r\n \r\n\r\n const renderDirectTradeRows = (trade, columnType) => {\r\n const dataItems = [];\r\n const isSideFilterUnapplied = !isBuyFilterApplied && !isSellFilterApplied;\r\n\r\n if (isBuyFilterApplied || isSideFilterUnapplied) {\r\n dataItems.push({ ...trade, side: TradeSide.Buy });\r\n }\r\n if (isSellFilterApplied || isSideFilterUnapplied) {\r\n dataItems.push({ ...trade, side: TradeSide.Sell, counterparty: trade.directBuyerCompany });\r\n }\r\n\r\n let columns = columnType === TableColumnStickType.Middle\r\n ? getColumns(true).filter(c => !c.column.stickLeft && !c.column.stickRight)\r\n : getColumns(true).filter(c => c.column.stickRight);\r\n\r\n return dataItems.map(i => {\r\n const key = `${i.tradeId}-${i.side}`;\r\n\r\n if (trade.status === TradeStatus.affirmed &&\r\n !trade.isAllToAll &&\r\n isDirectTrade(trade) &&\r\n isTradeAllocationExist(getTradeDetailsSettlementStatus(i))) {\r\n return (\r\n \r\n \r\n }\r\n />\r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n });\r\n }\r\n\r\n function shouldRenderCollapsibleRow(trade) {\r\n return (\r\n isDirectTrade(trade) &&\r\n (isSettlementAgent(trade) ||\r\n (!trade.isAllToAll && isTradeAllocationExist(getSellerSettlementStatus(trade))))\r\n );\r\n }\r\n\r\n const containerClasses = {\r\n 'blotter-container flex-row flex-row-full-size': true,\r\n 'blotter-container-sl': !isBrokerDealer,\r\n 'blotter-container-bd': isBrokerDealer && !currentUser.isClearingBank,\r\n 'blotter-container-cb': isBrokerDealer && currentUser.isClearingBank\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {\r\n !!securities.length &&\r\n <>\r\n (page * pageSize)}\r\n createRowCustomKey={trade => trade.tradeId}\r\n createSecurityCustomClassName={getTradeRowHighlightedClassName}\r\n shouldRenderCollapsibleRowCallback={shouldRenderCollapsibleRow}\r\n renderCollapsibleItem={(trade, columnType) => isSettlementAgent(trade)\r\n ? renderDirectTradeRows(trade, columnType)\r\n : renderTradeAllocationRows(trade, columnType)\r\n }\r\n onSort={handleSortChange}\r\n />\r\n \r\n \r\n \r\n }\r\n {\r\n !securities.length && isRequestSuccess(ownTrades.requestState) &&\r\n \r\n }\r\n \r\n
    \r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Preloader } from '../common';\r\nimport { isRequesting } from '../../utils';\r\nimport { blotterExportRequest } from '../../actions/blotter.actions';\r\nimport { AppState } from '../../types/state/AppState'\r\nimport { RequestState } from '../../constants/request-state';\r\nimport IconSVG from '../../styles/svg-icons';\r\n\r\nexport function BlotterExportButton() {\r\n const dispatch = useDispatch();\r\n const { securities } = useSelector((s: AppState) => s.blotter);\r\n const { requestStateSecurities } = useSelector((s: AppState) => s.blotter);\r\n const { requestStateExport } = useSelector((s: AppState) => s.blotter);\r\n\r\n return (\r\n \r\n dispatch(blotterExportRequest())}\r\n className=\"btn btn-link\"\r\n >\r\n Export\r\n \r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { BlotterExportButton } from './BlotterExportButton';\r\nimport { BlotterTrades } from './BlotterTrades';\r\n\r\nexport function BlotterTradesView() {\r\n return (\r\n <>\r\n
    \r\n

    BWIC Blotter

    \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 { Redirect, Route, Switch, useHistory } from 'react-router';\r\nimport { roles, routes } from '../../constants';\r\nimport { ShowFor } from '../access';\r\nimport { BlotterTrades } from './BlotterTrades';\r\nimport { BlotterTradesView } from './BlotterTradesView';\r\nimport { TabItem, TabList } from '../bidding/common/tab-list';\r\nimport { BlotterSettlementAccount } from './settlement-account/BlotterSettlementAccount';\r\nimport { useTradeAllocationTemplates } from '../../effects/data-accessors/useTradeAllocationTemplates';\r\nimport { useLocationStateReset } from '../../effects/useLocationStateReset';\r\nimport { user } from '../../user';\r\nimport { TradeAllocationTemplateButton } from './settlement-account/template/TradeAllocationTemplateButton';\r\nimport { useSettlementAccounts } from '../../effects/data-accessors/useSettlementAccounts';\r\nimport { BlotterExportButton } from './BlotterExportButton';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { AppState } from '../../types/state/AppState';\r\nimport { isRequesting } from '../../utils';\r\nimport { settlementAccountActions } from '../../actions/settlement-account.actions';\r\n\r\nenum BlotterTabType {\r\n Trades,\r\n Settlement\r\n}\r\n\r\nexport function BlotterView() {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n\r\n useLocationStateReset(); // Reset all popups and panels on the first load\r\n useSettlementAccounts();\r\n const { tradeAllocationTemplatesRequestState, templates } = useTradeAllocationTemplates(!user.hasRoles(...roles.seller()));\r\n const requestStateSecurities = useSelector((s: AppState) => s.blotter.requestStateSecurities);\r\n\r\n const renderTabs = (activeTab: BlotterTabType) =>\r\n
    \r\n
    \r\n \r\n \r\n {\r\n dispatch(settlementAccountActions.reset()); // TO DO: Remove after Settlement Account push will be implemented\r\n history.push(routes.blotterSettlementAccountDetailsUrl(\"\"));\r\n }}\r\n />\r\n \r\n
    \r\n \r\n \r\n \r\n history.replace(routes.blotterSettlementAccountDetailsUrl(\"\"), nextState)}\r\n disabled={isRequesting(requestStateSecurities)}\r\n />\r\n \r\n \r\n history.replace(history.location.pathname, nextState)}\r\n disabled={isRequesting(requestStateSecurities)}\r\n />\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n return (\r\n
    \r\n \r\n \r\n renderTabs(BlotterTabType.Trades)} />\r\n renderTabs(BlotterTabType.Settlement)} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n"],"names":["SellerView","dispatch","useAppDispatch","tab","useParams","bwic","useAppSelector","s","bidding","isLoading","rightSidePanelVisible","bwicHistory","visible","sellerBidding","bidList","securityDetails","security","rules","show","pxTalkList","autoFeedbackSettingsVisible","dealerListPanel","panelVisible","blastMessage","bwicLog","activePositionId","positionId","id","getActiveTab","isAllToAll","undefined","useEffect","sellerBiddingActions","reset","controlPanelActions","hide","_jsx","DirectBiddingDisclaimerContentBlocker","disabled","isClearingBankParticipant","children","Preloader","inProgress","status","bwicStatuses","scheduled","key","Scheduled","activeTab","isColorDistribution","ColorDistribution","Bidding","cancelled","Cancelled","finished","Finished","renderTemplate","Participants","bwicDealers","useSelector","state","bwicDealerUsers","bwicDealerContacts","participantsLoadingState","positions","securities","settlementAgentAgreementsState","entities","settlementAgentAgreements","biddingActions","loadBwicParticipants","sortedDealers","useMemo","sortDealersByConfirmedAgreement","items","bidsByCompany","allBids","map","p","bids","flat","filter","b","buyerPseudoOrderNumber","arrayUtils","groupBy","bid","company","className","isRequestSuccess","DealerList","dealers","users","contacts","favoriteButtonDisabled","agreements","liveBidding","process","type","BwicProcessType","Live","SubHeader","_ref","_ref$actionBarVisible","actionBarVisible","disabledTabs","_jsxs","BiddingTabList","ActionBar","ExportButton","bwicReferenceName","referenceName","_ref2","history","useHistory","TabList","TabItem","active","BiddingTabs","title","onClick","push","routes","biddingUrl","indexOf","participants","AutoFeedbackSettingsButton","_ref$disabled","disabledTooltip","React","autoFeedbackSettingsActions","showAutoFeedbackSettingsPanel","isActive","autoFeedbackConfiguration","onPlatform","offPlatform","RoleActionBlocker","roles","SellerTrader","BrokerDealerTrader","blocked","OnHoverTooltip","overlay","FeatureButton","classNames","toggleAutoFeedbackSettingsPanel","IconSVG","name","width","height","AutoFeedbackSettingsPanel","props","AutoFeedbackSettingsPanelContent","_objectSpread","settings","_s$bidding$bwic","autoFeedbackSettingsSaving","isAutoFeedbackBlastMessageSending","_s$bidding$bwic2","enabled","isTopXStage2","TopX","stagedBiddingStatus","OpenBiddingStatus","stage1Ended","isThirdTextVisible","topX","improverCount","TopXStage2Participants","Top3","isFourthTextVisible","Top4","isFifthTextVisible","Top5","RightSidePanel","onClose","actions","StatusMessageSection","StatusMessageSectionType","Info","Toggle","value","label","toggleAutofeedback","_useState","useState","_useState2","_slicedToArray","cancelBwicDialogVisible","setCancelBwicDialogVisible","isStandard","Standard","isJumpBall","JumpBall","isTopX","optionsMenuItems","text","requiredRoles","action","TopPanel","ContextMenu","menuItems","concat","Table","dataItems","columns","sellerScheduledColumns","createSecurityCustomClassName","createSecurityCustomArgs","CancelReasonPopup","onCancel","reason","cancelBwic","ControlPanel","bidListEnabled","historyEnabled","TiedForBestWarningIcon","position","_getSecuritiesWithLat","getSecuritiesWithLatestBids","_biddingUtils$groupBi","biddingUtils","groupBidsByLevel","_biddingUtils$groupBi3","best","length","counterparties","code","join","message","TradePopupContent","tradingPositions","tradingPositionsSelector","holidays","tradeAllChecked","tradingConfirmationVisible","minimumSettleDate","hasSelectedPositions","keys","some","_tradingPositions$pos","selected","canSelect","handleClose","cancelTrade","tradeAllSelectionChange","renderSettleDate","tradingState","_tradingState$errors","error","errors","settleDate","e","stopPropagation","DayPickerInput","onDayChange","day","tradingPositionSettleDateChange","minimumDate","selectedDate","allowWeekends","disabledDays","h","Date","FormError","renderCompanyList","positionWithLatestBids","tradingCompanies","pass","sort","a","getBidCompanyIdentifier","DropDownList","c","tradingCompanyIdentifier","defaultSortingEnabled","renderItemContentCallback","item","isTiedForBest","_Fragment","onChange","tradingPositionCompanyChange","renderTradingCompanyBids","allCompanyBids","companyBids","distinct","formatUtils","formatBid","tradingBidId","tradingPositionBidChange","Popup","modalClass","PopupBody","columnKey","renderColumnHeaderContent","renderColumnContent","onBehalf","headerClassName","bodyClassName","tradingPositionIdList","Object","Checkbox","checked","partially","isinCusip","tradingPositionSelectionChange","ticker","rating","_tradingPositions$pos2","BidOverThemselfIcon","companyIdentifier","onHoverTooltipMessage","moneyUtils","money","size","TextareaAutosize","minRows","maxRows","maxLength","placeholder","comment","tradingPositionCommentChange","target","ColumnBuilder","createRowCustomKey","PopupFooter","tradeConfirm","Confirm","TextComponent","onConfirm","submitTrade","TradePopup","DealerListSection","checkboxTooltip","_ref$defaultExpanded","defaultExpanded","toggleState","_ref$toggleEnabled","toggleEnabled","onToggleAll","totalCount","checkedCount","useDispatch","_React$useState","_React$useState2","expanded","setExpanded","isPartiallySelected","placement","TooltipPlacement","BottomRight","dealerListPanelActions","stage2ParticipantsFlagChange","useDealerListAggregatedData","_useAppSelector","offPlatformCompaniesSlim","bidOnBehalf","companies","bwicParticipants","_s$bidding$bwic$compa","companyHiddenState","bidOnlyFlag","bidsByCompanyIdentifier","addIdentifier","identifier","onPlatformCompanies","CompanyStatus","isClearingBank","offPlatformCompanies","buyers","getBuyers","BidOnlyFilter","_useDealerListAggrega","allBrokerDealers","_toConsumableArray","isBrokerDealerWithoutBidsVisible","_bidsByCompanyIdentif","isVisible","hasBids","get","allBrokerDealersWithBidsVisible","_bidsByCompanyIdentif2","setBidOnlyFlag","Boolean","allDealers","forEach","hidden","toggleCompanyVisible","toggleAllPlatformVisible","toggleAllSettlmentsClientsVisible","Stage2ParticipantsFilter","isStage2ParticipantsOnly","DealerListPanel","isDefaultVisibilityApplied","isRequesting","isStage2Mode","showBwicParticipantsOnly","DealerListPanelContent","_ref$offPlatformVisib","offPlatformVisible","searchTerm","setSearchTerm","_useSelector","allFavoriteCompaniesVisible","allPlatformCompaniesVisible","allOffPlatformCompaniesVisible","allSettlmentsClientsVisible","disabledCompanies","favorites","favoriteBrokerDealers","proccesType","_state$bidding$bwic","_state$bidding$bwic2","favoriteCompanies","result","apply","applySearchTerm","searchTermLowerCase","toLowerCase","_biddingUtils$getBidd","_biddingUtils$getBidd2","getBidderName","includes","getBidderShortcode","filteredOnPlatformCompanies","filteredOffPlatformCompanies","filteredFavoriteCompanies","filteredBuyers","shouldForceAllState","allToggleFlag","every","toggleAllFavoriteVisibleFlagOnly","toggleAllPlatformVisibleFlagOnly","toggleAllOffPlatformVisibleFlagOnly","toggleAllSettlmentsClientsFlagOnly","renderCheckbox","favoritedDisabled","arguments","disabledCompanyCheckbox","getText","noBidsSubmitted","Pluralize","singular","count","FavoriteButton","companyId","SearchInput","onClear","toggleAllFavoriteCompaniesVisible","EmptyPlaceholder","textView","toggleAllOffPlatformVisible","DealerListButton","PnL","_Component","_this","_classCallCheck","_len","args","Array","_key","_callSuper","render","_this$props","targetLevel","_biddingUtils$getBids","getBidsByLevel","BidLevel","Best","numericUtils","isNumber","constants","emptyPlaceholder","pnl","round","Number","_inherits","_createClass","Component","connectedEvents","connect","trade","bidsByCreatedDate","createdUtc","localeCompare","lastSubmittedBid","getCompanyCode","toUpperCase","moment","tradeDate","isAfter","companyCode","buyerCompany","tradeContent","TradeStatus","rejected","RejectedLink","rejectReason","rejectedByCompanyCode","canceled","FeedbackLabel","price","dateTimeUtils","utcToLocalString","BidOnBehalfIcon","renderTradeEvent","notPassedBids","lastSubmittedNotPassedBid","now","stage2Start","bidsDueUtc","add","stage1Deadline","stage2Deadline","improvementRound","bidSubmissionDeadline","isBiddingTimeEnded","hasStage2Bids","renderLiveBiddingEvent","_process$topX$improve","_process$topX","_process$jumpBall","bidLevel","getBidLevel","levelBids","hasManySameLevelBids","improversCount","jumpBall","levelString","formatBidLevel","axed","final","renderBidEvent","columnName","renderHeader","SecurityListHeaderColumn","this","renderBody","context","_context$bwic","SecurityListColumn","BidLevelComponent","level","stage2Participants","allowFeedback","bwicStatus","BidOverThemSelf","cover","Cover","third","Third","fourth","Fourth","fifth","Fifth","events","Events","BidListButton","biddersCount","toggleBidList","bidListButton","TradeButtonStyle","automaticStage1Deadline","TradeButton","_ref2$enabled","handleClick","isActiveTrade","tradeStatuses","getByKey","cn","tradeButton","canTradePosition","CompanyBidComponent","_ref$feedbackDisabled","feedbackDisabled","_ref$feedbackVisible","feedbackVisible","latestBid","max","AxedIcon","FinalIcon","renderContent","FeedbackMenu","hasManyBids","bb","emptyBidCompany","CompanyBid","prev","next","_prev$process","_next$process","showEmptyDash","EditBidValue","_editState$value","_ref$editState","editState","hasMoveNextFocus","isBidDecreaseDisabled","isChanged","hasFocus","setHasFocus","inputRef","isBlocked","BlockedFeatureContext","current","focus","validateBid","bidRange","min","errorMessages","bidShouldBeBetween","valueCannotBeLess","invalidValue","ref","onFocus","select","onMouseUp","rawValue","replace","bidNumber","test","bidOnBehalfActions","editBid","onBlur","resetNextBidIdentifiers","resetBidEdit","_editState$error","editingLevel","formatted","onKeyDown","blur","moveNextBid","BidLevelDelta","currentLevel","updatedLevel","updatedLevelVisible","tooltip","EditBidOnBehalf","EditBidOnBehalfContent","columnAnimationEnabled","_editState$pass","_editState$axed","_ref3","_editState$final","bidAttributesVisibe","_ref$columnAnimationE","getEditKey","focusedBid","find","finalChanged","axedChanged","hasBid","LazyLoad","BorderHighlightAnimation","bidOnBehalfUtils","changed","axedMenuItem","textComponent","finalMenuItem","passMenuItem","ListBuilder","addWhen","getMenuItems","customTargetComponent","getLevelCallback","DealerColumnHeaderContent","_ref$canHide","canHide","agreement","columnScrollEnabled","isFavorite","lastSelectedCompanyIdentifier","isOnPlatform","isConfirmedClearingBank","agreementStatus","SettlementAgreementStatus","confirmed","enabledScroll","ScrollIntoView","resetCompanyBidsEdit","DealerColumnHeaderContentMemoized","biddersCounter","Counter","_positionWithAllBids$","_position$trade","positionWithAllBids","calculateStage2Participants","participantsWithImprovedBids","affirmed","getSellerBiddingColumns","shortView","_process$liveBidding","_ListBuilder$add$addW","_ListBuilder$add$addW2","openBiddingImproverCount","freeze","tickerButton","improvementRoundEnded","liveBiddingStage2Timer","pxTalk","slice","createCompanyColumn","BestFootForward","settlementAgent","getSellerFinishedColumns","_ListBuilder$add$addW3","tradeStatus","color","columnDefinition","column","stickLeft","readonly","bidAttributesVisible","definition","_context$stage2Partic","CompanyCell","_position$bids","_position$bids2","_ref$stage2Participan","_ref$readonly","_ref$bidAttributesVis","activeTrade","isBFF","isBuyerCompanyWithoutBids","animationEnabled","canBidJumpBall","jumpBallUtils","canBid","canBidTopX","topXUtils","canBidFF","BidOnBehalfConflictPopup","conflicts","isConflictsPpopupVisible","resetConflicts","BidConflictsWarning","submit","BidOnBehalfSavingLabel","saveOccurred","setSaveOccurred","_useState3","_useState4","saveTimeoutEnded","setSaveTimeoutEnded","isSubmitting","hasPending","apiOperation","requests","r","event","ApiOperationType","submitBidsOnBehalf","RequestState","request","hasChanges","edit","_parseKey","parseKey","isBidChanged","isSaved","setTimeout","RouteLeavingGuard","navigate","pathname","shouldBlockNavigation","BlastMessageButton","blastMessageActions","Stage1AboutToEndTimeoutRadioButton","isStage1AboutToEndTimeout","handleOnChange","stage1AboutToEndTimeout","stage1AboutToEndTimeoutMinutes","parseTimeSpan","totalMinutes","handleMinutesChange","setError","empty","stage1AboutToEndTimeoutMinutesRange","invalidRange","validate","editMinutesAboutToEnd","timeSpan","messageTypeChange","BlastMessageTypes","submitFinal","recipientLevelChange","BlastMessageRecipientLevelState","All","RadioButton","dataTestId","Relative","inline","MaskedInput","String","mask","createNumberMask","prefix","suffix","allowDecimal","decimalLimit","integerLimit","includeThousandsSeparator","right","BlastMessageType","bwicProcess","messageType","recipientLevel","isSubmitFinal","isBidOrPass","bidOrPass","isJumpBallTopXProcess","isBidOrPassEnabled","isSubmitFinalEnabled","isStage1AboutToEndTimeoutVisible","isJumpBallTopXStage1Ended","submitFinalTooltipText","bidOrPassTooltipText","recipientLevelDisabledTooltip","handleMessageTypeChange","handleRecipientLevelChange","BlastMessageRecipient","BlastMessageRecipientContent","onRecipientSelectionChange","recipientSelectedChange","bidCount","wrapperClass","BlastMessageRecipients","isSelectAllRecipients","recipients","favoritesState","useFavorites","agreementsState","useSettlementAgentAgreements","BlastMessageRecipientsContent","onSelectAllChange","selectAll","selectAllRecipientsChange","recipientsKeys","hasRecipients","requestState","biddingCompanies","recipientCompanies","sortBrokerDealerCompanies","BlastMessageButtons","hasPendingBidOnBehalfOperations","selectedRecipientCount","send","BlastMessageStatusMessage","blastMessageStatusMessage","BlastMessagePanel","isSending","BlastMessagePanelContent","SwitchStageButton","_process$jumpBall2","_process$topX2","Button","confirmText","improvementRoud","confirmTitle","confirm","setConfirm","_useFinishStageServic","none","setRequestState","finishStage","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","bwicService","success","t0","failure","errorActions","unexpectedError","stop","useFinishStageService","renderInBody","confirmButtonText","cancelButtonText","ShowBidOnBehalfPopupButton","location","LocationStateBuilder","popup","PopupType","SaveBidOnBehalf","SelectBdDropDown","headers","grid","payload","sensitivity","bidOnBehalfParseActions","addCompany","ParseErrors","_gridHeaders$find","tickers","gridHeaders","i","_i$errors","selectBdError","headerError","unknownCompanyShortCodes","unknownTickers","_i$ticker","_i$ticker2","draft","trim","renderError","Error","Alert","selectBdKey","hasCompanyBids","dataItem","entries","SaveBidOnBehalfPopup","_locationState$popup","locationState","useLocation","SaveBidOnBehalfPopupContent","bwicName","_ref4","isCancelCofrimationShow","setIsCancelCofrimationShow","isGridUploading","upload","GridUploadStatus","Uploading","apiUtils","normalize","isTradedAway","updated","gridActions","replaceDataItem","useTradedPositionsReset","required","unique","initialValue","disabledSort","_ticker$trim$toUpperC","selectBd","createCompanyBobColumn","canRemove","renderTitle","validateHeader","nonDraftDataItems","init","setInitialPosition","handleDeleteItemsWithErrors","removeUnknownCompanyColumns","deleteItemsWithErrors","DownloadTemplateButton","templateType","DeleteRowsWithErrorButton","onDelete","Grid","addRowVisible","moveRowVisible","onDataItemsUpload","file","uploadFile","onDataItemsPaste","clipboardText","parseClipboard","onFileSelected","SaveBidsButton","saveBids","CancelConfirmationModal","_ref5","destinationRedirect","resetPopup","Redirect","to","_ref6","hasErrors","_s$grid$headers","Notifications","useBiddingCompletedSoonNotification","useBiddingCompletedNotification","RecipientType","Seller","useRef","securitesWithAllBids","visibleCompanies","getSellerBiddingCompanies","hiddenState","processType","autoSave","setInterval","bobAutoSaveIntervalSeconds","clearInterval","useBobAutoSave","getTradeStatusFlags","pending","isAllPositionsTraded","isLiveBidding","isBestFF","isJumpBallBiddingCompleted","isTopXBiddingCompleted","isBestFFBiddingCompleted","isButtonDisabled","isSatge2Process","isStage2","isStage2Ended","disabledButtonTooltip","isAutoFeedbacksDisabled","goodUntilUtc","BiddingTimer","tradeAll","completeBwic","FlexRow","NotificationEffects","sticky","_security$bids","tradeStatusFlags","isBFFBiddingEnded","inactive","createHeaderCustomArgs","isParsed","isLiveBiddingStage2","isLiveBiddingEnded","liveBiddingStage2SubmissionDeadline","liveBiddingUtils","calculateStage2SubmissionDeadline","latestBidSubmission","liveBiddingStage2Expired","diff","_securitesWithAllBids","_securitesWithAllBids2","ShowFor","sellerCanceledColumns","targetLevelReadonly","getSellerFinishedCompanies","completedDateUtc","dataListClasses","CompletionTime","OtherSellerView","componentWillUnmount","getColumns","otherSellerBiddingColumns","otherSellerFinishedColumns","otherSellerColumns","hasHistoryColumn","pointer","handleRowClick","toggleHistory","isBidding","isFinished","bind","onRowClick","mapDispatchToProps","bwicHistoryActions","hideSecurityDetails","securityDetailsActions","securityDetailsReset","hideRules","rulesActions","connectedOtherSellerView","otherSellerBidding","OpenBiddingExplanation","onClickGotIt","dontShowAgain","setDontShowAgain","src","contentImageStageFirst","alt","contentImageStageSecond","AdminBiddingViewComponent","AdminBiddingView","memo","BiddingView","_bwic$process","routeMatch","useRouteMatch","visitorType","stateBoardingTooltip","onBoardingTooltip","onBoardingKey","onBoardingTooltipConst","pages","bwicOpenBidding","showExplanation","setShowExplanation","useCacheOnBoardingState","params","pushHistoryActions","user","getOnBoardingTooltipCounters","BwicOpenBidding","maxCountLimit","gotIt","handleCloneExplanation","document","bidDueLocal","local","format","dateTimeFormat","BwicVisitorType","BrokerDealer","Buyer","getDocumentTitle","Admin","OtherSeller","BrokerDealerView","renderBiddingViewByRole","onBoardingTooltipSetCountRequest","page","onBoardingTooltipGotIt","newBidAnimationTimeInSeconds","BidFeedback","feedback","feedbackDate","bidRequest","currentBid","pushNewBid","_state$pushHistory$hi","pushHistory","PushHistoryStateItemType","NewBid","pushFeedback","_state$pushHistory$hi2","Feedback","pushBwicStatus","_state$pushHistory$hi3","BwicStatusChanged","dates","receivedDate","d","lastUpdateDate","getMaxDate","BwicStatus","AnimatedFeedback","date","addStagePrefix","bidRequestText","bidRequestType","created","AnimatedValueUpdate","stageText","automaticStage1DeadlineMinutes","stage1End","stage1EndDateUtc","BiddingInfo","_rule$content","_ref$canBidOnStage","canBidOnStage2","_ref$expired","expired","rule","isApplicable","content","Content","BiddingCompleted","Stage2OutOfTop","improverCountText","NoStage1Bids","jumpBallTopXStage2OutOfTop","Stage1Started","InfoTooltip","ReSubmitButton","isTraded","isFailed","_ref$isOpenBiddingEnd","isOpenBiddingEnded","_ref$hasStageTransiti","hasStageTransitionConflict","isBidOverThemself","hasConflict","isValidationError","SubmitStatus","isSuccess","isPass","conflict","stageTransitionConflict","validationError","isLoggedOut","bidderName","NotificationBody","renderFailed","RequestInvitationPanel","requestInviteDisalogVisible","handleRequestInviteDialog","setInviteDialogVisibility","handleRequestInviteDialogClose","handleInvitationSend","sendInviteRequest","setState","renderNotInvited","RequestInvitationDialog","onSend","renderAccessRequested","accessState","brokerDealerAccessState","notInvited","accessRequested","connectedRequestInvitationPanel","brokerDealerBidding","handleSubmit","Form","onSubmit","cols","rows","seller","BwicCreator","approved","RequestSettlementAgentAgreementBanner","brokerDealerScheduledColumns","hasRoles","CompanyDetailsPanel","BidAll","_ref$title","showCount","canSubmit","_s$brokerDealerBiddin","commissionError","handleBidAll","brokerDealerBiddingActions","bidAll","role","DirectBiddingDisclaimerActionBlocker","usePositionSubmitResult","submitInProgress","submitBidsConfirmation","submitInProgressPositionId","submitResult","SubmitBidStatus","_usePositionSubmitRes","bidsDueDateUtc","_s$bidding$bwic3","checkLiveBiddingStage2Expired","isRequestFailed","ReSubmitBidButton","submitBids","_defineProperty","ConfirmBidsPopup","submitBidsConfirmationVisible","securityToConfirmLength","ConfirmBidsPopupContent","setBids","_React$useState3","_React$useState4","confirmPressed","setConfirmPressed","allSecurities","confirmingSecurities","hasPendingApiOperations","SubmitBidRequest","SubmitAxedFinal","SubmitBid","editBidState","submitResults","useAgreement","positionBids","getCurrentBid","allPositionsTraded","isOpenBidingEnded","bidConfirmationActions","bidSize","renderBid","_bids$position$id$bid","_bids$position$id","_bids$position$id2","_bids$position$id2$cu","_bids$position$id$bid2","_bids$position$id3","_bids$position$id4","_bids$position$id4$cu","commission","_bids$position$id5","_bids$position$id5$bi","_bids$position$id6","_bids$position$id6$cu","Commission","editingCommission","currentBidCommission","total","renderTotal","submitStatus","_bids$position$id7","actionButton","_currentBid$value","_bids$position$id8","_bid$value","_bids$position$id9","commisson","commissions","template","_submitResults$positi","_submitResults$positi2","toFixed","commissionDecimalPlaces","BrokerDealerBiddingRouteLeaveGuard","BiddingTable","isAllToAllAgreementSigned","canSubmitBid","brokerDealerBiddingColumns","biddingControlsVisible","processEnabled","isStage2Participant","isProcessEnabled","_security$trade","_security$trade2","_security$trade3","tradedaway","isTradePending","Bidder","brokerDealerCanceledColumns","FinishedTable","brokerDealerFinishedColumns","brokerDealerNotInvitedFinishedOpenBiddingColumns","brokerDealerFinishedOpenBiddingColumns","brokerDealerParsedFinishedColumns","brokerDealerNotInvitedFinishedColumns","rowKey","creator","regexps","selectLeadingAndEndingCommas","CompanyDetailsButton","TradeRejectReasonPopup","_history$location","_history$location$sta","_history$location$sta2","TradeRejectReason","_history$location$sta3","tradeReferenceId","RejectReasonPopup","onReject","tradeConfirmActions","reject","AffirmTradePopup","prevLocation","isPathChanged","nextLocation","componentDidMount","isAuthenticated","checkAwaitingTrades","unlisten","listen","visibility","_this$props2","positionsWithTradeSettleDate","settlementDate","directTradeAffirmColmns","affirmAll","connectedAffirmTradePopup","tradedPositions","AffirmTradeButtons","_ref$iconsView","iconsView","isInProgress","operationsProgress","o","handleAffirm","affirm","handleReject","iconAffirm","iconReject","small","fullScreen","onExpired","StandardTimer","LiveBiddingTimer","BestFF","JumpBallAndTopXTimer","BwicEndsAt","_ref2$text","endsAt","timeFormat","_render","timer","Timer","overCount","StagedTimer","stageEnd","_render4","_render3","_render2","stageGoodUntil","_render9","_render6","_render8","_render5","_render7","improvementRoundMinutes","stage2End","_ref7","_process$bff","_render11","bff","_render10","stage1DeadlineMinutes","EmptyBid","bidAttributesEnabled","BidGroup","isFeedbackVisible","canSendFeedback","getUniqueBidId","BidList","showAllBidders","setShowAllBidders","bidsByLevel","hasActiveTrade","hasStage2","feedbackEnabled","createBidComponent","index","bidGroup","emptyBids","_bids","passedBids","bidComponent","isHidden","renderBids","_bwic$isMy","_bwic$seller","_user$current","_ref$bidListEnabled","_ref$historyEnabled","_ref$showEvalValues","showEvalValues","accessDealDocumentsFeature","onHistoryActive","store","panelClassNames","getBidsDueDate","getGoodUntilDate","goodUntilDateUtc","isMyBwic","isMy","MessageHistoryPanel","separatePanel","BwicRulesPanel","bidsDueDate","goodUntilDate","parsedProcess","isSameDayBwic","daysToSettle","isDirectBidding","tabs","bidListTab","onActivate","showBidList","onDeactivate","pxTalkTab","PxTalkList","evalPriceTalk","evalPriceTalkVisible","normalizedEvalPriceTalk","normalizedLevelEvalPriceTalk","pxTalkListActions","securityDetailsTab","SecurityDetails","securityDetailsInitRequest","bwicLogTab","BWICLog","bwicLogActions","bwicLogInitRequest","bwicLogReset","rulesTab","BwicRules","historyTab","MessageHistory","showHistory","RightSideTabPanel","hasSingleRole","SellerAdministrator","SecurityDetailsOptions","optionsExclude","ControlPanelOptions","viewBwic","defaultProps","EmailLink","email","href","LiveBiddingStage2Timer","renderEmpty","stage2SubmissionDeadline","BwicStatusLabel","PhoneNumberLink","phone","icon","_this$props$className","Popover","hideHours","refInterval","iteration","setIteration","running","setRunning","twoDigits","n","toLocaleString","minimumIntegerDigits","useGrouping","ends","utc","duration","Math","asSeconds","timePassed","lessThenFiveMins","asMinutes","hours","abs","trunc","asHours","subtract","minutes","seconds","cssClasses","isNaN","onHoverText","italic","LiveBiddingStage2Level","stage2Level","levelSpecificationType","tiedToBest","_ref$animated","animated","animatedLevel","backgroundClassName","LevelSpecificationType","LiveBiddingStrage2LevelData","_useLiveBiddingData","useLiveBiddingData","data","Breadcrumbs","BreadcrumbsItem","route","allBWICs","directBidding","SameDayBwicIcon","RulesButton","_React$Component","BwicRulesPseudoLink","withIcon","ConnectedRulesButton","HistoryButton","time","TargetLevel","editTargetLevel","useContext","targetLevelRange","readOnly","targetLevelStatus","setTargetLevel","sendTargetLevel","tooltipText","_ref$textVisible","textVisible","exportBwic","sent","saveAs","blob","_x","ActionBlocker","feature","SubscriptionFeature","ExportIndividualBwic","featureBlocked","_ref$path","path","_ref$tooltip","_ref$disabledTooltip","_ref$notificationLabe","notificationLabel","_ref$notificationCoun","notificationCount","_ref$counter","counter","renderNotifications","formatTitle","renderDisabled","Link","_ref$className","ExpandOptionsButton","onCollapsed","_ref$defaultCollapseS","defaultCollapseStatus","isCollapsed","setIsCollapsed","collapseStickRightColumn","ctx","onCollapseRightColumn","isOptionsColumnCollapsed","stickRight","TableGroupingRow","renderGroupByRow","SecurityListRow","StickyTableContent","tableKey","_ref$infiniteScrollEn","infiniteScrollEnabled","renderFooterRow","onNextPageRequest","isNextPageRequesting","_ref$expandAll","expandAll","_ref$collapsible","collapsible","headerMiddleScrollRef","headerMiddleContentRef","onRowHover","onExpandChange","shouldRenderCollapsibleRowCallback","renderCollapsibleContent","renderLastRow","leftColumnRef","rightColumnRef","middleColumnRef","middleColumnContentRef","fakeScrollRef","fakeScrollContentRef","setFakeScrollDimensions","style","offsetWidth","left","tableActions","observer","ResizeObserver","observe","unobserve","rowsData","rowIndex","_columns","_columns$","leftColumns","_columns$2","middleColumns","_columns$3","rightColumns","hasCollapsibleRows","values","renderRowPart","columnType","collapseIconVisible","shouldRenderCollapsibleRow","StickyTableCollapsibleRow","onHover","StickyTableRow","SecurityListContent","ScrollSyncPane","group","innerRef","TableColumnStickType","Left","Middle","Right","TableContent","_ref$renderCollapsibl","renderCollapsibleItem","createRowRef","CollapsibleListRow","_columns$find","_sortState$sortBy","_sortState$sortDirect","_sortState$sortingTyp","_ref$dataItems","_ref$columns","_ref$headerVisible","headerVisible","_ref$sticky","defaultSortBy","_ref$defaultSortByDir","defaultSortByDirection","SORT","ASC","onSort","customSortingCompareCallback","renderHeaderRow","_ref$defaultExpandAll","defaultExpandAll","onExpandAll","sortBy","setSortBy","sortDirection","setSortDirection","defaultSortingType","sortingType","_useState5","_useState6","setSortingType","_useState7","_useState8","setExpandAll","expandedState","sortState","ui","table","_useSortedList","useSortedList","sortedDataItems","tableRef","renderSecurityLastRow","rendered","sortByChange","handleHeaderClick","field","DESC","direction","handleExpandedChange","itemKey","collapsibleItems","handleExpandAll","resetExpanded","renderCollapsibleHeader","collapse","collapsed","setIsOptionsColumnCollapsed","classList","remove","isMac","SecurityListContainer","headerContext","ScrollSync","proportional","SecurityListHeader","renderStickyTable","renderTable","colorValue","formatColor","ColumnHeaderWrapper","columnTitle","headerOnHoverText","sortingField","sorted","_this$column$classNam","columnHeaderContent","entity","_this$column$classNam2","columnContent","dataCellId","entry","ccy","currency","PxTalkChange","_position$pxTalks","_currentPriceTalk$tal","currentUser","currentPriceTalk","pxTalks","setLevel","talk","_usePriceTalkSubmit","_React$useState5","_React$useState6","normalizeResult","abrupt","doSubmit","normalized","_callee2","responseMessage","_error","_context2","pxTalkService","LevelType","jsonUtils","tryParse","_callee3","_normalized$level","model","_context3","normalizedLevel","parsedLevel","levelType","bulkSave","usePriceTalkSubmit","_currentPriceTalk$tal2","autoComplete","pxTalkChange","formattedBid","colorDistributionTradedStatus","colorDistributionType","ColorType","traded","colorDistributionLabel","ColorLabel","Axed","_bid$axed","currentAxed","currentPass","bidPlacementActions","axedChange","ColumnHeader","AllToAllArgeementRequiredActionBlocker","Final","_bid$final","currentFinal","finalChange","Bid","_editState$errors","_editState$errors2","editingValue","currentValue","hasError","stringUtils","isNullOrEmpty","numberOrDefault","changedBidValue","bidChange","RevertBidButton","onRevert","revert","LiveBid","liveBiddingReadonly","JumpBallBid","jumpBallReadonly","TopXBid","topXReadonly","BFFBid","FeedbackBody","feedbackCreatedUtc","BidButton","_editState$canSubmit","bidSingle","_getText","_editState$commission","defaultText","PassButton","passChange","brokerDealerActionButtons","_position$trade2","_position$trade3","TradedToMe","_useAppSelector2","_currentBid$commissio","currentCommission","currentCommissionFormatted","_currentBid$commissio2","minValue","commissionRange","maxValue","CommissionInput","originalCommission","onCommissionChange","commissionChange","onLeave","counterparty","sellerCompany","SORTING_TYPE","dateShortFormat","tradePrice","tradeSize","tradeComment","affirmRejectButtons","tradeCommission","positionTrade","formatDecimal","tradeTotalPrice","_positionTrade$trade$","totalPrice","tradeRating","liveBiddingStage2Level","openBiddingStage2Level","tiedForBest","BiddingInfoBody","_bwic$process$jumpBal","bidRequestAction","findLast","actionType","BwicHistoryActionType","QuickFeedback","sentDateUtc","biddingInfo","baseColumns","_ListBuilder","isBrokerDealerTrader","canSavePriceTalk","_ListBuilder2","bwicProcessType","isParsedBwic","_ListBuilder3","brokerDealerParsedBiddingColumns","isAllToAllConfirmedOrNotAllToAll","showPriceTalkChange","BrokerDealerAccessState","Approved","_ListBuilder4","canSubmitBids","bidView","_ListBuilder5","colorDistributionColumns","tradeAffirmStatus","TimerContent","expiresAtUtc","bwicTypeIconVisible","liveBiddingStage2TimeoutEnd","timerVisible","PxTalkListButton","requiredFeature","BwicMonitorBwicsData","stage2NoBids","TickerButton","TradeStatusLabel","expand","hover","handleRowHover","hoverChange","CollapsibleList","CollapsibleListItem","expandedChange","onMouseLeave","CollapsibleListItemContent","setReason","_level","_process$jumpBall3","_process$topX3","_process$jumpBall4","_process$topX4","_process$topX5","_process$jumpBall5","_ref$levelBids","isSameHandle","isJumpBallStage2","SubmitFinal","BidOrPassRequest","TiedForBest","CoverSameHandle","CoverDifferentHandle","CoverExact","CoverHandle","JumpBallStage2Participants","ThirdSameHandle","ThirdDifferentHandle","ThirdExact","ThirdHandle","NotInTopX","FeedbackMenuItem","feedbackType","ContextMenuItem","sendQuickFeedback","BidRequestMenuItem","sendBidRequest","feedbackTypes","coverSameHandle","coverDifferentHandle","_objectWithoutProperties","_excluded","coverExact","_excluded2","coverHandle","valueHandle","thirdSameHandle","thirdDifferentHandle","_excluded3","thirdExact","_excluded4","thirdHandle","_ref8","_excluded5","outOfTop3","BidRequestType","BidOrPass","_ref$allowFeedback","_ref$children","compareDates","newBids","isNew","isAffirmedTrade","tradeCompanyIdentifier","tradeBid","markBidsShown","renderBidTooltip","hasFeedback","hasNewBid","companyText","_securities$find","bidOverThemselfMessage","_ref$onHoverTooltipMe","_biddingUtils$groupBi2","companyIdentifierOrBest","ColorDistributionBlocked","BlockedPlatformAccessText","confirmationVisible","handleProceed","handleConfirm","cancelColorDistribution","RequiredRole","renderBlockedContent","PublicColor","connectedColorDistribution","TradedSelect","forTradedType","colorDistribution","colorDistributionActions","tradedTypeChange","colorDistributionTypes","t","DntSelect","forDNTType","dntTypeChange","dnt","htmlFor","connectedPublicColor","isAnyBidExist","_this$props$colorDist","predefinedDistributionColor","sourceValues","selectedDistributionColor","typeOptionsToDisplay","Consumer","positionColorTypeChange","connectedColorType","renderRevertLink","predefinedType","renderTraded","canRevert","renderDNT","bestHandle","bestExact","connectedColorLabel","BlotterEmptyListPlaceholder","hasTrades","onResetClick","searchSecuritiesActions","blotterFiltersReset","blotterSearchRequest","BlotterTradesFilter","trades","filters","blotter","initialFilters","prevFilters","requestStateSecurities","searchSecuritiesItems","searchSecurities","searchTermItems","ownTrades","filtersDisabled","isRequestNone","isClearFilterShown","isEqual","filtersChanged","search","FilterPanel","FilterSection","SecuritiesSearchInput","compactView","onSearch","DateRangeSelector","restyled","isApplied","selectedDateOption","onReset","blotterDateFilterChange","bwicDateFilterOptions","unspecified","customDateRange","onSelectedDateChange","onCustomDateChange","blotterCustomDateFilterChange","acceptedOptions","today","thisWeek","lastWeek","lastMonth","lastYear","custom","after","FilterSelect","multiply","options","x","onChangeItemSelection","blotterTogglePending","blotterToggleConfirmed","blotterToggleRejected","onClearAll","onSelectAll","settlementSelectedDateOption","settlementCustomDateRange","blotterSettlementDateFilterChange","blotterSettlementCustomDateFilterChange","allocationStatus","unsettled","pendingAllocation","pendingSettlement","pendingProceeds","settled","TradeSettlementStatus","Unsettled","PendingAllocation","PendingProceeds","PendingSettlement","Settled","tradeSettlementStatusTitle","blotterToggleAllocationStatusUnsettled","blotterToggleAllocationStatusPendingSettlement","blotterToggleAllocationStatusPendingAllocation","blotterToggleAllocationStatusPendingProceeds","blotterToggleAllocationStatusSettled","Currencies","fc","blotterSetCurrency","blotterResetCurrency","blotterSelectAllCurrencies","buySide","sellSide","TradeSide","Buy","Sell","blotterToggleFilterBuy","blotterToggleFilterSell","bd","client","desc","TradeType","Client","Desk","tradeTypeTitle","blotterToggleFilterClient","blotterToggleFilterDesc","FilterButton","caption","FilterClear","isShown","BlotterTrades","isBrokerDealer","isSeller","isSellFilterApplied","isBuyFilterApplied","pageSize","totalRecordNumber","orderByColumn","orderByDirection","companyDetailsRowKey","companyDetails","_useSettlementAccount","useSettlementAccounts","settlementAccounts","settlementAccountsRequestState","isDirectTrade","Empty","isDirectTradeCreator","directBuyerCompany","isSettlementAgent","isTradeAllocationExist","settlementStatus","getSellerSettlementStatus","sellerSettlementStatus","buyerSettlementStatus","isCollapsible","blotterInit","blotterReset","getTradeRowHighlightedClassName","getRowKey","isAwaitingConfirmation","isAwaitingAllocation","statuses","side","tradeId","isDirectTradeDetails","tradeTypeIcon","BwicTypeLabel","getTradeDetailsSettlementStatus","dateTimeFormatShort","settleType","renderSettlementType","settleStatus","renderSettlementStatus","number","renderViewBwicLink","renderSide","traderEmail","renderTradeEmail","renderCommission","renderTotalPrice","vcon","VconCheckbox","vconBuy","vconSell","tradeSide","blotterToggleVcon","booked","TradeBookedCheckbox","bookedBuy","bookedSell","blotterToggleBooked","TradeAllocationButton","renderPendingTradeButtons","isManual","isBuyerAllocationManual","isSellerAllocationManual","SettlementStatusLabel","SettlementStatusLabelCombined","buyerStatus","sellerStatus","BwicViewLink","isParticipant","createdBy","affirmedRejectedBy","containerClasses","blotterSearchRequestNextPage","isSideFilterUnapplied","TradeAllocationTableRows","collapseLevel","renderDirectTradeRows","renderTradeAllocationRows","blotterOrderByChange","TradeAllocationPopup","BlotterExportButton","requestStateExport","blotterExportRequest","BlotterTradesView","BlotterTabType","BlotterView","useLocationStateReset","_useTradeAllocationTe","useTradeAllocationTemplates","tradeAllocationTemplatesRequestState","templates","renderTabs","Trades","blotterTardes","Settlement","settlementAccountActions","blotterSettlementAccountDetailsUrl","Switch","Route","exact","TradeAllocationTemplateButton","onShow","nextState","blotterSettlementAccounts","component","BlotterSettlementAccount","notFound"],"sourceRoot":""}