{"version":3,"file":"static/js/main-8ef7ed10.8819836c.js","mappings":"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","sources":["components/bidding/common/BiddingTimer.tsx","components/bidding/common/tab-list/TabList.jsx","components/bidding/brokerDealer/trade-affirm/TradeRejectReasonPopup.tsx","components/bidding/brokerDealer/biddingSecurities/BidFeedback.tsx","components/bidding/common/Timer.jsx","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/seller/CancelReasonPopup.tsx","components/bidding/common/table/columns/target.level.js","components/bidding/common/feedback/LiveBiddingStage2Level.tsx","components/bidding/seller/biddingSecurities/BidOverThemselfIcon.tsx","components/bidding/brokerDealer/trade-affirm/AffirmTradePopup.jsx","components/bidding/brokerDealer/trade-affirm/AffirmTradeButtons.tsx","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/common/table/columns/column-builder/ColumnHeaderWrapper.tsx","components/bidding/common/table/columns/column-builder/ColumnBuilder.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/common/FinalIcon.tsx","components/bidding/common/table/sticky/StickyTableCollapsibleRow.tsx","components/bidding/seller/FeedbackMenu.tsx","components/bidding/common/table/columns/trade-affirm/trade.status.js","components/bidding/common/table/CollapseStickRightColumn.tsx","components/bidding/common/table/columns/rating.js","components/bidding/common/feedback/LiveBiddingStrage2LevelData.tsx","components/bidding/common/tab-list/TabItem.jsx","components/bidding/brokerDealer/biddingSecurities/BiddingInfo.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/live-bidding-stage2-timer.js","components/bidding/common/table/columns/ticker-button.js","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/ControlPanelOptions.ts","components/bidding/common/EmailLink.tsx","components/bidding/common/table/columns/color.js","components/bidding/common/table/types/TableColumnStickType.ts","components/bidding/common/table/columns/size.js","components/bidding/common/table/columns/pxTalk.js","components/bidding/common/feedback/FeedbackLabel.tsx","components/bidding/common/table/sticky/StickyTableRow.tsx","components/bidding/seller/bid-on-behalf/BidOnBehalfIcon.tsx","components/bidding/seller/biddingSecurities/BidLevel.jsx","components/bidding/brokerDealer/confirm-bids/SubmitStatus.tsx","components/bidding/common/PhoneNumberLink.tsx","components/blotter/BlotterEmptyListPlaceholder.jsx","components/blotter/BlotterTradesFilter.tsx","components/blotter/BlotterTrades.jsx","components/blotter/BlotterExportButton.tsx","components/blotter/BlotterTradesView.tsx","components/blotter/BlotterView.tsx","components/bidding/brokerDealer/confirm-bids/ReSubmitButton.tsx","components/bidding/common/LiveBiddingStage2Timer.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/bidding/common/AxedIcon.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/RejectedLink.jsx","components/bidding/seller/biddingSecurities/BidOverThemSelf.tsx"],"sourcesContent":["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 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 { 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 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, { 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 { 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","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 {\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 * 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 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 { 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 { 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 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 { 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 * 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 * 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 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 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 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 {\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 { 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, { 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 { 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 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 { 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 { 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 { 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","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 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","export enum TableColumnStickType {\r\n Left = \"Left\",\r\n Middle = \"Middle\",\r\n Right = \"Right\"\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 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 * 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 { 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","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 * 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 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 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","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 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 { 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 * 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 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, { 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 { 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"],"names":["BiddingTimer","_ref","bidsDueUtc","goodUntilUtc","process","render","onExpired","_jsxs","_Fragment","children","type","BwicProcessType","Standard","_jsx","StandardTimer","Live","LiveBiddingTimer","BestFootForward","BestFF","JumpBall","TopX","JumpBallAndTopXTimer","stagedBiddingStatus","settings","jumpBall","topX","BwicEndsAt","_ref2","_ref2$text","text","endsAt","dateTimeUtils","utcToLocalString","constants","timeFormat","className","_ref3","_render","timer","Timer","overCount","StagedTimer","_ref4","stageEnd","title","tooltip","OnHoverTooltip","overlay","disabled","placement","_ref5","_process$liveBidding","_render4","_render3","liveBidding","stage1Deadline","_render2","stageGoodUntil","moment","add","OpenBiddingStatus","stage1Ended","_ref6","_render9","_render6","_render8","automaticStage1Deadline","_render5","automaticStage1DeadlineMinutes","parseTimeSpan","totalMinutes","stage1End","concat","improverCount","emptyPlaceholder","improvementRound","_render7","undefined","stage1EndDateUtc","improvementRoundMinutes","stage2End","_ref7","_process$bff","_render11","bff","_render10","stage1DeadlineMinutes","TabList","_ref$className","classNames","TradeRejectReasonPopup","_history$location","_history$location$sta","_history$location$sta2","dispatch","useAppDispatch","history","useHistory","location","state","popup","PopupType","TradeRejectReason","_history$location$sta3","payload","positionId","ticker","tradeReferenceId","RejectReasonPopup","onReject","reason","tradeConfirmActions","reject","onClose","replace","_objectSpread","LocationStateBuilder","resetPopup","result","newBidAnimationTimeInSeconds","BidFeedback","feedback","feedbackDate","bidRequest","bwicStatus","currentBid","bwicReferenceName","hasBid","pass","pushNewBid","useAppSelector","_state$pushHistory$hi","pushHistory","PushHistoryStateItemType","NewBid","find","item","pushFeedback","_state$pushHistory$hi2","Feedback","pushBwicStatus","_state$pushHistory$hi3","BwicStatusChanged","dates","receivedDate","filter","d","lastUpdateDate","getMaxDate","BwicStatus","scheduled","FeedbackLabel","AnimatedFeedback","date","bidding","improvementRoundEnded","addStagePrefix","bidRequestText","bidRequestType","created","diff","AnimatedValueUpdate","value","stageText","Error","isAfter","hideHours","refInterval","useRef","_useState","useState","_useState2","_slicedToArray","iteration","setIteration","_useState3","_useState4","running","setRunning","twoDigits","n","toLocaleString","minimumIntegerDigits","useGrouping","now","ends","utc","duration","expired","Math","round","asSeconds","useEffect","current","setInterval","clearInterval","timePassed","lessThenFiveMins","asMinutes","hours","abs","trunc","asHours","subtract","minutes","seconds","cssClasses","isNaN","defaultProps","EmptyBid","company","feedbackVisible","bidAttributesEnabled","_ref$feedbackDisabled","feedbackDisabled","name","code","FeedbackMenu","emptyBidCompany","BidGroup","level","allBids","levelBids","bidAttributesVisible","stage2Participants","trade","isFeedbackVisible","bid","jumpBallUtils","canSendFeedback","topXUtils","map","buyerPseudoOrderNumber","formatUtils","formatBid","axed","AxedIcon","final","FinalIcon","onBehalf","BidOnBehalfIcon","BidLevel","Best","BidOverThemSelf","bids","hasManyBids","length","biddingUtils","getUniqueBidId","BidList","participants","positions","isAllToAll","_React$useState","React","_React$useState2","showAllBidders","setShowAllBidders","_useSelector","useSelector","s","sellerBidding","bidList","visible","positionWithAllBids","securities","id","position","bidsByLevel","_position$bids","_position$bids2","groupBidsByLevel","b","_toConsumableArray","hasActiveTrade","isActiveTrade","isBidding","isFinished","finished","hasStage2","feedbackEnabled","createBidComponent","index","bidGroup","some","emptyBids","p","i","_positionWithAllBids$","_bids","calculateStage2Participants","passedBids","notPassedBids","bidComponent","getBidCompanyIdentifier","push","apply","isHidden","Toggle","onClick","IconSVG","width","height","EmptyPlaceholder","textView","renderBids","ControlPanel","_bwic$isMy","_bwic$seller","_user$current","bwic","_ref$bidListEnabled","bidListEnabled","_ref$historyEnabled","historyEnabled","_ref$showEvalValues","showEvalValues","accessDealDocumentsFeature","onHistoryActive","useDispatch","store","securityDetails","bwicLog","bwicHistory","rules","pxTalkList","panelClassNames","cn","getBidsDueDate","bidsDueDateUtc","getGoodUntilDate","goodUntilDateUtc","isMyBwic","isMy","seller","user","companyId","MessageHistoryPanel","show","separatePanel","BwicRulesPanel","isParsed","bidsDueDate","goodUntilDate","parsedProcess","isSameDayBwic","daysToSettle","isDirectBidding","isClearingBankParticipant","security","tabs","bidListTab","active","renderContent","status","companies","onActivate","sellerBiddingActions","showBidList","onDeactivate","pxTalkTab","PxTalkList","evalPriceTalk","evalPriceTalkVisible","referenceName","normalizedEvalPriceTalk","normalizedLevelEvalPriceTalk","pxTalkListActions","hide","securityDetailsTab","SecurityDetails","securityDetailsActions","securityDetailsInitRequest","securityDetailsReset","bwicLogTab","BWICLog","bwicLogActions","bwicLogInitRequest","bwicLogReset","rulesTab","BwicRules","rulesActions","historyTab","MessageHistory","bwicHistoryActions","showHistory","RightSideTabPanel","hasSingleRole","roles","SellerAdministrator","SecurityDetailsOptions","optionsExclude","ControlPanelOptions","viewBwic","items","CancelReasonPopup","onCancel","setReason","Popup","Form","onSubmit","maxLength","placeholder","onChange","e","target","targetLevel","columnName","renderHeader","SecurityListHeaderColumn","this","renderBody","context","targetLevelReadonly","stage2NoBids","liveBiddingStage2Expired","SecurityListColumn","RoleActionBlocker","SellerTrader","BrokerDealerTrader","TargetLevel","LiveBiddingStage2Level","stage2Level","levelSpecificationType","tiedToBest","_ref$animated","animated","content","animatedLevel","backgroundClassName","LevelSpecificationType","best","bidOverThemselfMessage","BidOverThemselfIcon","companyIdentifier","_ref$onHoverTooltipMe","onHoverTooltipMessage","_biddingUtils$groupBi","_biddingUtils$groupBi2","cover","companyIdentifierOrBest","AffirmTradePopup","_Component","_this","_classCallCheck","_len","arguments","args","Array","_key","_callSuper","prevLocation","isPathChanged","nextLocation","pathname","componentDidMount","isAuthenticated","props","actions","checkAwaitingTrades","unlisten","listen","_this$props","tradeStatuses","pending","key","visibility","componentWillUnmount","reset","handleClose","_this$props2","positionsWithTradeSettleDate","settleDate","settlementDate","modalClass","PopupBody","Table","dataItems","columns","directTradeAffirmColmns","PopupFooter","DirectBiddingDisclaimerActionBlocker","onConfirm","affirmAll","FeatureButton","_inherits","_createClass","Component","connectedAffirmTradePopup","connect","tradeConfirm","tradedPositions","AffirmTradeButtons","_ref$iconsView","iconsView","isInProgress","operationsProgress","o","handleAffirm","stopPropagation","affirm","handleReject","iconAffirm","iconReject","Preloader","small","inProgress","fullScreen","SellerView","tab","useParams","isLoading","rightSidePanelVisible","autoFeedbackSettingsVisible","dealerListPanel","panelVisible","blastMessage","activePositionId","getActiveTab","controlPanelActions","DirectBiddingDisclaimerContentBlocker","bwicStatuses","Scheduled","activeTab","isColorDistribution","ColorDistribution","Bidding","cancelled","Cancelled","Finished","renderTemplate","Participants","bwicDealers","bwicDealerUsers","bwicDealerContacts","participantsLoadingState","settlementAgentAgreementsState","entities","settlementAgentAgreements","biddingActions","loadBwicParticipants","sortedDealers","useMemo","sortDealersByConfirmedAgreement","bidsByCompany","flat","arrayUtils","groupBy","isRequestSuccess","DealerList","dealers","users","contacts","favoriteButtonDisabled","agreements","SubHeader","_ref$actionBarVisible","actionBarVisible","disabledTabs","BiddingTabList","ActionBar","ExportButton","TabItem","BiddingTabs","routes","biddingUrl","indexOf","AutoFeedbackSettingsButton","_ref$disabled","disabledTooltip","autoFeedbackSettingsActions","showAutoFeedbackSettingsPanel","isActive","autoFeedbackConfiguration","onPlatform","offPlatform","blocked","toggleAutoFeedbackSettingsPanel","AutoFeedbackSettingsPanel","AutoFeedbackSettingsPanelContent","_s$bidding$bwic","autoFeedbackSettingsSaving","isAutoFeedbackBlastMessageSending","_s$bidding$bwic2","enabled","isTopXStage2","isThirdTextVisible","TopXStage2Participants","Top3","isFourthTextVisible","Top4","isFifthTextVisible","Top5","RightSidePanel","StatusMessageSection","StatusMessageSectionType","Info","label","toggleAutofeedback","cancelBwicDialogVisible","setCancelBwicDialogVisible","isStandard","isJumpBall","isTopX","optionsMenuItems","requiredRoles","action","TopPanel","ContextMenu","menuItems","sellerScheduledColumns","createSecurityCustomClassName","createSecurityCustomArgs","cancelBwic","TiedForBestWarningIcon","_getSecuritiesWithLat","getSecuritiesWithLatestBids","_biddingUtils$groupBi3","counterparties","join","message","TradePopupContent","tradingPositions","tradingPositionsSelector","holidays","tradeAllChecked","tradingConfirmationVisible","minimumSettleDate","hasSelectedPositions","keys","_tradingPositions$pos","selected","canSelect","cancelTrade","tradeAllSelectionChange","renderSettleDate","tradingState","_tradingState$errors","error","errors","DayPickerInput","onDayChange","day","tradingPositionSettleDateChange","minimumDate","selectedDate","allowWeekends","disabledDays","h","Date","FormError","renderCompanyList","positionWithLatestBids","tradingCompanies","sort","a","DropDownList","c","tradingCompanyIdentifier","defaultSortingEnabled","renderItemContentCallback","isTiedForBest","tradingPositionCompanyChange","renderTradingCompanyBids","allCompanyBids","companyBids","distinct","tradingBidId","tradingPositionBidChange","columnKey","renderColumnHeaderContent","renderColumnContent","headerClassName","bodyClassName","tradingPositionIdList","Object","Checkbox","checked","partially","isinCusip","tradingPositionSelectionChange","rating","_tradingPositions$pos2","moneyUtils","money","size","TextareaAutosize","minRows","maxRows","comment","tradingPositionCommentChange","ColumnBuilder","createRowCustomKey","Confirm","TextComponent","submitTrade","TradePopup","DealerListSection","checkboxTooltip","_ref$defaultExpanded","defaultExpanded","toggleState","_ref$toggleEnabled","toggleEnabled","onToggleAll","totalCount","checkedCount","expanded","setExpanded","isPartiallySelected","TooltipPlacement","BottomRight","dealerListPanelActions","stage2ParticipantsFlagChange","useDealerListAggregatedData","_useAppSelector","offPlatformCompaniesSlim","bidOnBehalf","bwicParticipants","_s$bidding$bwic$compa","companyHiddenState","bidOnlyFlag","bidsByCompanyIdentifier","addIdentifier","identifier","onPlatformCompanies","CompanyStatus","isClearingBank","offPlatformCompanies","buyers","getBuyers","BidOnlyFilter","_useDealerListAggrega","allBrokerDealers","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","allFavoriteCompaniesVisible","allPlatformCompaniesVisible","allOffPlatformCompaniesVisible","allSettlmentsClientsVisible","disabledCompanies","favorites","favoriteBrokerDealers","proccesType","_state$bidding$bwic","_state$bidding$bwic2","favoriteCompanies","applySearchTerm","searchTermLowerCase","toLowerCase","_biddingUtils$getBidd","_biddingUtils$getBidd2","getBidderName","includes","getBidderShortcode","filteredOnPlatformCompanies","filteredOffPlatformCompanies","filteredFavoriteCompanies","filteredBuyers","shouldForceAllState","allToggleFlag","every","toggleAllFavoriteVisibleFlagOnly","toggleAllPlatformVisibleFlagOnly","toggleAllOffPlatformVisibleFlagOnly","toggleAllSettlmentsClientsFlagOnly","renderCheckbox","favoritedDisabled","disabledCompanyCheckbox","getText","noBidsSubmitted","Pluralize","singular","count","FavoriteButton","SearchInput","onClear","toggleAllFavoriteCompaniesVisible","toggleAllOffPlatformVisible","DealerListButton","PnL","_biddingUtils$getBids","getBidsByLevel","numericUtils","isNumber","pnl","Number","connectedEvents","bidsByCreatedDate","createdUtc","localeCompare","lastSubmittedBid","getCompanyCode","toUpperCase","tradeDate","companyCode","buyerCompany","tradeContent","TradeStatus","rejected","RejectedLink","rejectReason","rejectedByCompanyCode","canceled","price","renderTradeEvent","lastSubmittedNotPassedBid","stage2Start","stage2Deadline","bidSubmissionDeadline","isBiddingTimeEnded","hasStage2Bids","renderLiveBiddingEvent","_process$topX$improve","_process$topX","_process$jumpBall","bidLevel","getBidLevel","hasManySameLevelBids","improversCount","levelString","formatBidLevel","renderBidEvent","_context$bwic","BidLevelComponent","allowFeedback","Cover","third","Third","fourth","Fourth","fifth","Fifth","events","Events","BidListButton","biddersCount","toggleBidList","bidListButton","TradeButtonStyle","TradeButton","_ref2$enabled","handleClick","getByKey","tradeButton","canTradePosition","CompanyBidComponent","_ref$feedbackVisible","latestBid","max","bb","CompanyBid","prev","next","_prev$process","_next$process","showEmptyDash","EditBidValue","_editState$value","_ref$editState","editState","hasMoveNextFocus","isBidDecreaseDisabled","isChanged","hasFocus","setHasFocus","inputRef","isBlocked","BlockedFeatureContext","focus","validateBid","bidRange","min","errorMessages","bidShouldBeBetween","valueCannotBeLess","invalidValue","ref","onFocus","select","onMouseUp","rawValue","bidNumber","test","bidOnBehalfActions","editBid","onBlur","resetNextBidIdentifiers","resetBidEdit","_editState$error","editingLevel","formatted","onKeyDown","blur","moveNextBid","BidLevelDelta","currentLevel","updatedLevel","updatedLevelVisible","EditBidOnBehalf","EditBidOnBehalfContent","columnAnimationEnabled","_editState$pass","_editState$axed","_editState$final","bidAttributesVisibe","_ref$columnAnimationE","getEditKey","focusedBid","finalChanged","axedChanged","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","_position$trade","participantsWithImprovedBids","affirmed","getSellerBiddingColumns","shortView","_ListBuilder$add$addW","_ListBuilder$add$addW2","openBiddingImproverCount","freeze","tickerButton","liveBiddingStage2Timer","pxTalk","slice","createCompanyColumn","settlementAgent","getSellerFinishedColumns","_ListBuilder$add$addW3","tradeStatus","color","columnDefinition","column","stickLeft","readonly","definition","_context$stage2Partic","CompanyCell","_ref$stage2Participan","_ref$readonly","_ref$bidAttributesVis","activeTrade","isBFF","isBuyerCompanyWithoutBids","animationEnabled","canBidJumpBall","canBid","canBidTopX","canBidFF","BidOnBehalfConflictPopup","conflicts","isConflictsPpopupVisible","resetConflicts","BidConflictsWarning","submit","BidOnBehalfSavingLabel","saveOccurred","setSaveOccurred","saveTimeoutEnded","setSaveTimeoutEnded","isSubmitting","hasPending","apiOperation","requests","r","event","ApiOperationType","submitBidsOnBehalf","RequestState","request","hasChanges","edit","_parseKey","parseKey","isBidChanged","isSaved","setTimeout","RouteLeavingGuard","navigate","shouldBlockNavigation","BlastMessageButton","blastMessageActions","Stage1AboutToEndTimeoutRadioButton","isStage1AboutToEndTimeout","handleOnChange","stage1AboutToEndTimeout","stage1AboutToEndTimeoutMinutes","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","SaveBidOnBehalf","SelectBdDropDown","headers","grid","sensitivity","bidOnBehalfParseActions","addCompany","ParseErrors","_gridHeaders$find","tickers","gridHeaders","_i$errors","selectBdError","headerError","unknownCompanyShortCodes","unknownTickers","_i$ticker","_i$ticker2","draft","trim","renderError","Alert","selectBdKey","hasCompanyBids","dataItem","entries","SaveBidOnBehalfPopup","_locationState$popup","locationState","useLocation","SaveBidOnBehalfPopupContent","bwicName","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","destinationRedirect","Redirect","to","hasErrors","_s$grid$headers","Notifications","useBiddingCompletedSoonNotification","useBiddingCompletedNotification","RecipientType","Seller","securitesWithAllBids","visibleCompanies","getSellerBiddingCompanies","hiddenState","processType","autoSave","bobAutoSaveIntervalSeconds","useBobAutoSave","getTradeStatusFlags","isAllPositionsTraded","isLiveBidding","isBestFF","isJumpBallBiddingCompleted","isTopXBiddingCompleted","isBestFFBiddingCompleted","isButtonDisabled","isSatge2Process","isStage2","isStage2Ended","disabledButtonTooltip","isAutoFeedbacksDisabled","tradeAll","completeBwic","FlexRow","NotificationEffects","sticky","_security$bids","tradeStatusFlags","isBFFBiddingEnded","inactive","createHeaderCustomArgs","isLiveBiddingStage2","isLiveBiddingEnded","liveBiddingStage2SubmissionDeadline","liveBiddingUtils","calculateStage2SubmissionDeadline","latestBidSubmission","_securitesWithAllBids","_securitesWithAllBids2","ShowFor","sellerCanceledColumns","getSellerFinishedCompanies","completedDateUtc","dataListClasses","CompletionTime","OtherSellerView","getColumns","otherSellerBiddingColumns","otherSellerFinishedColumns","otherSellerColumns","hasHistoryColumn","pointer","handleRowClick","toggleHistory","bind","onRowClick","mapDispatchToProps","hideSecurityDetails","hideRules","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","getOnBoardingTooltipCounters","BwicOpenBidding","maxCountLimit","gotIt","handleCloneExplanation","document","bidDueLocal","local","format","dateTimeFormat","BwicVisitorType","BrokerDealer","Buyer","getDocumentTitle","Admin","OtherSeller","BrokerDealerView","renderBiddingViewByRole","onBoardingTooltipSetCountRequest","page","onBoardingTooltipGotIt","ColumnHeaderWrapper","columnTitle","headerOnHoverText","sortBy","sortDirection","sortingField","sortingType","sorted","_this$column$classNam","columnHeaderContent","stickRight","entity","_this$column$classNam2","columnContent","dataCellId","RequestInvitationPanel","requestInviteDisalogVisible","handleRequestInviteDialog","setInviteDialogVisibility","handleRequestInviteDialogClose","handleInvitationSend","sendInviteRequest","setState","renderNotInvited","RequestInvitationDialog","onSend","renderAccessRequested","accessState","brokerDealerAccessState","notInvited","accessRequested","connectedRequestInvitationPanel","brokerDealerBidding","handleSubmit","cols","rows","BwicCreator","approved","RequestSettlementAgentAgreementBanner","brokerDealerScheduledColumns","hasRoles","CompanyDetailsPanel","BidAll","_ref$title","showCount","canSubmit","_s$brokerDealerBiddin","commissionError","handleBidAll","brokerDealerBiddingActions","bidAll","role","usePositionSubmitResult","submitInProgress","submitBidsConfirmation","submitInProgressPositionId","submitResult","SubmitBidStatus","isOpenBiddingEnded","isPass","_usePositionSubmitRes","_s$bidding$bwic3","checkLiveBiddingStage2Expired","SubmitStatus","isSuccess","isFailed","isRequestFailed","conflict","stageTransitionConflict","validationError","isBidOverThemself","isLoggedOut","ReSubmitBidButton","ReSubmitButton","isTraded","isValidationError","hasStageTransitionConflict","hasConflict","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","InfoTooltip","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","canBidOnStage2","isStage2Participant","isProcessEnabled","_security$trade","_security$trade2","_security$trade3","tradedaway","isTradePending","Bidder","brokerDealerCanceledColumns","FinishedTable","brokerDealerFinishedColumns","brokerDealerNotInvitedFinishedOpenBiddingColumns","brokerDealerFinishedOpenBiddingColumns","brokerDealerParsedFinishedColumns","brokerDealerNotInvitedFinishedColumns","rowKey","creator","regexps","selectLeadingAndEndingCommas","CompanyDetailsButton","StickyTableCollapsibleRow","columnType","collapseIconVisible","expandAll","renderCollapsibleContent","onExpandChange","onHover","expandedState","ui","table","expand","hover","handleRowHover","tableActions","hoverChange","CollapsibleList","CollapsibleListItem","SecurityListRow","expandedChange","onMouseLeave","CollapsibleListItemContent","_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","tiedForBest","coverSameHandle","coverDifferentHandle","_objectWithoutProperties","_excluded","coverExact","_excluded2","coverHandle","valueHandle","thirdSameHandle","thirdDifferentHandle","_excluded3","thirdExact","_excluded4","thirdHandle","_ref8","_excluded5","outOfTop3","BidRequestType","BidOrPass","TradeStatusLabel","ExpandOptionsButton","onCollapsed","_ref$defaultCollapseS","defaultCollapseStatus","isCollapsed","setIsCollapsed","collapseStickRightColumn","ctx","onCollapseRightColumn","isOptionsColumnCollapsed","LiveBiddingStrage2LevelData","_useLiveBiddingData","useLiveBiddingData","data","_ref$path","path","_ref$tooltip","_ref$disabledTooltip","_ref$notificationLabe","notificationLabel","_ref$notificationCoun","notificationCount","_ref$counter","counter","useContext","renderNotifications","formatTitle","renderDisabled","Link","BiddingInfo","_rule$content","_ref$canBidOnStage","_ref$expired","rule","isApplicable","Content","BiddingCompleted","Stage2OutOfTop","improverCountText","NoStage1Bids","jumpBallTopXStage2OutOfTop","Stage1Started","TableGroupingRow","renderGroupByRow","StickyTableContent","tableKey","_ref$infiniteScrollEn","infiniteScrollEnabled","renderFooterRow","onNextPageRequest","isNextPageRequesting","_ref$expandAll","_ref$collapsible","collapsible","headerMiddleScrollRef","headerMiddleContentRef","onRowHover","shouldRenderCollapsibleRowCallback","renderLastRow","leftColumnRef","rightColumnRef","middleColumnRef","middleColumnContentRef","fakeScrollRef","fakeScrollContentRef","setFakeScrollDimensions","style","offsetWidth","left","observer","ResizeObserver","observe","unobserve","rowsData","rowIndex","_columns","_columns$","leftColumns","_columns$2","middleColumns","_columns$3","rightColumns","hasCollapsibleRows","values","renderRowPart","shouldRenderCollapsibleRow","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","setSortBy","setSortDirection","defaultSortingType","_useState5","_useState6","setSortingType","_useState7","_useState8","setExpandAll","sortState","_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","TimerContent","expiresAtUtc","BwicStatusLabel","bwicTypeIconVisible","bidPlacementActions","revert","liveBiddingStage2TimeoutEnd","timerVisible","TickerButton","Breadcrumbs","BreadcrumbsItem","route","allBWICs","directBidding","SameDayBwicIcon","RulesButton","_React$Component","BwicRulesPseudoLink","withIcon","ConnectedRulesButton","HistoryButton","time","editTargetLevel","targetLevelRange","readOnly","targetLevelStatus","setTargetLevel","sendTargetLevel","tooltipText","_ref$textVisible","textVisible","exportBwic","sent","saveAs","blob","_x","ActionBlocker","feature","SubscriptionFeature","ExportIndividualBwic","featureBlocked","EmailLink","email","href","colorValue","formatColor","PxTalkListButton","pxTalks","requiredFeature","BwicMonitorBwicsData","onHoverText","italic","_ref$allowFeedback","_ref$children","compareDates","newBids","isNew","isAffirmedTrade","tradeCompanyIdentifier","tradeBid","markBidsShown","renderBidTooltip","hasFeedback","hasNewBid","companyText","bidderName","NotificationBody","renderFailed","PhoneNumberLink","phone","icon","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","currency","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","currentUser","isBrokerDealer","isSeller","isSellFilterApplied","isBuyFilterApplied","pageSize","totalRecordNumber","orderByColumn","orderByDirection","companyDetailsRowKey","companyDetails","_useSettlementAccount","useSettlementAccounts","settlementAccounts","settlementAccountsRequestState","isDirectTrade","Empty","isDirectTradeCreator","directBuyerCompany","isSettlementAgent","counterparty","isTradeAllocationExist","settlementStatus","getSellerSettlementStatus","sellerSettlementStatus","buyerSettlementStatus","isCollapsible","blotterInit","blotterReset","getTradeRowHighlightedClassName","getRowKey","isAwaitingConfirmation","isAwaitingAllocation","statuses","side","tradeId","isDirectTradeDetails","tradeTypeIcon","BwicTypeLabel","getTradeDetailsSettlementStatus","dateTimeFormatShort","SORTING_TYPE","dateShortFormat","settleType","renderSettlementType","settleStatus","renderSettlementStatus","number","renderViewBwicLink","renderSide","traderEmail","renderTradeEmail","renderCommission","totalPrice","renderTotalPrice","vcon","VconCheckbox","vconBuy","vconSell","tradeSide","blotterToggleVcon","booked","TradeBookedCheckbox","bookedBuy","bookedSell","blotterToggleBooked","TradeAllocationButton","renderPendingTradeButtons","isManual","isBuyerAllocationManual","isSellerAllocationManual","SettlementStatusLabel","SettlementStatusLabelCombined","buyerStatus","sellerStatus","BwicViewLink","isParticipant","formatDecimal","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","_ref$isOpenBiddingEnd","_ref$hasStageTransiti","LiveBiddingStage2Timer","renderEmpty","stage2SubmissionDeadline","ColorDistributionBlocked","BlockedPlatformAccessText","confirmationVisible","handleProceed","handleConfirm","cancelColorDistribution","RequiredRole","renderBlockedContent","PublicColor","colorDistributionColumns","connectedColorDistribution","TradedSelect","forTradedType","colorDistribution","colorDistributionActions","tradedTypeChange","colorDistributionTypes","traded","t","DntSelect","forDNTType","dntTypeChange","dnt","htmlFor","connectedPublicColor","ColorType","isAnyBidExist","_this$props$colorDist","predefinedDistributionColor","sourceValues","selectedDistributionColor","typeOptionsToDisplay","Consumer","positionColorTypeChange","connectedColorType","ColorLabel","renderRevertLink","predefinedType","renderTraded","canRevert","renderDNT","bestHandle","bestExact","connectedColorLabel","entry","ccy","PxTalkChange","_position$pxTalks","_currentPriceTalk$tal","currentPriceTalk","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","colorDistributionLabel","Axed","_bid$axed","currentAxed","currentPass","axedChange","ColumnHeader","AllToAllArgeementRequiredActionBlocker","Final","_bid$final","currentFinal","finalChange","Bid","_editState$errors","_editState$errors2","editingValue","currentValue","hasError","stringUtils","isNullOrEmpty","numberOrDefault","changedBidValue","bidChange","RevertBidButton","onRevert","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","sellerCompany","tradePrice","tradeSize","tradeComment","affirmRejectButtons","tradeCommission","positionTrade","tradeTotalPrice","_positionTrade$trade$","tradeRating","liveBiddingStage2Level","openBiddingStage2Level","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","tradeAffirmStatus","_this$props$className","Popover","_securities$find"],"sourceRoot":""}