{"version":3,"file":"static/js/main-98969efb.3c0b1228.js","mappings":"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","sources":["components/amrPipeline/IssuanceMonitorBreadcrumbs.tsx","components/amrPipeline/IssuanceMonitorNoData.tsx","components/amrPipeline/ProportionBar.tsx","components/amrPipeline/RequestFullDemoPopup.tsx","components/amrPipeline/StatusLabel.tsx","components/amrPipeline/aggregated/DealUpdatesPopover.tsx","components/amrPipeline/aggregated/IntexButton/useIntexFile.ts","components/amrPipeline/aggregated/IntexButton/IntexButton.tsx","components/amrPipeline/aggregated/OptionsButton.tsx","components/amrPipeline/aggregated/deal-view/columns/optionsColumn.tsx","components/amrPipeline/aggregated/deal-view/columns/common-columns.tsx","components/amrPipeline/aggregated/iois/iois.columns.tsx","components/amrPipeline/aggregated/PipelineList.tsx","components/amrPipeline/aggregated/deal-view/columns/amr-columns.tsx","components/amrPipeline/aggregated/deal-view/columns/new-issue-columns.tsx","components/amrPipeline/aggregated/PipelineEmptyPlaceholder.tsx","components/amrPipeline/aggregated/deal-view/DealView.tsx","components/amrPipeline/aggregated/class-view/columns/optionsColumn.tsx","components/amrPipeline/aggregated/class-view/columns/classesColumns.tsx","components/amrPipeline/aggregated/class-view/ClassView.tsx","components/amrPipeline/aggregated/Filter.tsx","components/amrPipeline/aggregated/summary/summary-items.tsx","components/amrPipeline/aggregated/summary/Summary.tsx","components/amrPipeline/aggregated/Pipeline.tsx","components/amrPipeline/aggregated/PipelineDashboard.tsx","components/amrPipeline/aggregated/arranger-pipeline/ArrangerPipelineSummary.tsx","components/amrPipeline/aggregated/arranger-pipeline/ArrangerPipeline.tsx","components/amrPipeline/aggregated/arranger-pipeline/ArrangerPipelineEdit.tsx","components/amrPipeline/aggregated/arranger-pipeline/ArrangerPipelineSearchDeal.tsx","components/amrPipeline/aggregated/email-alerts/issuance-monitor/ImEmailAlertsPopup.tsx","components/amrPipeline/aggregated/email-alerts/arranger-pipeline/ApEmailAlertsPopup.tsx","components/amrPipeline/aggregated/IssuanceMonitorTopPanel.tsx","components/amrPipeline/aggregated/IssuanceMonitorLayout.tsx","components/amrPipeline/aggregated/IssuanceMonitor.tsx","components/amrPipeline/aggregated/LastUpdatedPopover.tsx","components/amrPipeline/aggregated/PeriodPopover.tsx","components/amrPipeline/aggregated/PipelineContext.ts","components/amrPipeline/aggregated/PipelineTabs.tsx","components/amrPipeline/aggregated/SyndicatePopup.tsx","components/amrPipeline/aggregated/arranger-pipeline/ArrangerPipelineLink.tsx","components/amrPipeline/aggregated/arranger-pipeline/arranger-pipeline.columns.tsx","components/amrPipeline/aggregated/email-alerts/arranger-pipeline/ApEmailAlerts.tsx","components/amrPipeline/aggregated/email-alerts/issuance-monitor/FilterUpdatesTable.tsx","components/amrPipeline/aggregated/email-alerts/issuance-monitor/ImEmailAlerts.tsx","components/amrPipeline/aggregated/email-alerts/issuance-monitor/SavedFilterDetails.tsx","components/amrPipeline/aggregated/email-alerts/issuance-monitor/ImTableHeaderRadioButton.tsx","components/amrPipeline/aggregated/email-alerts/issuance-monitor/filterColumns.tsx","components/amrPipeline/aggregated/filters-management/FiltersDropdownItem.tsx","components/amrPipeline/aggregated/filters-management/FiltersDropdown.tsx","components/amrPipeline/aggregated/filters-management/FilterAlertsPopup.tsx","components/amrPipeline/aggregated/filters-management/FiltersManagement.tsx","components/amrPipeline/aggregated/filters-management/FiltersManagementPopup.tsx","components/amrPipeline/aggregated/filters-management/types.ts"],"sourcesContent":["import { routes } from \"../../constants/routes\";\r\nimport { AmrTransaction } from \"../../types/amr-pipeline/models/AmrTransaction\";\r\nimport { OriginatingTransaction } from \"../../types/amr-pipeline/models/OriginatingTransaction\";\r\nimport { Breadcrumbs } from \"../controls/breadcrumbs/Breadcrumbs\";\r\nimport { BreadcrumbsItem } from \"../controls/breadcrumbs/BreadcrumbsItem\";\r\n\r\ninterface IssuanceMonitorBreadcrumbsProps {\r\n selectedTransaction: AmrTransaction | OriginatingTransaction;\r\n isClassActive?: boolean;\r\n}\r\n\r\nconst IssuanceMonitorBreadcrumbs = ({\r\n selectedTransaction,\r\n isClassActive = false,\r\n}: IssuanceMonitorBreadcrumbsProps) => (\r\n \r\n \r\n\r\n {isClassActive && (\r\n <>\r\n \r\n \r\n )}\r\n \r\n);\r\n\r\nexport default IssuanceMonitorBreadcrumbs;\r\n","import { EmptyPlaceholder } from '../common';\r\n\r\nexport const IssuanceMonitorNoData = () => {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n","import { sumBy } from 'lodash';\r\nimport { constants } from '../../constants';\r\nimport { OnHoverTooltip } from '../common';\r\n\r\ninterface ProportionBarItem {\r\n value: number;\r\n title: string;\r\n color: string;\r\n}\r\n\r\ninterface ProportionBarProps {\r\n items: ProportionBarItem[];\r\n title?: string;\r\n}\r\n\r\nconst lineWidth = 170;\r\n\r\nexport const ProportionBar = ({ items, title }: ProportionBarProps) => {\r\n const maxValue = sumBy(items, (i) => i.value);\r\n\r\n const renderTooltipOverlay = () =>\r\n items.map(i => (\r\n
\r\n
\r\n
\r\n {i.title}: {`${i.value || constants.emptyPlaceholder} ${title && i.value ? title : ''}`}\r\n
\r\n
\r\n ));\r\n\r\n return (\r\n \r\n
\r\n
\r\n {items.map(i => {\r\n const fillingPercent = ((i.value ?? 0) / maxValue) * lineWidth;\r\n\r\n return (\r\n \r\n );\r\n })}\r\n
\r\n
\r\n \r\n );\r\n};\r\n","import { useState } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { errorActions } from '../../actions';\r\nimport { amrPipelineService } from '../../services/amr-pipeline.service';\r\nimport { StatusMessageSectionType } from '../../types/state/NotificationState';\r\nimport { FlexRow } from '../common';\r\nimport { Popup, PopupBody, PopupFooter } from '../controls';\r\nimport { StatusMessageSection } from '../status-message/StatusMessageSection';\r\n\r\nexport const RequestFullDemoButton = () => {\r\n const dispatch = useDispatch();\r\n const [showPopup, setShowPopup] = useState(false);\r\n\r\n const handleClick = async () => {\r\n try {\r\n await amrPipelineService.requestDemo();\r\n setShowPopup(true);\r\n } catch (error) {\r\n dispatch(errorActions.error(error))\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {showPopup && (\r\n setShowPopup(false)}\r\n >\r\n \r\n \r\n Your request for a full demo has been submitted to the KTX ATS platform sales team. We will\r\n reach out soon.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n","interface Props {\r\n status: string;\r\n className?: string;\r\n}\r\n\r\nconst StatusLabel = ({ status, className }: Props) => {\r\n return (\r\n
\r\n {status}\r\n
\r\n )\r\n}\r\n\r\nexport default StatusLabel\r\n","import { useState } from \"react\";\r\nimport { Popover } from \"../../controls\";\r\nimport { TransactionHistoryLink } from \"../common/TransactionHistoryLink\";\r\nimport {\r\n DealUpdateIdentifier,\r\n dealUpdatesIdentifiersTitles,\r\n} from \"../../../types/amr-pipeline/enums/DealUpdateIdentifier\";\r\nimport { constants } from \"../../../constants\";\r\nimport { TransactionType } from \"../../../types/amr-pipeline/enums/TransactionType\";\r\nimport { TransactionStatus } from \"../../../types/amr-pipeline/enums/TransactionStatus\";\r\nimport { OnHoverTooltip } from \"../../common\";\r\nimport { dateTimeUtils } from \"../../../utils\";\r\nimport moment from \"moment\";\r\n\r\ninterface DealUpdatesPopoverProps {\r\n referenceName: string;\r\n dealReferenceName: string;\r\n dealLegalName: string;\r\n lastUpdated: Date;\r\n type: TransactionType;\r\n status: TransactionStatus;\r\n version?: number;\r\n dealUpdates?: DealUpdateIdentifier[];\r\n historyLinkTarget?: React.HTMLAttributeAnchorTarget;\r\n withOverlayPrefix?: boolean;\r\n disabled?: boolean;\r\n onOpen?: () => void;\r\n onVersionHistoryClick?: () => void;\r\n}\r\n\r\nexport function DealUpdatesPopover({\r\n referenceName,\r\n dealReferenceName,\r\n dealLegalName,\r\n lastUpdated,\r\n type,\r\n status,\r\n version,\r\n dealUpdates = [],\r\n historyLinkTarget,\r\n withOverlayPrefix = false,\r\n disabled,\r\n onOpen,\r\n onVersionHistoryClick,\r\n}: DealUpdatesPopoverProps) {\r\n const [isTooltipDisabled, setIsTooltipDisabled] = useState(false);\r\n\r\n if (!lastUpdated) {\r\n return {constants.emptyPlaceholder};\r\n }\r\n\r\n const isOriginatingTransaction = type !== TransactionType.amr;\r\n const isDraft = status === TransactionStatus.Draft;\r\n const isClosed = status === TransactionStatus.Closed;\r\n const lastUpdatedDate = isClosed\r\n ? moment(dateTimeUtils.resetTimeZone(lastUpdated))\r\n : dateTimeUtils.changeDateTimeZone(\r\n lastUpdated,\r\n constants.estTimezone,\r\n false\r\n );\r\n\r\n const formattedLastUpdated = isClosed\r\n ? lastUpdatedDate.format(constants.dateFormat)\r\n : lastUpdatedDate.format(constants.dateTimeFormat) + \" EST\";\r\n const isActivePriced = [\r\n TransactionStatus.Active,\r\n TransactionStatus.Priced,\r\n ].includes(status);\r\n const showDealUpdatesIdentifiers = !!dealUpdates.length && isActivePriced;\r\n const tooltipOverlay = withOverlayPrefix\r\n ? \"Last Updated: \" + formattedLastUpdated\r\n : formattedLastUpdated;\r\n\r\n const PseudoLink = (\r\n \r\n \r\n {lastUpdatedDate.format(constants.dateFormat)}\r\n \r\n \r\n );\r\n\r\n return !disabled ? (\r\n {dealLegalName}}\r\n actionButton={PseudoLink}\r\n onOpen={() => {\r\n !disabled && setIsTooltipDisabled(true);\r\n onOpen?.();\r\n }}\r\n onClose={() => setIsTooltipDisabled(false)}\r\n >\r\n \r\n
\r\n {showDealUpdatesIdentifiers && (\r\n
    \r\n {dealUpdates.map((u) => (\r\n
  • {dealUpdatesIdentifiersTitles[u]}
  • \r\n ))}\r\n
\r\n )}\r\n
\r\n {isOriginatingTransaction && !isDraft && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n ) : (\r\n PseudoLink\r\n );\r\n}\r\n","import { useEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { errorActions } from \"../../../../actions\";\r\nimport { amrPipelineService } from \"../../../../services/amr-pipeline.service\";\r\nimport { OriginatingTransactionDocument } from \"../../../../types/amr-pipeline/models/OriginatingTransactionDocument\";\r\nimport { OriginatingTransaction } from '../../../../types/amr-pipeline/models/OriginatingTransaction';\r\n\r\nexport const useIntexFile = (\r\n transaction: OriginatingTransaction,\r\n loading: boolean,\r\n setLoading: (isSending: boolean) => void,\r\n onLoadSuccess: (file?: OriginatingTransactionDocument) => void\r\n) => {\r\n const { dealReferenceName, referenceName } = transaction;\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n const request = async () => {\r\n try {\r\n const intexFile: OriginatingTransactionDocument | undefined = await amrPipelineService.getIntexFile(\r\n dealReferenceName,\r\n referenceName\r\n );\r\n\r\n onLoadSuccess(intexFile);\r\n } catch (error) {\r\n dispatch(errorActions.criticalError(error));\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n if (loading) {\r\n request();\r\n }\r\n // eslint-disable-next-line\r\n }, [loading]);\r\n};\r\n","import cn from \"classnames\";\r\nimport { useState } from \"react\";\r\nimport { constants, roles } from \"../../../../constants\";\r\nimport IconSVG from \"../../../../styles/svg-icons\";\r\nimport { AmrTransaction } from \"../../../../types/amr-pipeline/models/AmrTransaction\";\r\nimport { Company } from \"../../../../types/amr-pipeline/models/Company\";\r\nimport { OriginatingTransaction } from \"../../../../types/amr-pipeline/models/OriginatingTransaction\";\r\nimport { OriginatingTransactionDocument } from \"../../../../types/amr-pipeline/models/OriginatingTransactionDocument\";\r\nimport {\r\n getCurrentIntexPositionIdForTransaction,\r\n hasLimitedAccess,\r\n transactionHasArrangerProSubscription,\r\n} from \"../../../../utils/amr-pipeline.utils\";\r\nimport { OnHoverTooltip, Preloader } from \"../../../common\";\r\nimport { IntexLink } from \"../../../common/IntexLink\";\r\nimport { useIntexFile } from \"./useIntexFile\";\r\nimport { user } from \"../../../../user\";\r\nimport { ActionBlocker } from '../../../access/ActionBlocker';\r\nimport { SubscriptionFeature } from '../../../../types/billing/SubscriptionFeature';\r\nimport { FeatureButton } from '../../../access/FeatureButton';\r\nimport classNames from 'classnames';\r\nimport { TransactionType } from '../../../../types/amr-pipeline/enums/TransactionType';\r\n\r\ninterface Props {\r\n transaction: OriginatingTransaction | AmrTransaction;\r\n userCompany?: Company;\r\n disabled?: boolean;\r\n label?: string;\r\n placeholderIfEmpty?: boolean;\r\n secondaryPlaceholderColor?: boolean;\r\n tooltipOverlay?: string;\r\n asyncFileLoad?: boolean;\r\n onClick: (transaction: OriginatingTransaction) => void;\r\n onClickLink?: () => void;\r\n}\r\n\r\nexport function IntexButton({\r\n transaction,\r\n userCompany,\r\n label = '',\r\n disabled = false,\r\n placeholderIfEmpty = false,\r\n secondaryPlaceholderColor = false,\r\n tooltipOverlay = \"Intex\",\r\n asyncFileLoad = true,\r\n onClick,\r\n onClickLink,\r\n}: Props) {\r\n const [loading, setLoading] = useState(false);\r\n\r\n const onLoadSuccess = (intexFile?: OriginatingTransactionDocument) => {\r\n onClick({ ...transaction, intexFile } as OriginatingTransaction);\r\n };\r\n\r\n useIntexFile(transaction as OriginatingTransaction, loading, setLoading, onLoadSuccess);\r\n\r\n if (disabled) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n const hasImAccess = user.hasFeatures(SubscriptionFeature.IssuanceMonitorHistoricalData);\r\n const limitedAccess = hasLimitedAccess(transaction, userCompany);\r\n const isMedia = user.hasRoles(roles.Media);\r\n const intexExists = (transaction as OriginatingTransaction).intexExists;\r\n const currentIntexPositionId = getCurrentIntexPositionIdForTransaction(transaction);\r\n const hasArrangerProSubscription = transactionHasArrangerProSubscription(transaction);\r\n\r\n const renderEmpty = () => placeholderIfEmpty ? (\r\n \r\n {constants.emptyPlaceholder}\r\n \r\n ) : null;\r\n\r\n if (!currentIntexPositionId && !intexExists) {\r\n return renderEmpty();\r\n }\r\n\r\n if (transaction.type === TransactionType.amr || limitedAccess || isMedia ||\r\n (!transaction.dealTicker && currentIntexPositionId && !intexExists)) {\r\n return currentIntexPositionId ? (\r\n \r\n ) : renderEmpty();\r\n }\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n const handleClick = (e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n\r\n if (asyncFileLoad && intexExists && (hasImAccess || hasArrangerProSubscription)) {\r\n setLoading(true);\r\n return;\r\n }\r\n\r\n onClick(transaction as OriginatingTransaction);\r\n };\r\n\r\n return (\r\n \r\n {blocked => (\r\n \r\n \r\n {label}\r\n \r\n \r\n )}\r\n \r\n );\r\n}\r\n","import { OriginatingTransaction } from \"../../../types/amr-pipeline/models/OriginatingTransaction\";\r\nimport { routes } from \"../../../constants\";\r\nimport { TransactionStatus } from \"../../../types/amr-pipeline/enums/TransactionStatus\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { TransactionsTabTypes } from \"../types/TransactionsTabTypes\";\r\nimport { Company } from \"../../../types/amr-pipeline/models/Company\";\r\nimport { TransactionType } from \"../../../types/amr-pipeline/enums/TransactionType\";\r\nimport { canSubmitIOIs, canViewIOIs } from \"../../../utils/amr-pipeline.utils\";\r\nimport { Transaction } from '../../../types/amr-pipeline/models/Transaction';\r\n\r\ninterface OptionsButtonProps {\r\n transaction: Transaction;\r\n userCompany: Company;\r\n withIOIs?: boolean;\r\n}\r\n\r\nexport const OptionsButton = ({ transaction, userCompany, withIOIs }: OptionsButtonProps) => {\r\n const { referenceName, dealReferenceName, status } = transaction;\r\n\r\n if (transaction.type === TransactionType.amr) {\r\n return null;\r\n }\r\n\r\n const notActiveTransaction = status !== TransactionStatus.Active;\r\n const userCanViewIOIs = canViewIOIs(transaction, userCompany);\r\n const userCanSubmitIOIs = canSubmitIOIs(transaction);\r\n\r\n const ioisLink = routes.transactionDetailUrl(\r\n referenceName,\r\n dealReferenceName,\r\n TransactionsTabTypes.IOIs\r\n );\r\n\r\n if (userCanSubmitIOIs) {\r\n return (\r\n \r\n SUBMIT IOIs\r\n \r\n );\r\n }\r\n\r\n const isViewButtonDisabled = notActiveTransaction &&\r\n !(withIOIs || (transaction as OriginatingTransaction).classes.some(c => c.numberOfIOIs));\r\n\r\n if (isViewButtonDisabled) {\r\n return null;\r\n }\r\n\r\n if (userCanViewIOIs) {\r\n return (\r\n \r\n VIEW IOIs\r\n \r\n );\r\n }\r\n\r\n return null;\r\n};\r\n","import { Dispatch } from \"react\";\r\nimport classNames from \"classnames\";\r\nimport { constants, pipelineColumnLabels } from \"../../../../../constants\";\r\nimport IconSVG from \"../../../../../styles/svg-icons\";\r\nimport { TransactionStatus } from \"../../../../../types/amr-pipeline/enums/TransactionStatus\";\r\nimport { TransactionType } from \"../../../../../types/amr-pipeline/enums/TransactionType\";\r\nimport { AmrTransaction } from \"../../../../../types/amr-pipeline/models/AmrTransaction\";\r\nimport { Company } from \"../../../../../types/amr-pipeline/models/Company\";\r\nimport { OriginatingTransaction } from \"../../../../../types/amr-pipeline/models/OriginatingTransaction\";\r\nimport { isBrokerDealersOwnTransaction } from \"../../../../../utils/amr-pipeline.utils\";\r\nimport { IColumnDefinition } from \"../../../../bidding/common/table/types/ColumnDefinition\";\r\nimport { OnHoverTooltip } from \"../../../../common\";\r\nimport { TransactionHistoryLink } from \"../../../common/TransactionHistoryLink\";\r\nimport { ImSubscriptionActionBlocker } from \"../../../subscription/ImSubscriptionActionBlocker\";\r\nimport { PipelineColumn } from \"../../../types/PipelineColumn\";\r\nimport { IssuanceMonitorTab } from \"../../../types/PipelineTabTypes\";\r\nimport { IntexButton } from \"../../IntexButton/IntexButton\";\r\nimport { OptionsButton } from \"../../OptionsButton\";\r\nimport { FilterRelatedTransactionsIcon } from '../../../common/FilterRelatedTransactionsIcon';\r\nimport { TransactionAlertsButton } from \"../../../common/transactionAlerts/TransactionAlertsButton\";\r\n\r\nexport const shareOptionColumnDefinition: IColumnDefinition<\r\n OriginatingTransaction | AmrTransaction\r\n> = {\r\n columnKey: PipelineColumn.shareOption,\r\n renderColumnHeaderContent: () => \"\",\r\n renderColumnContent: (\r\n transaction,\r\n context: {\r\n userCompany: Company;\r\n setTransactionToShare: (\r\n transaction: OriginatingTransaction | AmrTransaction\r\n ) => void;\r\n }\r\n ) => {\r\n const { userCompany, setTransactionToShare } = context;\r\n const showShare = isBrokerDealersOwnTransaction(\r\n transaction,\r\n userCompany\r\n );\r\n\r\n return (\r\n
\r\n
\r\n {showShare ? (\r\n \r\n {\r\n e.stopPropagation();\r\n setTransactionToShare(transaction);\r\n }}\r\n className=\"btn-link\"\r\n >\r\n \r\n
\r\n \r\n ) : {constants.emptyPlaceholder}}\r\n
\r\n \r\n );\r\n },\r\n headerClassName: \"data-list-cell-xxxs data-list-cell-actions padding-r-0 text-right\",\r\n bodyClassName: \"data-list-cell-xxxs data-list-cell-actions padding-r-0 text-right\",\r\n stickRight: true,\r\n};\r\n\r\nexport const buildOptionsColumnDefinition = (isBdOrSeller: boolean): IColumnDefinition<\r\n OriginatingTransaction | AmrTransaction\r\n> => {\r\n return {\r\n columnKey: PipelineColumn.optionsAction,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.options],\r\n renderColumnContent: (\r\n transaction,\r\n context: {\r\n userCompany: Company;\r\n dispatch: Dispatch;\r\n setTab: (tab: IssuanceMonitorTab) => void;\r\n setTransactionForIntex: (\r\n transaction: OriginatingTransaction\r\n ) => void;\r\n setTransactionForAlerts: (transaction: OriginatingTransaction) => void;\r\n }\r\n ) => {\r\n const {\r\n referenceName,\r\n dealReferenceName,\r\n dealLegalName,\r\n numberOfDealPublishedTransactions,\r\n status,\r\n type,\r\n version,\r\n } = transaction;\r\n const { userCompany, setTab, setTransactionForIntex, setTransactionForAlerts } = context;\r\n const isOriginatingTransaction = type !== TransactionType.amr;\r\n const showHistory =\r\n status !== TransactionStatus.Draft && isOriginatingTransaction;\r\n\r\n return (\r\n
\r\n
\r\n {numberOfDealPublishedTransactions > 1 ? (\r\n \r\n {blocked => (\r\n setTab(IssuanceMonitorTab.Deals)}\r\n disabled={blocked}\r\n />\r\n )}\r\n \r\n ) : {constants.emptyPlaceholder}}\r\n
\r\n
\r\n {isOriginatingTransaction && status !== TransactionStatus.Closed ? (\r\n
e.stopPropagation()}>\r\n setTransactionForAlerts(transaction as OriginatingTransaction)}\r\n />\r\n
\r\n ) : {constants.emptyPlaceholder}}\r\n
\r\n
\r\n {showHistory ? (\r\n \r\n {blocked => (\r\n
e.stopPropagation()}>\r\n \r\n
\r\n )}\r\n
\r\n ) : {constants.emptyPlaceholder}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n },\r\n className: classNames(\"padding-r-0 data-list-cell-actions text-right\", {\r\n 'data-list-cell-lg-02': !isBdOrSeller,\r\n 'data-list-cell-md': isBdOrSeller,\r\n }),\r\n stickRight: true,\r\n };\r\n}\r\n\r\nexport const optionsButtonColumnDefinition: IColumnDefinition<\r\n OriginatingTransaction | AmrTransaction\r\n> = {\r\n columnKey: PipelineColumn.optionButton,\r\n renderColumnHeaderContent: () => \"\",\r\n renderColumnContent: (\r\n transaction,\r\n context: {\r\n userCompany: Company;\r\n }\r\n ) => {\r\n return (\r\n e.stopPropagation()}>\r\n \r\n \r\n );\r\n },\r\n headerClassName: \"data-list-cell-sm-01 padding-l-0 data-list-cell-actions-btn text-right\",\r\n bodyClassName: \"data-list-cell-sm-01 padding-l-0 data-list-cell-actions-btn text-right\",\r\n stickRight: true,\r\n};\r\n","import { isNil, startCase } from \"lodash\";\r\nimport cn from \"classnames\";\r\nimport { IColumnDefinition } from \"../../../../bidding/common/table/types/ColumnDefinition\";\r\nimport { ColumnBuilder } from \"../../../../bidding/common/table/columns/column-builder/ColumnBuilder\";\r\nimport { OriginatingTransaction } from \"../../../../../types/amr-pipeline/models/OriginatingTransaction\";\r\nimport { AmrTransaction } from \"../../../../../types/amr-pipeline/models/AmrTransaction\";\r\nimport { constants, routes, pipelineColumnLabels, pipelineTooltipText, roles } from \"../../../../../constants\";\r\nimport { dateTimeUtils, formatUtils, moneyUtils } from \"../../../../../utils\";\r\nimport StatusLabel from \"../../../StatusLabel\";\r\nimport moment from \"moment\";\r\nimport { canViewTransactionDetails, getTransactionDetailsUrl, hasLimitedAccess } from \"../../../../../utils/amr-pipeline.utils\";\r\nimport { TransactionType } from \"../../../../../types/amr-pipeline/enums/TransactionType\";\r\nimport { OnHoverTooltip } from \"../../../../common\";\r\nimport { PipelineColumn } from '../../../types/PipelineColumn';\r\nimport { UserConfigColumn } from '../../../../../types/user-config/UserConfigColumn';\r\nimport { transactionStatusTitles } from \"../../../../../types/amr-pipeline/enums/TransactionStatus\";\r\nimport { Transaction } from \"../../../../../types/amr-pipeline/models/Transaction\";\r\nimport { Popover } from \"../../../../controls\";\r\nimport { NewDebutAmrLabel } from \"../../../common/NewDebutAmrLabel\";\r\nimport { MarkdownViewer, renderMarkdownOrEmpty } from \"../../../../common/markdown-editor\";\r\nimport { amrFormatUtils } from \"../../../../../utils/amr-format.utils\";\r\nimport { Link } from \"react-router-dom\";\r\nimport IconSVG from \"../../../../../styles/svg-icons\";\r\nimport { DealUpdatesPopover } from \"../../DealUpdatesPopover\";\r\nimport { optionsButtonColumnDefinition, buildOptionsColumnDefinition, shareOptionColumnDefinition } from \"./optionsColumn\";\r\nimport { collapseStickRightColumn } from '../../../../bidding/common/table/CollapseStickRightColumn';\r\nimport { user } from \"../../../../../user\";\r\nimport { ImSubscriptionActionBlocker } from \"../../../subscription/ImSubscriptionActionBlocker\";\r\nimport { ManagerLink } from '../../../common/ManagerLink';\r\nimport { BankLink } from \"../../../common/BankLink\";\r\n\r\nexport const commonPipelineColumns = (columnsConfig: UserConfigColumn[]) => {\r\n const fixedColumnDefinitions: IColumnDefinition<\r\n OriginatingTransaction | AmrTransaction\r\n >[] = [\r\n {\r\n columnKey: PipelineColumn.isNew,\r\n renderColumnHeaderContent: () => \"\",\r\n renderColumnContent: (transaction: Transaction) =>\r\n ,\r\n className: \"data-list-cell-xxs-02 data-list-cell-label\",\r\n }\r\n ];\r\n\r\n const statsColumnDefinitions: IColumnDefinition<\r\n OriginatingTransaction | AmrTransaction\r\n >[] = [\r\n {\r\n columnKey: PipelineColumn.lastUpdated,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.lastUpdated],\r\n renderColumnContent: (transaction) => (\r\n \r\n {blocked => {\r\n const {\r\n referenceName,\r\n dealReferenceName,\r\n dealLegalName,\r\n lastUpdated,\r\n type,\r\n status,\r\n version,\r\n } = transaction;\r\n\r\n return (\r\n \r\n );\r\n }}\r\n \r\n ),\r\n sortingField: PipelineColumn.lastUpdated,\r\n headerClassName: \"data-list-cell-sm\",\r\n bodyClassName: \"data-list-cell-sm\",\r\n },\r\n {\r\n columnKey: PipelineColumn.dealName,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.dealName],\r\n renderColumnContent: (transaction) => {\r\n const {\r\n dealLegalName,\r\n type\r\n } = transaction;\r\n\r\n return (\r\n
\r\n
\r\n \r\n {type === TransactionType.amr || canViewTransactionDetails() ? (\r\n \r\n {dealLegalName}\r\n \r\n ) : (\r\n dealLegalName\r\n )}\r\n \r\n
\r\n
\r\n );\r\n },\r\n sortingField: PipelineColumn.dealName,\r\n className: \"data-list-cell-xl-xxl\",\r\n },\r\n {\r\n columnKey: PipelineColumn.dealTicker,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.dealTicker],\r\n renderColumnContent: (transaction) => transaction.dealTicker || constants.emptyPlaceholder,\r\n sortingField: PipelineColumn.dealTicker,\r\n headerClassName: \"data-list-cell-lg\",\r\n bodyClassName: \"data-list-cell-lg\",\r\n },\r\n {\r\n columnKey: PipelineColumn.manager,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.manager],\r\n renderColumnContent: (transaction) => {\r\n const { collateralManager } = transaction;\r\n\r\n if (!collateralManager) { return constants.emptyPlaceholder}\r\n\r\n return (\r\n \r\n );\r\n },\r\n sortingField: \"collateralManager\",\r\n headerClassName: \"data-list-cell-xl\",\r\n bodyClassName: \"data-list-cell-xl\",\r\n },\r\n {\r\n columnKey: PipelineColumn.arranger,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.arranger],\r\n renderColumnContent: (transaction) => {\r\n const { arranger } = transaction;\r\n\r\n if (!arranger) {\r\n return constants.emptyPlaceholder;\r\n }\r\n\r\n return (\r\n \r\n );\r\n },\r\n sortingField: PipelineColumn.arranger,\r\n },\r\n {\r\n columnKey: PipelineColumn.trustee,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.trustee],\r\n renderColumnContent: (transaction) => transaction.trustee\r\n ? {transaction.trustee?.legalName}\r\n : constants.emptyPlaceholder,\r\n headerClassName: \"data-list-cell-xl\",\r\n bodyClassName: \"data-list-cell-xl\",\r\n sortingField: PipelineColumn.trustee,\r\n },\r\n {\r\n columnKey: PipelineColumn.transactionStatus,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.transactionStatus],\r\n renderColumnContent: (transaction) => (\r\n \r\n ),\r\n sortingField: PipelineColumn.transactionStatus,\r\n headerClassName: \"data-list-cell-trans-status\",\r\n bodyClassName: \"data-list-cell-trans-status\",\r\n },\r\n {\r\n columnKey: PipelineColumn.transactionType,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.transactionType],\r\n renderColumnContent: (transaction) => startCase(transaction.type),\r\n sortingField: PipelineColumn.transactionType,\r\n },\r\n {\r\n columnKey: PipelineColumn.dealSize,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.dealSize],\r\n renderColumnContent: (transaction) =>\r\n transaction.dealBalance\r\n ? moneyUtils.money(transaction.dealBalance)\r\n : constants.emptyPlaceholder,\r\n sortingField: PipelineColumn.dealSize,\r\n headerClassName: \"data-list-cell-sm text-right\",\r\n bodyClassName: \"data-list-cell-sm text-right\",\r\n },\r\n {\r\n columnKey: PipelineColumn.pricingDate,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.pricingDate],\r\n renderColumnContent: (transaction) =>\r\n transaction.pricingDate\r\n ? moment(transaction.pricingDate).format(\r\n constants.dateFormat\r\n )\r\n : constants.emptyPlaceholder,\r\n headerClassName: \"data-list-cell-sm\",\r\n bodyClassName: \"data-list-cell-sm\",\r\n sortingField: PipelineColumn.pricingDate,\r\n },\r\n {\r\n columnKey: PipelineColumn.closingDate,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.closingDate],\r\n renderColumnContent: (transaction) =>\r\n transaction.closingDate\r\n ? moment(transaction.closingDate).format(\r\n constants.dateFormat\r\n )\r\n : constants.emptyPlaceholder,\r\n headerClassName: \"data-list-cell-sm\",\r\n bodyClassName: \"data-list-cell-sm\",\r\n sortingField: PipelineColumn.closingDate,\r\n },\r\n {\r\n columnKey: PipelineColumn.nonCallPeriodEnd,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.nonCallPeriodEnd],\r\n renderColumnContent: ({ nonCallPeriodEnd }) =>\r\n nonCallPeriodEnd\r\n ? moment(nonCallPeriodEnd).format(constants.dateFormat)\r\n : constants.emptyPlaceholder,\r\n sortingField: PipelineColumn.nonCallPeriodEnd,\r\n headerClassName: \"data-list-cell-sm\",\r\n bodyClassName: \"data-list-cell-sm popover-column\",\r\n },\r\n {\r\n columnKey: PipelineColumn.nonCallPeriodEndDays,\r\n renderColumnHeaderContent: () =>\r\n \r\n {pipelineColumnLabels[PipelineColumn.nonCallPeriodEndYears]}\r\n \r\n ,\r\n renderColumnContent: (transaction) =>\r\n dateTimeUtils.yrsLeftToDateFrom(\r\n transaction.nonCallPeriodEnd,\r\n transaction.closingDate,\r\n false\r\n ) || constants.emptyPlaceholder,\r\n sortingField: PipelineColumn.nonCallPeriodEndDays,\r\n headerClassName: \"data-list-cell-sm text-right\",\r\n bodyClassName: \"data-list-cell-sm text-right popover-column\",\r\n },\r\n {\r\n columnKey: PipelineColumn.outOfNC,\r\n renderColumnHeaderContent: () =>\r\n \r\n {pipelineColumnLabels[PipelineColumn.outOfNC]}\r\n \r\n ,\r\n renderColumnContent: ({ outOfNC }) =>\r\n isNil(outOfNC)\r\n ? constants.emptyPlaceholder\r\n : formatUtils.formatBoolean(outOfNC),\r\n sortingField: PipelineColumn.outOfNC,\r\n headerClassName: \"data-list-cell-sm\",\r\n bodyClassName: \"data-list-cell-sm popover-column text-capitalize\",\r\n },\r\n {\r\n columnKey: PipelineColumn.reinvestmentPeriodEnd,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.reinvestmentPeriodEnd],\r\n renderColumnContent: ({ reinvestmentPeriodEnd }) =>\r\n reinvestmentPeriodEnd\r\n ? moment(reinvestmentPeriodEnd).format(constants.dateFormat)\r\n : constants.emptyPlaceholder,\r\n sortingField: PipelineColumn.reinvestmentPeriodEnd,\r\n headerClassName: \"data-list-cell-sm\",\r\n bodyClassName: \"data-list-cell-sm popover-column\",\r\n },\r\n {\r\n columnKey: PipelineColumn.reinvestmentPeriodEndDays,\r\n renderColumnHeaderContent: () =>\r\n \r\n {pipelineColumnLabels[PipelineColumn.reinvestmentPeriodEndYears]}\r\n \r\n ,\r\n renderColumnContent: (transaction) =>\r\n dateTimeUtils.yrsLeftToDateFrom(\r\n transaction.reinvestmentPeriodEnd,\r\n transaction.closingDate,\r\n false\r\n ) || constants.emptyPlaceholder,\r\n sortingField: PipelineColumn.reinvestmentPeriodEndDays,\r\n headerClassName: \"data-list-cell-sm text-right\",\r\n bodyClassName: \"data-list-cell-sm text-right popover-column\",\r\n },\r\n {\r\n columnKey: PipelineColumn.outOfRI,\r\n renderColumnHeaderContent: () =>\r\n \r\n {pipelineColumnLabels[PipelineColumn.outOfRI]}\r\n \r\n ,\r\n renderColumnContent: ({ outOfRI }) =>\r\n isNil(outOfRI)\r\n ? constants.emptyPlaceholder\r\n : formatUtils.formatBoolean(outOfRI),\r\n sortingField: PipelineColumn.outOfRI,\r\n headerClassName: \"data-list-cell-sm\",\r\n bodyClassName: \"data-list-cell-sm popover-column text-capitalize\",\r\n },\r\n {\r\n columnKey: PipelineColumn.was,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.was],\r\n renderColumnContent: (transaction) =>\r\n formatUtils.formatDecimal(\r\n (transaction as OriginatingTransaction).was\r\n ) || constants.emptyPlaceholder,\r\n headerClassName: \"text-right\",\r\n bodyClassName: \"text-right\",\r\n sortingField: PipelineColumn.was,\r\n },\r\n {\r\n columnKey: PipelineColumn.warf,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.warf],\r\n renderColumnContent: (transaction) => {\r\n const warf = (transaction as OriginatingTransaction).warf;\r\n return warf ? moneyUtils.money(warf, true) : constants.emptyPlaceholder;\r\n },\r\n headerClassName: \"text-right\",\r\n bodyClassName: \"text-right\",\r\n sortingField: PipelineColumn.warf,\r\n },\r\n {\r\n columnKey: PipelineColumn.ds,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.ds],\r\n renderColumnContent: (transaction) =>\r\n formatUtils.formatDecimal(\r\n (transaction as OriginatingTransaction).ds\r\n ) || constants.emptyPlaceholder,\r\n headerClassName: \"data-list-cell-xs text-right\",\r\n bodyClassName: \"data-list-cell-xs text-right\",\r\n sortingField: PipelineColumn.ds,\r\n },\r\n {\r\n columnKey: PipelineColumn.euCompliance,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.euCompliance],\r\n renderColumnContent: (transaction) => {\r\n const {\r\n dealLegalName,\r\n euCompliance,\r\n euRiskRetentionRequirements,\r\n euDisclosureRequirements,\r\n } = transaction;\r\n const columnText =\r\n formatUtils.formatBooleanWithPlaceholder(euCompliance);\r\n\r\n if (\r\n euCompliance &&\r\n (euRiskRetentionRequirements || euDisclosureRequirements)\r\n ) {\r\n return (\r\n \r\n {dealLegalName}\r\n \r\n }\r\n actionButton={\r\n \r\n }\r\n >\r\n

\r\n EU Risk Retention Requirements\r\n

\r\n
\r\n {renderMarkdownOrEmpty(\r\n euRiskRetentionRequirements\r\n )}\r\n
\r\n

\r\n EU Disclosure Requirements\r\n

\r\n
\r\n {renderMarkdownOrEmpty(\r\n euDisclosureRequirements\r\n )}\r\n
\r\n \r\n );\r\n }\r\n\r\n return columnText;\r\n },\r\n headerClassName: \"data-list-cell-sm\",\r\n bodyClassName: \"data-list-cell-sm\",\r\n sortingField: PipelineColumn.euCompliance,\r\n },\r\n {\r\n columnKey: PipelineColumn.esg,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.esg],\r\n renderColumnContent: (transaction) => {\r\n const { dealLegalName, esg, esgComment } = transaction;\r\n const columnText =\r\n formatUtils.formatBooleanWithPlaceholder(esg);\r\n\r\n if (esg && esgComment) {\r\n return (\r\n \r\n {dealLegalName}\r\n \r\n }\r\n actionButton={\r\n \r\n }\r\n className=\"popover-esg-comments\"\r\n >\r\n \r\n \r\n );\r\n }\r\n\r\n return columnText;\r\n },\r\n headerClassName: \"data-list-cell-xs\",\r\n bodyClassName: \"data-list-cell-xs\",\r\n sortingField: PipelineColumn.esg,\r\n },\r\n {\r\n columnKey: PipelineColumn.collateralType,\r\n renderColumnHeaderContent: () => \"Collat.\",\r\n renderColumnContent: (transaction) =>\r\n formatUtils.formatCollateralType(\r\n (transaction as OriginatingTransaction).collateralType\r\n ),\r\n headerClassName: \"data-list-cell-xs\",\r\n bodyClassName: \"data-list-cell-xs\",\r\n sortingField: PipelineColumn.collateralType,\r\n },\r\n {\r\n columnKey: PipelineColumn.currency,\r\n renderColumnHeaderContent: () => \"Ccy\",\r\n renderColumnContent: (transaction) =>\r\n (transaction as OriginatingTransaction).currency?.code ||\r\n constants.emptyPlaceholder,\r\n headerClassName: \"data-list-cell-xs\",\r\n bodyClassName: \"data-list-cell-xs\",\r\n sortingField: PipelineColumn.currency,\r\n },\r\n {\r\n columnKey: PipelineColumn.amrDeal,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.amrDeal],\r\n renderColumnContent: (transaction) =>\r\n formatUtils.formatBooleanWithPlaceholder(\r\n (transaction as OriginatingTransaction).amr\r\n ),\r\n headerClassName: \"data-list-cell-sm\",\r\n bodyClassName: \"data-list-cell-sm\",\r\n sortingField: PipelineColumn.amr,\r\n },\r\n {\r\n columnKey: PipelineColumn.transactionSize,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.transactionSize],\r\n renderColumnContent: (transaction) =>\r\n moneyUtils.money(transaction.dealBalance) ||\r\n constants.emptyPlaceholder,\r\n headerClassName: \"data-list-cell-md text-right\",\r\n bodyClassName: \"data-list-cell-md text-right\",\r\n sortingField: \"dealBalance\",\r\n },\r\n {\r\n columnKey: PipelineColumn.offeringType,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.offeringType],\r\n renderColumnContent: (transaction) => (\r\n <>\r\n {!!(transaction as OriginatingTransaction).offeringType ? (\r\n \r\n {\r\n (transaction as OriginatingTransaction)\r\n .offeringType\r\n }\r\n \r\n ) : (\r\n constants.emptyPlaceholder\r\n )}\r\n \r\n ),\r\n headerClassName: \"data-list-cell-md\",\r\n bodyClassName: \"data-list-cell-md\",\r\n sortingField: PipelineColumn.offeringType,\r\n },\r\n {\r\n columnKey: PipelineColumn.maturity,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.maturity],\r\n renderColumnContent: (transaction) => {\r\n const maturity =\r\n (transaction as OriginatingTransaction).statedMaturity ||\r\n (transaction as AmrTransaction).finalMaturity;\r\n return maturity\r\n ? moment(maturity).format(constants.dateFormat)\r\n : constants.emptyPlaceholder;\r\n },\r\n headerClassName: \"data-list-cell-sm\",\r\n bodyClassName: \"data-list-cell-sm\",\r\n sortingField: PipelineColumn.maturity,\r\n },\r\n {\r\n columnKey: PipelineColumn.vintage,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.vintage],\r\n renderColumnContent: (transaction) => {\r\n const vintage =\r\n (transaction as OriginatingTransaction).vintage\r\n return vintage\r\n ? moment(vintage).year()\r\n : constants.emptyPlaceholder;\r\n },\r\n sortingField: PipelineColumn.vintage,\r\n },\r\n {\r\n columnKey: PipelineColumn.firstPayment,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.firstPayment],\r\n renderColumnContent: (transaction) =>\r\n transaction.firstPaymentDate\r\n ? moment(transaction.firstPaymentDate).format(\r\n constants.dateFormat\r\n )\r\n : constants.emptyPlaceholder,\r\n headerClassName: \"data-list-cell-sm\",\r\n bodyClassName: \"data-list-cell-sm\",\r\n sortingField: PipelineColumn.firstPayment,\r\n },\r\n {\r\n columnKey: PipelineColumn.intex,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.intex],\r\n renderColumnContent: (transaction) => {\r\n const { intexName, intexPassword } =\r\n transaction as OriginatingTransaction;\r\n return !intexName && !intexPassword ? (\r\n constants.emptyPlaceholder\r\n ) : (\r\n \r\n {(intexName || constants.emptyPlaceholder) +\r\n \" / \" +\r\n (intexPassword || constants.emptyPlaceholder)}\r\n \r\n );\r\n },\r\n headerClassName: \"data-list-cell-xl\",\r\n bodyClassName: \"data-list-cell-xl\",\r\n },\r\n {\r\n columnKey: PipelineColumn.numberOfDocuments,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.numberOfDocuments],\r\n renderColumnContent: (transaction, { userCompany }) => {\r\n const isMedia = user.hasRoles(roles.Media);\r\n\r\n if (!transaction.numberOfDocuments) {\r\n return constants.emptyPlaceholder;\r\n }\r\n\r\n return !isMedia && (transaction.type === TransactionType.amr || (canViewTransactionDetails() && !hasLimitedAccess(transaction, userCompany))) ? (\r\n e.stopPropagation()}\r\n >\r\n View ({transaction.numberOfDocuments})\r\n \r\n ) : (\r\n \r\n {transaction.numberOfDocuments}\r\n \r\n );\r\n },\r\n sortingField: PipelineColumn.numberOfDocuments,\r\n },\r\n {\r\n columnKey: PipelineColumn.syndicate,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.syndicate],\r\n renderColumnContent: (transaction, context) => {\r\n const { dispatch, actions } = context;\r\n const numberOfContacts = (transaction as OriginatingTransaction)\r\n .numberOfSyndicateContacts;\r\n return numberOfContacts ? (\r\n {\r\n e.stopPropagation();\r\n dispatch(\r\n actions.setSyndicateContacts(\r\n transaction.dealLegalName,\r\n transaction.dealReferenceName,\r\n transaction.referenceName,\r\n transaction.arranger?.legalName\r\n )\r\n );\r\n }}\r\n >\r\n {numberOfContacts} contact\r\n {numberOfContacts > 1 ? \"s\" : \"\"}\r\n \r\n ) : (\r\n constants.emptyPlaceholder\r\n );\r\n },\r\n headerClassName: \"data-list-cell-sm\",\r\n bodyClassName: \"data-list-cell-sm\",\r\n sortingField: PipelineColumn.syndicate,\r\n },\r\n {\r\n columnKey: PipelineColumn.enhancedCLO,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.enhancedCLO],\r\n renderColumnContent: (transaction) =>\r\n formatUtils.formatBooleanWithPlaceholder(\r\n transaction.enhancedCLO\r\n ),\r\n headerClassName: \"data-list-cell-sm\",\r\n bodyClassName: \"data-list-cell-sm\",\r\n sortingField: PipelineColumn.enhancedCLO,\r\n },\r\n {\r\n columnKey: PipelineColumn.staticDeal,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.staticDeal],\r\n renderColumnContent: (transaction) =>\r\n formatUtils.formatBooleanWithPlaceholder(\r\n transaction.staticDeal\r\n ),\r\n headerClassName: \"data-list-cell-sm\",\r\n bodyClassName: \"data-list-cell-sm\",\r\n sortingField: PipelineColumn.staticDeal,\r\n },\r\n {\r\n columnKey: PipelineColumn.rollerDeadline,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.rollerDeadline],\r\n renderColumnContent: (transaction) => {\r\n const { rollerDeadline } = transaction as OriginatingTransaction;\r\n return rollerDeadline\r\n ?
\r\n {amrFormatUtils.formatRollerDeadlineDate(moment(rollerDeadline))}\r\n
\r\n : constants.emptyPlaceholder;\r\n },\r\n headerClassName: \"data-list-cell-xl\",\r\n bodyClassName: \"data-list-cell-xl\",\r\n sortingField: PipelineColumn.rollerDeadline,\r\n },\r\n {\r\n columnKey: PipelineColumn.iois,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.iois],\r\n renderColumnContent: (transaction) =>\r\n formatUtils.formatBooleanWithPlaceholder(\r\n transaction.type !== TransactionType.amr &&\r\n (transaction as OriginatingTransaction).classes.some(c => c.numberOfIOIs)\r\n ),\r\n headerClassName: \"data-list-cell-xs\",\r\n bodyClassName: \"data-list-cell-xs\",\r\n },\r\n {\r\n columnKey: PipelineColumn.options,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.options],\r\n renderColumnContent: () => \"\"\r\n },\r\n ];\r\n\r\n const customizedColumns = columnsConfig\r\n .reduce((acc: ColumnBuilder[], columnConfig: UserConfigColumn) => {\r\n const column = statsColumnDefinitions.find(\r\n ({ columnKey }) => columnKey.toLocaleLowerCase() === columnConfig.name.toLocaleLowerCase()\r\n );\r\n\r\n if (!column) {\r\n return acc;\r\n }\r\n\r\n if (column.columnKey === PipelineColumn.options) {\r\n const isShareAvailable = user.hasRoles(...roles.bd());\r\n const isButtonAvailable = user.hasRoles(\r\n ...roles.getAllRolesExclude(\r\n ...roles.admin(),\r\n roles.DataEntry,\r\n roles.Viewer,\r\n roles.Media,\r\n )\r\n );\r\n const isBdOrSeller = user.hasRoles(roles.SellerTrader, roles.BrokerDealerTrader);\r\n\r\n return [\r\n ...acc,\r\n new ColumnBuilder(collapseStickRightColumn),\r\n ...(isButtonAvailable\r\n ? [new ColumnBuilder(optionsButtonColumnDefinition)]\r\n : []),\r\n ...(isShareAvailable\r\n ? [new ColumnBuilder(shareOptionColumnDefinition)]\r\n : []),\r\n new ColumnBuilder(buildOptionsColumnDefinition(isBdOrSeller)),\r\n ];\r\n }\r\n\r\n return [...acc, new ColumnBuilder(column)];\r\n }, []);\r\n\r\n return fixedColumnDefinitions\r\n .map(column => new ColumnBuilder(column))\r\n .concat(customizedColumns);\r\n};\r\n","import classNames from 'classnames';\r\nimport moment from 'moment';\r\nimport { constants } from '../../../../constants';\r\nimport { IOI } from '../../../../types/amr-pipeline/models/IOI';\r\nimport { moneyUtils, formatUtils } from '../../../../utils';\r\nimport { ColumnBuilder } from '../../../bidding/common/table/columns/column-builder/ColumnBuilder';\r\nimport { IColumnDefinition } from '../../../bidding/common/table/types/ColumnDefinition';\r\nimport { OnHoverTooltip } from '../../../common';\r\n\r\nconst ioiSize: IColumnDefinition = {\r\n columnKey: 'size',\r\n renderColumnHeaderContent: () => 'IOI Size',\r\n renderColumnContent: ioi => (ioi.size ? moneyUtils.money(ioi.size) : constants.emptyPlaceholder),\r\n headerClassName: 'data-list-cell-sm text-right',\r\n bodyClassName: 'data-list-cell-sm text-right',\r\n};\r\n\r\nconst ioiSizePercent: IColumnDefinition = {\r\n columnKey: 'sizePercent',\r\n renderColumnHeaderContent: () => 'IOI Size, %',\r\n renderColumnContent: ioi =>\r\n ioi.sizePercent ? formatUtils.formatDecimal(ioi.sizePercent, 2) : constants.emptyPlaceholder,\r\n headerClassName: 'data-list-cell-sm text-right',\r\n bodyClassName: 'data-list-cell-sm text-right',\r\n};\r\n\r\nconst commonColumns: IColumnDefinition[] = [\r\n {\r\n columnKey: 'dm',\r\n renderColumnHeaderContent: () => 'DM, bps',\r\n renderColumnContent: (ioi, { isSeller }) =>\r\n ioi.dm ? (\r\n {ioi.dm}\r\n ) : (\r\n constants.emptyPlaceholder\r\n ),\r\n headerClassName: 'data-list-cell text-right',\r\n bodyClassName: 'data-list-cell text-right',\r\n },\r\n {\r\n columnKey: 'oid',\r\n renderColumnHeaderContent: () => 'OID',\r\n renderColumnContent: ioi => (ioi.oid ? formatUtils.formatDecimal(ioi.oid, 4) : constants.emptyPlaceholder),\r\n headerClassName: 'data-list-cell text-right',\r\n bodyClassName: 'data-list-cell text-right',\r\n },\r\n {\r\n columnKey: 'floaterIndex',\r\n renderColumnHeaderContent: () => 'Floater Index',\r\n renderColumnContent: ioi => ioi.floaterIndex,\r\n headerClassName: 'data-list-cell-sm',\r\n bodyClassName: 'data-list-cell-sm',\r\n },\r\n {\r\n columnKey: 'margin',\r\n renderColumnHeaderContent: () => 'Margin, %',\r\n renderColumnContent: ioi => (ioi.margin ? formatUtils.formatDecimal(ioi.margin) : constants.emptyPlaceholder),\r\n headerClassName: 'data-list-cell-sm text-right',\r\n bodyClassName: 'data-list-cell-sm text-right',\r\n },\r\n {\r\n columnKey: 'comment',\r\n renderColumnHeaderContent: () => 'Comment',\r\n renderColumnContent: ioi => {\r\n return (\r\n <>\r\n {ioi.comment ? (\r\n {ioi.comment}\r\n ) : (\r\n constants.emptyPlaceholder\r\n )}\r\n \r\n );\r\n },\r\n headerClassName: 'data-list-cell-lg',\r\n bodyClassName: 'data-list-cell-lg',\r\n },\r\n {\r\n columnKey: 'dateSubmitted',\r\n renderColumnHeaderContent: () => 'Date Submitted',\r\n renderColumnContent: ioi =>\r\n ioi.submitDate ? moment(ioi.submitDate).format(constants.dateTimeFormat) : constants.emptyPlaceholder,\r\n headerClassName: 'text-right data-list-cell-lg',\r\n bodyClassName: 'text-right data-list-cell-lg',\r\n },\r\n];\r\n\r\nexport const investorColumns = () => {\r\n const ioiColumnsDefinition: IColumnDefinition[] = [ioiSize, ...commonColumns];\r\n\r\n return [[], ioiColumnsDefinition.map(c => {\r\n return new ColumnBuilder(c);\r\n }), []]\r\n};\r\n\r\nexport const arrangerColumns = () => {\r\n const ioiColumnsDefinition: IColumnDefinition[] = [\r\n {\r\n columnKey: 'investor',\r\n renderColumnHeaderContent: () => 'Investor',\r\n renderColumnContent: ioi => {\r\n return ioi.companyLegalName ? (\r\n \r\n {ioi.companyLegalName}\r\n \r\n ) : (\r\n constants.emptyPlaceholder\r\n );\r\n },\r\n headerClassName: 'data-list-cell-xl',\r\n bodyClassName: 'data-list-cell-xl',\r\n },\r\n ioiSize,\r\n ioiSizePercent,\r\n ...commonColumns,\r\n ];\r\n\r\n return [[], ioiColumnsDefinition.map(c => {\r\n return new ColumnBuilder(c);\r\n }), []];\r\n};\r\n","import { useContext, useState } from \"react\";\r\nimport cn from 'classnames';\r\nimport { useSelector } from \"react-redux\";\r\nimport { createAmrPipelineActions } from \"../../../actions/amr-pipeline.actions\";\r\nimport { SORT, constants, roles } from \"../../../constants\";\r\nimport { OriginatingTransaction } from \"../../../types/amr-pipeline/models/OriginatingTransaction\";\r\nimport { AmrTransaction } from \"../../../types/amr-pipeline/models/AmrTransaction\";\r\nimport { AppState } from \"../../../types/state/AppState\";\r\nimport { PipelineView } from \"../types/PipelineView\";\r\nimport { OriginatingTransactionClass } from \"../../../types/amr-pipeline/models/OriginatingTransactionClass\";\r\nimport { AmrClass } from \"../../../types/amr-pipeline/models/AmrClass\";\r\nimport { ColumnBuilder } from \"../../bidding/common/table/columns/column-builder/ColumnBuilder\";\r\nimport { Table } from \"../../bidding/common/table\";\r\nimport { TransactionType } from \"../../../types/amr-pipeline/enums/TransactionType\";\r\nimport { amrColumns } from \"./deal-view/columns/amr-columns\";\r\nimport { newIssueColumns } from \"./deal-view/columns/new-issue-columns\";\r\nimport { BaseClass } from \"../../../types/amr-pipeline/models/BaseClass\";\r\nimport { LazyLoad } from \"../../common/LazyLoad\";\r\nimport { EmptyPlaceholder } from '../../common';\r\nimport { OriginatingTransactionClassStatus } from \"../../../types/amr-pipeline/enums/OriginatingTransactionClassStatus\";\r\nimport PipelineContext from './PipelineContext';\r\nimport { amrDealsSelector } from '../../../selectors/amr-pipeline.selector';\r\nimport { TableColumnStickType } from \"../../bidding/common/table/types/TableColumnStickType\";\r\nimport { SecurityListHeader } from \"../../common/security-list\";\r\nimport { StickyTableRow } from \"../../bidding/common/table/sticky/StickyTableRow\";\r\nimport { PipelineType } from \"../../../types/amr-pipeline/enums/PipelineType\";\r\nimport { user } from \"../../../user\";\r\nimport { arrangerColumns, investorColumns } from \"./iois/iois.columns\";\r\nimport { StickyTableCollapsibleRow } from \"../../bidding/common/table/sticky/StickyTableCollapsibleRow\";\r\nimport { InviteClientsTransactionPopup } from \"../common/InviteClientsTransactionPopup/InviteClientsTransactionPopup\";\r\nimport { IntexPopup } from \"../detailed/IntexPopup\";\r\nimport { IOI } from \"../../../types/amr-pipeline/models/IOI\";\r\nimport { TransactionAlertsPopup } from \"../common/transactionAlerts/TransactionAlertsPopup\";\r\nimport { SubscriptionFeature } from \"../../../types/billing/SubscriptionFeature\";\r\nimport { BlockedFeatureContent, SubscribeLink } from \"../../../components/access/BlockedFeatureText\";\r\nimport { useAppDispatch } from \"../../../effects/useAppDispatch\";\r\n\r\ninterface Props {\r\n dataItems: (\r\n | OriginatingTransaction\r\n | AmrTransaction\r\n | OriginatingTransactionClass\r\n | AmrClass\r\n )[];\r\n columns: ColumnBuilder[];\r\n className?: string;\r\n view?: PipelineView;\r\n}\r\n\r\nexport function PipelineList({\r\n dataItems,\r\n columns,\r\n className = '',\r\n view = PipelineView.Deal,\r\n}: Props) {\r\n const { pipelineType, setTab, optionColumnCollapseStatus, setOptionColumnCollapseStatus } = useContext(PipelineContext);\r\n\r\n const [transactionToShare, setTransactionToShare] = useState(null);\r\n const [transactionForIntex, setTransactionForIntex] = useState(null);\r\n const [transactionForAlerts, setTransactionForAlerts] = useState(null);\r\n\r\n const actions = createAmrPipelineActions(pipelineType);\r\n const dispatch = useAppDispatch();\r\n\r\n const isOptionsColumnCollapsed = optionColumnCollapseStatus[pipelineType as PipelineType.Deals | PipelineType.IOIs];\r\n\r\n const {\r\n dealSortDirection,\r\n classSortDirection,\r\n dealSortBy,\r\n classSortBy,\r\n hasMoreTransactionsClasses,\r\n hasMoreTransactions,\r\n isTransactionsSearching,\r\n isClassesSearching,\r\n isExpanded,\r\n numberOfHiddenTransactions,\r\n numberOfHiddenClasses,\r\n } = useSelector(amrDealsSelector(pipelineType));\r\n\r\n const { userCompany } = useSelector((state: AppState) => state.issuanceMonitor.amrPipelineCommon);\r\n\r\n const isDealView = view === PipelineView.Deal;\r\n const sortBy = isDealView ? dealSortBy : classSortBy;\r\n const sortDirection = isDealView ? dealSortDirection : classSortDirection;\r\n const isIOIsTab = pipelineType === PipelineType.IOIs;\r\n\r\n const isSellerTrader = user.hasRoles(roles.SellerTrader);\r\n const isSellerViewer = user.hasRoles(roles.SellerViewer);\r\n\r\n const isSeller = isSellerTrader || isSellerViewer;\r\n\r\n const withImSubscription = user.hasFeatures(SubscriptionFeature.IssuanceMonitorFullAccess);\r\n const nonVisibleCount = isDealView ? numberOfHiddenTransactions : numberOfHiddenClasses;\r\n const hasMoreItems = isDealView ? hasMoreTransactions : hasMoreTransactionsClasses;\r\n const hasInvisibleDeals = !hasMoreItems && !!(nonVisibleCount && nonVisibleCount > 0);\r\n\r\n function setExpand(expanded: boolean) {\r\n dispatch(actions.setExpanded(expanded));\r\n }\r\n\r\n function loadTransactions() {\r\n if (!isTransactionsSearching) dispatch(actions.loadTransactions());\r\n }\r\n\r\n function loadClasses() {\r\n if (!isClassesSearching) dispatch(actions.loadClasses());\r\n }\r\n\r\n const onSort = (field: string) => {\r\n const switchSorting = (sort: string) => sort === SORT.ASC ? SORT.DESC : SORT.ASC;\r\n\r\n if (isDealView) {\r\n dispatch(\r\n actions.dealSortingChanged(\r\n field,\r\n switchSorting(dealSortDirection),\r\n )\r\n );\r\n } else {\r\n dispatch(\r\n actions.classSortingChanged(\r\n field,\r\n switchSorting(classSortDirection),\r\n )\r\n );\r\n }\r\n\r\n dispatch(actions.applyFilterAndSearch());\r\n };\r\n\r\n const renderDealCollapsibleItem = (\r\n transaction: AmrTransaction | OriginatingTransaction,\r\n columnType?: TableColumnStickType,\r\n ) => {\r\n const context = { dispatch, userCompany, actions, setTab, transaction };\r\n const headerContext = { transaction };\r\n\r\n const [left, middle, right] = transaction.type === TransactionType.amr ? amrColumns() : newIssueColumns();\r\n\r\n let collapsibleColumns: ColumnBuilder[] | ColumnBuilder[] = [];\r\n\r\n if (columnType === TableColumnStickType.Left) {\r\n collapsibleColumns = left;\r\n }\r\n\r\n if (columnType === TableColumnStickType.Middle) {\r\n collapsibleColumns = middle;\r\n }\r\n\r\n if (columnType === TableColumnStickType.Right) {\r\n collapsibleColumns = right;\r\n }\r\n\r\n return (\r\n \r\n {(visible: boolean) => {\r\n if (!transaction.classes.length) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (!visible) {\r\n // Empty block with height to prevent twitch during scrolling\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {collapsibleColumns.map(c =>\r\n c.renderHeader(undefined, undefined, undefined, headerContext),\r\n )}\r\n \r\n {transaction.classes.map(tc =>\r\n isIOIsTab && columnType ? (\r\n \r\n renderClassCollapsibleItem(\r\n dataItem as OriginatingTransactionClass,\r\n columnType,\r\n )\r\n }\r\n />\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 renderClassCollapsibleItem = (tc?: OriginatingTransactionClass, columnType?: TableColumnStickType) => {\r\n if (pipelineType === PipelineType.Deals || !tc) {\r\n return null;\r\n }\r\n\r\n const context = { dispatch, isSeller, userCompany, actions, setTab };\r\n\r\n const [left, middle, right] = isSeller ? investorColumns() : arrangerColumns();\r\n let collapsibleColumns: ColumnBuilder[] = [];\r\n\r\n if (columnType === TableColumnStickType.Left) {\r\n collapsibleColumns = left;\r\n }\r\n\r\n if (columnType === TableColumnStickType.Middle) {\r\n collapsibleColumns = middle;\r\n }\r\n\r\n if (columnType === TableColumnStickType.Right) {\r\n collapsibleColumns = right;\r\n }\r\n\r\n const iois = tc.ioIs;\r\n\r\n return (\r\n \r\n {(visible: boolean) => {\r\n if (!iois || !iois.length) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (!visible) {\r\n // Empty block with height to prevent twitch during scrolling\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {collapsibleColumns.map(c =>\r\n c.renderHeader(),\r\n )}\r\n \r\n {iois.map(ioi => (\r\n \r\n ))}\r\n \r\n );\r\n }}\r\n \r\n )};\r\n\r\n const renderCollapsibleItem = () => {\r\n return isDealView ? renderDealCollapsibleItem : renderClassCollapsibleItem;\r\n }\r\n\r\n const renderLastRow = () => {\r\n if (!hasInvisibleDeals || withImSubscription) {\r\n return null;\r\n }\r\n\r\n const description = `to see ${nonVisibleCount} more ${isDealView ? 'deal(s)' : 'class(es)' }.`;\r\n\r\n return (\r\n {description}}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n return isDealView\r\n ? item.referenceName + item.dealReferenceName\r\n : item.referenceName + item.dealReferenceName + (item as BaseClass).transactionReferenceName\r\n }}\r\n createSecurityCustomClassName={isDealView\r\n ? null\r\n : (c: OriginatingTransactionClass) =>\r\n c.originatingTransactionClassStatus === OriginatingTransactionClassStatus.NotOffered ? 'sold-status' : ''\r\n }\r\n createHeaderCustomArgs={(item: OriginatingTransaction | AmrTransaction | BaseClass) => ({\r\n isOptionsColumnCollapsed: isOptionsColumnCollapsed,\r\n setIsOptionsColumnCollapsed: setOptionColumnCollapseStatus,\r\n })}\r\n createSecurityCustomArgs={(item: OriginatingTransaction | AmrTransaction | BaseClass) => ({\r\n dispatch,\r\n userCompany,\r\n actions,\r\n transactionReferenceName: (item as BaseClass).transactionReferenceName,\r\n setTransactionToShare,\r\n setTransactionForIntex,\r\n setTransactionForAlerts,\r\n setTab\r\n })}\r\n columns={columns}\r\n collapsible={isIOIsTab || isDealView}\r\n defaultExpandAll={isExpanded}\r\n onExpandAll={setExpand}\r\n renderCollapsibleItem={renderCollapsibleItem()}\r\n renderLastRow={renderLastRow}\r\n />\r\n {transactionToShare && (\r\n setTransactionToShare(null)}\r\n withGetTransaction={!isDealView || isIOIsTab}\r\n />\r\n )}\r\n {transactionForIntex &&\r\n setTransactionForIntex(null)}\r\n />\r\n }\r\n {transactionForAlerts &&\r\n setTransactionForAlerts(null)}\r\n transaction={transactionForAlerts}\r\n />\r\n }\r\n \r\n );\r\n}\r\n","import classNames from 'classnames';\r\nimport { user } from '../../../../../user';\r\nimport { IColumnDefinition } from \"../../../../bidding/common/table/types/ColumnDefinition\";\r\nimport { ColumnBuilder } from \"../../../../bidding/common/table/columns/column-builder/ColumnBuilder\";\r\nimport { constants, routes, roles } from \"../../../../../constants\";\r\nimport { formatUtils, moneyUtils, numericUtils } from \"../../../../../utils\";\r\nimport StatusLabel from \"../../../StatusLabel\";\r\nimport { AmrClass } from \"../../../../../types/amr-pipeline/models/AmrClass\";\r\nimport { NonAmrPeriod } from \"../../../common/NonAmrPeriod\";\r\nimport { OnHoverTooltip } from \"../../../../common\";\r\nimport { amrTrancheStatusTitles } from \"../../../../../types/amr-pipeline/enums/AmrTrancheStatus\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { BloombergLink } from \"../../../../common/BloombergLink\";\r\nimport { ValitanaLink } from \"../../../../common/ValitanaLink\";\r\nimport { BwicMonitorLink } from '../../../common/BwicMonitorLink';\r\nimport { BwicInventoryLink } from '../../../common/BwicInventoryLink';\r\nimport { AddToPortfolioLink } from '../../../common/AddToPortfolioLink';\r\n\r\nexport const amrColumns = () => {\r\n const isAdminOrDataEntryOrMedia = user.hasRoles(roles.Administrator, roles.DataEntry, roles.Media);\r\n\r\n const statsColumnDefinitions: IColumnDefinition[] = [\r\n {\r\n columnKey: \"auctionState\",\r\n renderColumnHeaderContent: () => \"Auction State\",\r\n renderColumnContent: (transactionClass) => (\r\n \r\n ),\r\n headerClassName: \"data-list-cell-lg\",\r\n bodyClassName: \"data-list-cell-lg cell-amr-status\",\r\n },\r\n {\r\n columnKey: \"className\",\r\n renderColumnHeaderContent: () => \"Class\",\r\n renderColumnContent: (transactionClass) => (\r\n \r\n \r\n {transactionClass.name}\r\n \r\n \r\n ),\r\n },\r\n {\r\n columnKey: \"rating\",\r\n renderColumnHeaderContent: () => \"Rtg (M/S/F/K/D)\",\r\n renderColumnContent: (transactionClass) =>\r\n `${transactionClass.ratingMoodys || constants.emptyPlaceholder\r\n }/${transactionClass.ratingSnP || constants.emptyPlaceholder\r\n }/${transactionClass.ratingFitch || constants.emptyPlaceholder\r\n }/${transactionClass.ratingKbra || constants.emptyPlaceholder\r\n }/${transactionClass.ratingDbrs || constants.emptyPlaceholder\r\n }`,\r\n className: \"data-list-cell-xl\",\r\n },\r\n {\r\n columnKey: \"balance\",\r\n renderColumnHeaderContent: () => \"Balance\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.balance != null && numericUtils.isNumber(transactionClass.balance)\r\n ? moneyUtils.money(transactionClass.balance)\r\n : constants.emptyPlaceholder,\r\n className: \"data-list-cell-sm text-right\",\r\n },\r\n {\r\n columnKey: \"margin\",\r\n renderColumnHeaderContent: () => \"Margin, %\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.margin\r\n ? formatUtils.formatMargin(transactionClass.margin)\r\n : constants.emptyPlaceholder,\r\n className: \"text-right\",\r\n },\r\n {\r\n columnKey: \"factor\",\r\n renderColumnHeaderContent: () => \"Factor\",\r\n renderColumnContent: (transactionClass) =>\r\n formatUtils.formatFactor(transactionClass.factor) ||\r\n constants.emptyPlaceholder,\r\n className: \"data-list-cell-xs text-right\",\r\n },\r\n {\r\n columnKey: \"capMargin\",\r\n renderColumnHeaderContent: () => (\r\n \r\n Cap Margin, %\r\n \r\n ),\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.capMargin\r\n ? formatUtils.formatMargin(transactionClass.capMargin)\r\n : constants.emptyPlaceholder,\r\n className: \"data-list-cell-sm text-right\",\r\n },\r\n {\r\n columnKey: \"nonAmr\",\r\n renderColumnHeaderContent: () => (\r\n \r\n Non-AMR\r\n \r\n ),\r\n renderColumnContent: (transactionClass) => (\r\n \r\n ),\r\n },\r\n {\r\n columnKey: \"ticker\",\r\n renderColumnHeaderContent: () => \"Ticker (144A)\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.class.ticker144A || constants.emptyPlaceholder,\r\n className: \"data-list-cell-lg\",\r\n },\r\n {\r\n columnKey: \"cusip\",\r\n renderColumnHeaderContent: () => \"CUSIP (144A)\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.class?.cusip144A || constants.emptyPlaceholder,\r\n className: \"data-list-cell-md\",\r\n },\r\n {\r\n columnKey: \"isin\",\r\n renderColumnHeaderContent: () => \"ISIN (144A)\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.class?.isin144A || constants.emptyPlaceholder,\r\n className: \"data-list-cell-md\",\r\n },\r\n {\r\n columnKey: \"tickerRegS\",\r\n renderColumnHeaderContent: () => \"Ticker (Reg S)\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.class?.tickerRegS || constants.emptyPlaceholder,\r\n className: \"data-list-cell-lg\",\r\n },\r\n {\r\n columnKey: \"cusipRegS\",\r\n renderColumnHeaderContent: () => \"CUSIP (Reg S)\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.class?.cusipRegS || constants.emptyPlaceholder,\r\n className: \"data-list-cell-md\",\r\n },\r\n {\r\n columnKey: \"isinRegS\",\r\n renderColumnHeaderContent: () => \"ISIN (Reg S)\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.class?.isinRegS || constants.emptyPlaceholder,\r\n className: \"data-list-cell-md\",\r\n },\r\n {\r\n columnKey: \"tickerAccdInvCertif\",\r\n renderColumnHeaderContent: () => \"Ticker (Acc’d Inv./Certif.)\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.class?.tickerAccdInvCertif || constants.emptyPlaceholder,\r\n className: \"data-list-cell-lg-02\",\r\n },\r\n {\r\n columnKey: \"cusipAccdInvestor\",\r\n renderColumnHeaderContent: () => \"CUSIP (Acc’d Inv./Certif.)\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.class?.cusipAccdInvCertif || constants.emptyPlaceholder,\r\n className: \"data-list-cell-lg-02\",\r\n },\r\n {\r\n columnKey: \"isinAccdInvestor\",\r\n renderColumnHeaderContent: () => \"ISIN (Acc’d Inv./Certif.)\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.class?.isinAccdInvCertif || constants.emptyPlaceholder,\r\n className: \"data-list-cell-lg-02\",\r\n },\r\n ];\r\n\r\n const actionsColumn: IColumnDefinition[] = [\r\n {\r\n columnKey: 'emptyCol',\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: () => '',\r\n className: 'data-list-cell-xxxs',\r\n stickRight: true,\r\n },\r\n {\r\n columnKey: 'actions',\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: (transactionClass, context) => (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
e.stopPropagation()}>\r\n \r\n
\r\n
e.stopPropagation()}>\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n ),\r\n className: classNames(\r\n {\r\n 'data-list-cell-lg-02': isAdminOrDataEntryOrMedia,\r\n 'data-list-cell-md-flexible': !isAdminOrDataEntryOrMedia,\r\n },\r\n 'data-list-cell-bloomberg-menu data-list-cell-actions overflow-visible text-right',\r\n ),\r\n stickRight: true,\r\n },\r\n ];\r\n\r\n const middleColumns = statsColumnDefinitions.map(c => {\r\n return new ColumnBuilder(c);\r\n });\r\n\r\n const rightColumns = actionsColumn.map(c => {\r\n return new ColumnBuilder(c);\r\n });\r\n\r\n return [[], middleColumns, rightColumns];\r\n};\r\n","import React from \"react\";\r\nimport classNames from 'classnames';\r\nimport { user } from '../../../../../user';\r\nimport { IColumnDefinition } from \"../../../../bidding/common/table/types/ColumnDefinition\";\r\nimport { ColumnBuilder } from \"../../../../bidding/common/table/columns/column-builder/ColumnBuilder\";\r\nimport { constants, roles } from \"../../../../../constants\";\r\nimport { amrFormatUtils, formatUtils, moneyUtils, numericUtils } from \"../../../../../utils\";\r\nimport { OriginatingTransactionClass } from \"../../../../../types/amr-pipeline/models/OriginatingTransactionClass\";\r\nimport { OnHoverTooltip } from \"../../../../common\";\r\nimport { OverlayClassNameContent } from \"../../../common/OverlayClassNameContent\";\r\nimport { constants as amrConstants } from \"../../../common/constants\";\r\nimport { OriginatingTransactionClassStatus, transactionClassStatusTitles } from \"../../../../../types/amr-pipeline/enums/OriginatingTransactionClassStatus\";\r\nimport { LastUpdatedPopover } from '../../LastUpdatedPopover';\r\nimport { RequiredFeature } from \"../../../../access/RequiredFeature\";\r\nimport { SubscriptionFeature } from \"../../../../../types/billing/SubscriptionFeature\";\r\nimport { BloombergLink } from \"../../../../common/BloombergLink\";\r\nimport { AmrTransaction } from \"../../../../../types/amr-pipeline/models/AmrTransaction\";\r\nimport { OriginatingTransaction } from \"../../../../../types/amr-pipeline/models/OriginatingTransaction\";\r\nimport { ValitanaLink } from \"../../../../common/ValitanaLink\";\r\nimport { ImSubscriptionValue } from '../../../subscription/ImSubscriptionValue';\r\nimport { BwicMonitorLink } from \"../../../common/BwicMonitorLink\";\r\nimport { BwicInventoryLink } from \"../../../common/BwicInventoryLink\";\r\nimport { AddToPortfolioLink } from \"../../../common/AddToPortfolioLink\";\r\n\r\nexport const newIssueColumns = () => {\r\n const isAdminOrDataEntryOrMedia = user.hasRoles(roles.Administrator, roles.DataEntry, roles.Media);\r\n\r\n const statsColumnDefinitions: IColumnDefinition[] = [\r\n {\r\n columnKey: \"className\",\r\n renderColumnHeaderContent: () => \"Class\",\r\n renderColumnContent: (transactionClass) => (\r\n \r\n }\r\n >\r\n \r\n {`${transactionClass.name} ${\r\n transactionClass.originatingTransactionClassStatus ===\r\n OriginatingTransactionClassStatus.NotOffered\r\n ? amrConstants.notOffered\r\n : \"\"\r\n }`}\r\n \r\n \r\n ),\r\n },\r\n {\r\n columnKey: \"rating\",\r\n renderColumnHeaderContent: () => \"Rtg (M/S/F/K/D)\",\r\n renderColumnContent: (transactionClass) =>\r\n amrFormatUtils.formatRating(transactionClass),\r\n className: \"data-list-cell-xl\",\r\n },\r\n {\r\n columnKey: \"balance\",\r\n renderColumnHeaderContent: () => \"Balance\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.balance != null && numericUtils.isNumber(transactionClass.balance)\r\n ? moneyUtils.money(transactionClass.balance)\r\n : constants.emptyPlaceholder,\r\n className: \"data-list-cell-sm text-right\",\r\n },\r\n {\r\n columnKey: \"parSubordination\",\r\n renderColumnHeaderContent: () => \"C/E, %\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.parSubordination\r\n ? formatUtils.formatDecimal(\r\n transactionClass.parSubordination\r\n )\r\n : constants.emptyPlaceholder,\r\n className: \"data-list-cell-sm text-right\",\r\n },\r\n {\r\n columnKey: \"mvoc\",\r\n renderColumnHeaderContent: () => \"MVOC, %\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.mvoc\r\n ? formatUtils.formatDecimal(transactionClass.mvoc)\r\n : constants.emptyPlaceholder,\r\n className: \"data-list-cell-sm text-right\",\r\n },\r\n {\r\n columnKey: \"wal\",\r\n renderColumnHeaderContent: () => \"WAL\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.wal\r\n ? formatUtils.formatDecimal(transactionClass.wal)\r\n : constants.emptyPlaceholder,\r\n className: \"data-list-cell-sm text-right\",\r\n },\r\n {\r\n columnKey: \"coupon\",\r\n renderColumnHeaderContent: () => \"Coupon\",\r\n renderColumnContent: ({ floaterIndex, margin}) =>\r\n amrFormatUtils.formatInventoryCoupon(floaterIndex, margin),\r\n className: \"data-list-cell-md\",\r\n },\r\n {\r\n columnKey: \"dm\",\r\n renderColumnHeaderContent: () => \"DM, bps\",\r\n renderColumnContent: (transactionClass, { transaction }) =>\r\n \r\n {transactionClass.dm ?? constants.emptyPlaceholder}\r\n ,\r\n className: \"data-list-cell text-right\",\r\n },\r\n {\r\n columnKey: \"initialPrice\",\r\n renderColumnHeaderContent: () => Initial Price,\r\n renderColumnContent: (transactionClass, { transaction }) => (\r\n \r\n { transactionClass.initialPrice ?\r\n \r\n {transactionClass.initialPrice}\r\n \r\n : constants.emptyPlaceholder\r\n }\r\n \r\n ),\r\n className: \"data-list-cell-sm text-right\",\r\n },\r\n {\r\n columnKey: \"price\",\r\n renderColumnHeaderContent: () => \"Price\",\r\n renderColumnContent: (transactionClass, { transaction }) => (\r\n \r\n { transactionClass.price ?\r\n \r\n {transactionClass.price}\r\n \r\n : constants.emptyPlaceholder\r\n }\r\n \r\n ),\r\n className: \"data-list-cell-sm text-right\",\r\n },\r\n {\r\n columnKey: \"initialGuidance\",\r\n renderColumnHeaderContent: () => Initial Guidance,\r\n renderColumnContent: (transactionClass, { transaction }) => (\r\n \r\n { transactionClass.initialGuidance ?\r\n \r\n {transactionClass.initialGuidance}\r\n \r\n : constants.emptyPlaceholder\r\n }\r\n \r\n ),\r\n className: \"data-list-cell-sm\",\r\n },\r\n {\r\n columnKey: \"guidance\",\r\n renderColumnHeaderContent: ({ transaction } : {\r\n transaction: AmrTransaction | OriginatingTransaction\r\n }) => {\r\n const withGuidance = transaction.classes.some(c => c.guidance);\r\n return withGuidance ? (\r\n 'Guidance'}\r\n >\r\n \r\n \r\n Guidance\r\n \r\n \r\n \r\n ) : (\r\n Guidance\r\n )\r\n },\r\n renderColumnContent: (transactionClass, { transaction }) => (\r\n \r\n { transactionClass.guidance ?\r\n \r\n {transactionClass.guidance}\r\n \r\n : constants.emptyPlaceholder\r\n }\r\n \r\n ),\r\n className: \"data-list-cell-sm\",\r\n },\r\n {\r\n columnKey: \"originatingTransactionClassStatus\",\r\n renderColumnHeaderContent: () => \"Class Status\",\r\n renderColumnContent: (transactionClass, { transaction }) =>\r\n \r\n { transactionClass.originatingTransactionClassStatus\r\n ? transactionClassStatusTitles[transactionClass.originatingTransactionClassStatus]\r\n : constants.emptyPlaceholder\r\n }\r\n ,\r\n className: \"data-list-cell-sm\",\r\n },\r\n {\r\n columnKey: \"subscription\",\r\n renderColumnHeaderContent: ({ transaction }: {\r\n transaction: AmrTransaction | OriginatingTransaction\r\n }) => {\r\n const withSubscription = transaction.classes.some(c => (c as OriginatingTransactionClass).subscription);\r\n return withSubscription ? (\r\n 'Subscription'}\r\n >\r\n \r\n \r\n Subscription\r\n \r\n \r\n \r\n ) : (\r\n Subscription\r\n )\r\n },\r\n renderColumnContent: (transactionClass, { transaction }) => (\r\n \r\n { transactionClass.subscription ?\r\n \r\n {transactionClass.subscription}\r\n \r\n : constants.emptyPlaceholder\r\n }\r\n \r\n ),\r\n className: \"data-list-cell-sm\",\r\n },\r\n {\r\n columnKey: \"target\",\r\n renderColumnHeaderContent: () => \"O/C Target, %\",\r\n renderColumnContent: (transactionClass) =>\r\n formatUtils.formatDecimal(transactionClass.ocTarget) ||\r\n constants.emptyPlaceholder,\r\n className: \"data-list-cell-sm text-right\",\r\n },\r\n {\r\n columnKey: \"trigger\",\r\n renderColumnHeaderContent: () => \"O/C Trigger, %\",\r\n renderColumnContent: (transactionClass) =>\r\n formatUtils.formatDecimal(transactionClass.ocTrigger) ||\r\n constants.emptyPlaceholder,\r\n className: \"data-list-cell-sm text-right\",\r\n },\r\n {\r\n columnKey: \"cushion\",\r\n renderColumnHeaderContent: () => \"O/C Cushion, %\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.ocCushion\r\n ? formatUtils.formatDecimal(transactionClass.ocCushion)\r\n : constants.emptyPlaceholder,\r\n className: \"data-list-cell-sm text-right\",\r\n },\r\n {\r\n columnKey: \"ticker\",\r\n renderColumnHeaderContent: () => \"Ticker (144A)\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.tranche?.ticker144A || constants.emptyPlaceholder,\r\n className: \"data-list-cell-lg\",\r\n },\r\n {\r\n columnKey: \"cusip\",\r\n renderColumnHeaderContent: () => \"CUSIP (144A)\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.tranche?.cusip144A || constants.emptyPlaceholder,\r\n className: \"data-list-cell-md\",\r\n },\r\n {\r\n columnKey: \"isin\",\r\n renderColumnHeaderContent: () => \"ISIN (144A)\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.tranche?.isin144A || constants.emptyPlaceholder,\r\n className: \"data-list-cell-sm\",\r\n },\r\n {\r\n columnKey: \"tickerRegS\",\r\n renderColumnHeaderContent: () => \"Ticker (Reg S)\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.tranche?.tickerRegS || constants.emptyPlaceholder,\r\n className: \"data-list-cell-lg\",\r\n },\r\n {\r\n columnKey: \"cusipRegS\",\r\n renderColumnHeaderContent: () => \"CUSIP (Reg S)\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.tranche?.cusipRegS || constants.emptyPlaceholder,\r\n className: \"data-list-cell-md\",\r\n },\r\n {\r\n columnKey: \"isinRegS\",\r\n renderColumnHeaderContent: () => \"ISIN (Reg S)\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.tranche?.isinRegS || constants.emptyPlaceholder,\r\n className: \"data-list-cell-md\",\r\n },\r\n {\r\n columnKey: \"tickerAccdInvCertif\",\r\n renderColumnHeaderContent: () => \"Ticker (Acc’d Inv./Certif.)\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.tranche?.tickerAccdInvCertif || constants.emptyPlaceholder,\r\n className: \"data-list-cell-lg-02\",\r\n },\r\n {\r\n columnKey: \"cusipAccdInvestor\",\r\n renderColumnHeaderContent: () => \"CUSIP (Acc’d Inv./Certif.)\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.tranche?.cusipAccdInvCertif || constants.emptyPlaceholder,\r\n className: \"data-list-cell-lg-02\",\r\n },\r\n {\r\n columnKey: \"isinAccdInvestor\",\r\n renderColumnHeaderContent: () => \"ISIN (Acc’d Inv./Certif.)\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.tranche?.isinAccdInvCertif || constants.emptyPlaceholder,\r\n className: \"data-list-cell-lg-02\",\r\n },\r\n ];\r\n\r\n const actionsColumn: IColumnDefinition[] = [\r\n {\r\n columnKey: 'emptyCol',\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: () => '',\r\n className: 'data-list-cell-xxxs',\r\n stickRight: true,\r\n },\r\n {\r\n columnKey: 'actions',\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: (transactionClass, context) => (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
e.stopPropagation()}>\r\n \r\n
\r\n
e.stopPropagation()}>\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n ),\r\n className: classNames(\r\n {\r\n 'data-list-cell-lg-02': isAdminOrDataEntryOrMedia,\r\n 'data-list-cell-md-flexible': !isAdminOrDataEntryOrMedia,\r\n },\r\n 'data-list-cell-bloomberg-menu overflow-visible text-right',\r\n ),\r\n stickRight: true,\r\n },\r\n ];\r\n\r\n const middleColumns = statsColumnDefinitions.map((c) => {\r\n return new ColumnBuilder(c);\r\n });\r\n\r\n const rightColumns = actionsColumn.map((c) => {\r\n return new ColumnBuilder(c);\r\n });\r\n\r\n return [[], middleColumns, rightColumns];\r\n};\r\n","import { useContext } from 'react';\r\nimport { createAmrPipelineActions, createSearchTransactionActions } from '../../../actions';\r\nimport { roles } from '../../../constants';\r\nimport { PipelineType } from '../../../types/amr-pipeline/enums/PipelineType';\r\nimport { TransactionStatus } from '../../../types/amr-pipeline/enums/TransactionStatus';\r\nimport { TransactionType, TransactionTypes } from '../../../types/amr-pipeline/enums/TransactionType';\r\nimport { ShowFor } from '../../access';\r\nimport { EmptyPlaceholder } from '../../common'\r\nimport PipelineContext from './PipelineContext';\r\nimport { createFilterActions } from '../../../actions/filter.actions';\r\nimport { useAppDispatch } from '../../../effects/useAppDispatch';\r\n\r\ninterface Props {\r\n onRedirect: () => void;\r\n}\r\n\r\nconst createRedirectFilters = () => {\r\n const types = [TransactionType.newIssue, TransactionType.refi, TransactionType.reset];\r\n\r\n return {\r\n statuses: [{\r\n value: TransactionStatus.Active,\r\n text: TransactionStatus.Active,\r\n }],\r\n transactionTypes: types.map(type => ({\r\n value: type,\r\n text: TransactionTypes.find(x => x.value === type)?.text || ''\r\n })),\r\n };\r\n};\r\n\r\nconst redirectFilter = createRedirectFilters();\r\n\r\nexport const PipelineEmptyPlaceholder = ({ onRedirect }: Props) => {\r\n const dispatch = useAppDispatch();\r\n const { pipelineType } = useContext(PipelineContext);\r\n\r\n // Link should change state in Deals tab only\r\n const amrPipelineActions = createAmrPipelineActions(PipelineType.Deals);\r\n const searchTransactionsActions = createSearchTransactionActions(PipelineType.Deals);\r\n const filterActions = createFilterActions(PipelineType.Deals);\r\n\r\n const handleViewTransactionsClick = () => {\r\n onRedirect();\r\n dispatch(amrPipelineActions.reset());\r\n dispatch(searchTransactionsActions.reset());\r\n\r\n dispatch(\r\n filterActions.setRedirectFilters(redirectFilter)\r\n );\r\n\r\n dispatch(amrPipelineActions.init());\r\n }\r\n\r\n if (pipelineType === PipelineType.Deals) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n

\r\n No transactions with submitted IOIs yet.\r\n
\r\n Press the button below to view the transactions available for IOIs submission.\r\n

\r\n \r\n
\r\n \r\n No transactions with submitted IOIs yet.\r\n \r\n
\r\n );\r\n}\r\n","import React from 'react';\r\nimport { OriginatingTransaction } from '../../../../types/amr-pipeline/models/OriginatingTransaction';\r\nimport { commonPipelineColumns } from './columns/common-columns';\r\nimport { PipelineList } from '../PipelineList';\r\nimport { AmrTransaction } from '../../../../types/amr-pipeline/models/AmrTransaction';\r\nimport { UserConfigColumn } from '../../../../types/user-config/UserConfigColumn';\r\nimport { PipelineEmptyPlaceholder } from '../PipelineEmptyPlaceholder';\r\n\r\ninterface Props {\r\n columnsConfig: UserConfigColumn[];\r\n transactions: (OriginatingTransaction | AmrTransaction)[];\r\n onRedirect: () => void;\r\n}\r\n\r\nexport const DealView = ({ columnsConfig, transactions, onRedirect }: Props) => {\r\n return transactions.length\r\n ? \r\n : \r\n};\r\n","import { Dispatch } from \"react\";\r\nimport { createAmrPipelineActions } from \"../../../../../actions\";\r\nimport { constants, pipelineColumnLabels } from \"../../../../../constants\";\r\nimport IconSVG from \"../../../../../styles/svg-icons\";\r\nimport { OriginatingTransactionClassStatus } from \"../../../../../types/amr-pipeline/enums/OriginatingTransactionClassStatus\";\r\nimport { PipelineType } from \"../../../../../types/amr-pipeline/enums/PipelineType\";\r\nimport { TransactionStatus } from \"../../../../../types/amr-pipeline/enums/TransactionStatus\";\r\nimport { TransactionType } from \"../../../../../types/amr-pipeline/enums/TransactionType\";\r\nimport { AmrClass } from \"../../../../../types/amr-pipeline/models/AmrClass\";\r\nimport { AmrTransaction } from \"../../../../../types/amr-pipeline/models/AmrTransaction\";\r\nimport { Company } from \"../../../../../types/amr-pipeline/models/Company\";\r\nimport { OriginatingTransaction } from \"../../../../../types/amr-pipeline/models/OriginatingTransaction\";\r\nimport { OriginatingTransactionClass } from \"../../../../../types/amr-pipeline/models/OriginatingTransactionClass\";\r\nimport { isBrokerDealersOwnTransaction } from \"../../../../../utils/amr-pipeline.utils\";\r\nimport { IColumnDefinition } from \"../../../../bidding/common/table/types/ColumnDefinition\";\r\nimport { OnHoverTooltip } from \"../../../../common\";\r\nimport { TransactionHistoryLink } from \"../../../common/TransactionHistoryLink\";\r\nimport { PipelineColumn } from \"../../../types/PipelineColumn\";\r\nimport { IssuanceMonitorTab } from \"../../../types/PipelineTabTypes\";\r\nimport { IntexButton } from \"../../IntexButton/IntexButton\";\r\nimport { OptionsButton } from \"../../OptionsButton\";\r\nimport { ImSubscriptionActionBlocker } from \"../../../subscription/ImSubscriptionActionBlocker\";\r\nimport { BloombergLink } from \"../../../../common/BloombergLink\";\r\nimport { ValitanaLink } from \"../../../../common/ValitanaLink\";\r\nimport { TransactionAlertsButton } from \"../../../common/transactionAlerts/TransactionAlertsButton\";\r\nimport { BwicMonitorLink } from \"../../../common/BwicMonitorLink\";\r\nimport { BwicInventoryLink } from \"../../../common/BwicInventoryLink\";\r\nimport { AddToPortfolioLink } from \"../../../common/AddToPortfolioLink\";\r\n\r\nexport const shareOptionColumnDefinition: IColumnDefinition<\r\n OriginatingTransactionClass | AmrClass\r\n> = {\r\n columnKey: PipelineColumn.shareOption,\r\n renderColumnHeaderContent: () => \"\",\r\n renderColumnContent: (\r\n transactionClass,\r\n context: {\r\n userCompany: Company;\r\n setTransactionToShare: (\r\n transaction: OriginatingTransaction | AmrTransaction\r\n ) => void;\r\n }\r\n ) => {\r\n const { userCompany, setTransactionToShare } = context;\r\n const showShare = isBrokerDealersOwnTransaction(\r\n transactionClass.transaction,\r\n userCompany\r\n );\r\n\r\n return (\r\n
\r\n
\r\n {showShare ? (\r\n \r\n {\r\n e.stopPropagation();\r\n setTransactionToShare(transactionClass.transaction);\r\n }}\r\n className=\"btn-link\"\r\n >\r\n \r\n
\r\n \r\n ) : {constants.emptyPlaceholder}}\r\n
\r\n \r\n );\r\n },\r\n headerClassName: \"data-list-cell-xxxs data-list-cell-actions padding-r-0 text-right\",\r\n bodyClassName: \"data-list-cell-xxxs data-list-cell-actions padding-r-0 text-right\",\r\n stickRight: true,\r\n};\r\n\r\nexport const optionsColumnDefinition: IColumnDefinition<\r\n OriginatingTransactionClass | AmrClass\r\n> = {\r\n columnKey: PipelineColumn.optionsAction,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.options],\r\n renderColumnContent: (\r\n transactionClass,\r\n context: {\r\n userCompany: Company;\r\n dispatch: Dispatch;\r\n setTab: (tab: IssuanceMonitorTab) => void;\r\n setTransactionForIntex: (\r\n transaction: OriginatingTransaction\r\n ) => void;\r\n setTransactionForAlerts: (\r\n transaction: OriginatingTransaction\r\n ) => void;\r\n }\r\n ) => {\r\n const { userCompany, dispatch, setTab, setTransactionForIntex, setTransactionForAlerts } =\r\n context;\r\n const { transaction } = transactionClass as OriginatingTransactionClass;\r\n const {\r\n referenceName,\r\n dealReferenceName,\r\n dealLegalName,\r\n numberOfDealPublishedTransactions,\r\n status,\r\n type,\r\n version,\r\n } = transaction;\r\n const isOriginatingTransaction = type !== TransactionType.amr;\r\n const showHistory =\r\n status !== TransactionStatus.Draft && isOriginatingTransaction;\r\n\r\n const actions = createAmrPipelineActions(PipelineType.Deals);\r\n\r\n const transactionWithClass = {\r\n ...transaction,\r\n classes: [transactionClass],\r\n } as OriginatingTransaction | AmrTransaction;\r\n\r\n const classIdentifiers = isOriginatingTransaction ? (transactionClass as OriginatingTransactionClass).tranche : (transactionClass as AmrClass).class\r\n\r\n return (\r\n
\r\n
\r\n {numberOfDealPublishedTransactions > 1 ? (\r\n \r\n {blocked => (\r\n \r\n {\r\n setTab(IssuanceMonitorTab.Deals);\r\n dispatch(\r\n actions.changeDealSelectFromTable(dealLegalName, dealReferenceName),\r\n );\r\n }}\r\n className=\"btn-link\"\r\n >\r\n \r\n \r\n \r\n )}\r\n \r\n ) : (\r\n {constants.emptyPlaceholder}\r\n )}\r\n
\r\n
\r\n {isOriginatingTransaction && status !== TransactionStatus.Closed ? (\r\n
e.stopPropagation()}>\r\n setTransactionForAlerts(transaction)}\r\n />\r\n
\r\n ) : (\r\n {constants.emptyPlaceholder}\r\n )}\r\n
\r\n
\r\n {showHistory ? (\r\n \r\n {blocked => (\r\n
e.stopPropagation()}>\r\n \r\n
\r\n )}\r\n
\r\n ) : (\r\n {constants.emptyPlaceholder}\r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n },\r\n headerClassName: \"data-list-cell-actions-wrap padding-r-0 data-list-cell-actions text-right\",\r\n bodyClassName: \"data-list-cell-actions-wrap padding-r-0 data-list-cell-actions text-right\",\r\n stickRight: true,\r\n};\r\n\r\nexport const optionsButtonColumnDefinition: IColumnDefinition<\r\n OriginatingTransactionClass | AmrClass\r\n> = {\r\n columnKey: PipelineColumn.optionButton,\r\n renderColumnHeaderContent: () => \"\",\r\n renderColumnContent: (\r\n transactionClass,\r\n context: {\r\n userCompany: Company;\r\n }\r\n ) => {\r\n const { userCompany } = context;\r\n const { transaction, originatingTransactionClassStatus, numberOfIOIs } =\r\n transactionClass as OriginatingTransactionClass;\r\n\r\n const isAllowedClassStatus = ![\r\n OriginatingTransactionClassStatus.NotOffered,\r\n OriginatingTransactionClassStatus.Subject,\r\n ].includes(originatingTransactionClassStatus);\r\n\r\n if (!isAllowedClassStatus) {\r\n return null;\r\n }\r\n\r\n return (\r\n e.stopPropagation()}>\r\n \r\n \r\n );\r\n },\r\n headerClassName: \"data-list-cell-sm-01 padding-l-0 data-list-cell-actions-btn text-right\",\r\n bodyClassName: \"data-list-cell-sm-01 padding-l-0 data-list-cell-actions-btn text-right\",\r\n stickRight: true,\r\n};\r\n","import moment from \"moment\";\r\nimport { capitalize, isNil, startCase } from \"lodash\";\r\nimport { IColumnDefinition } from \"../../../../bidding/common/table/types/ColumnDefinition\";\r\nimport { ColumnBuilder } from \"../../../../bidding/common/table/columns/column-builder/ColumnBuilder\";\r\nimport { constants, routes, pipelineColumnLabels, pipelineTooltipText, roles } from \"../../../../../constants\";\r\nimport {\r\n dateTimeUtils,\r\n formatUtils,\r\n moneyUtils,\r\n numericUtils,\r\n amrFormatUtils,\r\n} from \"../../../../../utils\";\r\nimport StatusLabel from \"../../../StatusLabel\";\r\nimport { OriginatingTransactionClass } from \"../../../../../types/amr-pipeline/models/OriginatingTransactionClass\";\r\nimport { AmrClass } from \"../../../../../types/amr-pipeline/models/AmrClass\";\r\nimport { TransactionType } from \"../../../../../types/amr-pipeline/enums/TransactionType\";\r\nimport { NonAmrPeriod } from \"../../../common/NonAmrPeriod\";\r\nimport { canViewTransactionDetails, getTransactionDetailsUrl, hasLimitedAccess } from \"../../../../../utils/amr-pipeline.utils\";\r\nimport { OnHoverTooltip } from \"../../../../common\";\r\nimport { OverlayClassNameContent } from \"../../../common/OverlayClassNameContent\";\r\nimport { PipelineColumn } from '../../../types/PipelineColumn';\r\nimport { UserConfigColumn } from '../../../../../types/user-config/UserConfigColumn';\r\nimport { transactionStatusTitles } from \"../../../../../types/amr-pipeline/enums/TransactionStatus\";\r\nimport { constants as amrConstants } from \"../../../common/constants\";\r\nimport { Popover } from \"../../../../controls\";\r\nimport { NewDebutAmrLabel } from \"../../../common/NewDebutAmrLabel\";\r\nimport { MarkdownViewer, renderMarkdownOrEmpty } from '../../../../common/markdown-editor';\r\nimport IconSVG from \"../../../../../styles/svg-icons\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { OriginatingTransactionClassStatus, transactionClassStatusTitles } from \"../../../../../types/amr-pipeline/enums/OriginatingTransactionClassStatus\";\r\nimport { LastUpdatedPopover } from '../../LastUpdatedPopover';\r\nimport { DealUpdatesPopover } from \"../../DealUpdatesPopover\";\r\nimport { optionsButtonColumnDefinition, optionsColumnDefinition, shareOptionColumnDefinition } from \"./optionsColumn\";\r\nimport { collapseStickRightColumn } from \"../../../../bidding/common/table/CollapseStickRightColumn\";\r\nimport { user } from \"../../../../../user\";\r\nimport { ImSubscriptionActionBlocker } from \"../../../subscription/ImSubscriptionActionBlocker\";\r\nimport { ManagerLink } from '../../../common/ManagerLink';\r\nimport { OriginatingTransaction } from '../../../../../types/amr-pipeline/models/OriginatingTransaction';\r\nimport { ImSubscriptionValue } from '../../../subscription/ImSubscriptionValue';\r\nimport { BankLink } from \"../../../common/BankLink\";\r\n\r\nexport const classesColumns = (columnsConfig: UserConfigColumn[]) => {\r\n const fixedColumnDefinitions: IColumnDefinition<\r\n OriginatingTransactionClass | AmrClass\r\n >[] = [\r\n {\r\n columnKey: PipelineColumn.isNew,\r\n renderColumnHeaderContent: () => \"\",\r\n renderColumnContent: (transactionClass: AmrClass | OriginatingTransactionClass) =>\r\n ,\r\n stickLeft: true,\r\n className: \"data-list-cell-xxs-02\",\r\n }\r\n ];\r\n\r\n const classesColumnDefinitions: IColumnDefinition<\r\n OriginatingTransactionClass | AmrClass\r\n >[] = [\r\n {\r\n columnKey: PipelineColumn.lastUpdated,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.lastUpdated],\r\n renderColumnContent: (transactionClass) => (\r\n \r\n {blocked => {\r\n const {\r\n referenceName,\r\n dealReferenceName,\r\n dealLegalName,\r\n lastUpdated,\r\n type,\r\n status,\r\n version,\r\n } = transactionClass.transaction;\r\n\r\n const dealUpdates = (transactionClass.transaction as OriginatingTransaction).dealUpdates;\r\n\r\n return (\r\n \r\n );\r\n }}\r\n \r\n ),\r\n sortingField: PipelineColumn.lastUpdated,\r\n stickLeft: true,\r\n className: \"data-list-cell-sm\",\r\n },\r\n {\r\n columnKey: PipelineColumn.dealName,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.dealName],\r\n renderColumnContent: (transactionClass) => {\r\n const { transaction, dealLegalName } = transactionClass;\r\n\r\n return (\r\n
\r\n
\r\n \r\n {(transaction.type === TransactionType.amr || canViewTransactionDetails()) ? (\r\n \r\n {dealLegalName}\r\n \r\n ) : dealLegalName}\r\n \r\n
\r\n
\r\n );\r\n },\r\n sortingField: PipelineColumn.dealName,\r\n className: \"data-list-cell-xl-xxl\",\r\n stickLeft: true,\r\n },\r\n {\r\n columnKey: PipelineColumn.className,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.className],\r\n renderColumnContent: (transactionClass) => {\r\n const isNotOffered =\r\n (transactionClass as OriginatingTransactionClass)\r\n .originatingTransactionClassStatus ===\r\n OriginatingTransactionClassStatus.NotOffered;\r\n\r\n return (\r\n \r\n }\r\n >\r\n {transactionClass.transaction.type ===\r\n TransactionType.amr ? (\r\n \r\n {`${transactionClass.name} ${isNotOffered ? amrConstants.notOffered : \"\"\r\n }`}\r\n \r\n ) : (\r\n \r\n {`${transactionClass.name} ${isNotOffered ? amrConstants.notOffered : \"\"\r\n }`}\r\n \r\n )\r\n }\r\n \r\n )\r\n },\r\n sortingField: PipelineColumn.className,\r\n stickLeft: true,\r\n },\r\n {\r\n columnKey: PipelineColumn.manager,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.manager],\r\n renderColumnContent: (transactionClass) => {\r\n const { collateralManager } = transactionClass.transaction\r\n\r\n if (!collateralManager) {\r\n return constants.emptyPlaceholder;\r\n }\r\n\r\n return (\r\n \r\n );\r\n },\r\n sortingField: \"collateralManager\",\r\n className: \"data-list-cell-xl\",\r\n },\r\n {\r\n columnKey: PipelineColumn.arranger,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.arranger],\r\n renderColumnContent: (transactionClass) => {\r\n const { arranger } = transactionClass.transaction\r\n\r\n if (!arranger) {\r\n return constants.emptyPlaceholder;\r\n }\r\n\r\n return (\r\n \r\n );\r\n },\r\n sortingField: PipelineColumn.arranger,\r\n },\r\n {\r\n columnKey: PipelineColumn.trustee,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.trustee],\r\n renderColumnContent: ({ transaction }) => transaction.trustee\r\n ? {transaction.trustee?.legalName}\r\n : constants.emptyPlaceholder,\r\n headerClassName: \"data-list-cell-xl\",\r\n bodyClassName: \"data-list-cell-xl\",\r\n sortingField: PipelineColumn.trustee,\r\n },\r\n {\r\n columnKey: PipelineColumn.transactionStatus,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.transactionStatus],\r\n renderColumnContent: (transactionClass) => (\r\n \r\n ),\r\n sortingField: \"transactionStatus\",\r\n className: \"data-list-cell-trans-status\",\r\n },\r\n {\r\n columnKey: PipelineColumn.transactionType,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.transactionType],\r\n renderColumnContent: (transactionClass) =>\r\n startCase(transactionClass.transaction.type),\r\n sortingField: PipelineColumn.transactionType,\r\n },\r\n {\r\n columnKey: PipelineColumn.pricingDate,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.pricingDate],\r\n renderColumnContent: (transactionClass) => {\r\n var amrClass = transactionClass as AmrClass;\r\n var pricingDate = amrClass?.pricingDate ?? transactionClass.transaction.pricingDate;\r\n return pricingDate\r\n ? moment(pricingDate).format(constants.dateFormat)\r\n : constants.emptyPlaceholder\r\n },\r\n className: \"data-list-cell-sm\",\r\n sortingField: PipelineColumn.pricingDate,\r\n },\r\n {\r\n columnKey: PipelineColumn.closingDate,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.closingDate],\r\n renderColumnContent: (transactionClass) => {\r\n var amrClass = transactionClass as AmrClass;\r\n var closingDate = amrClass?.settlementDate ?? transactionClass.transaction.closingDate;\r\n\r\n return closingDate\r\n ? moment(closingDate).format(constants.dateFormat)\r\n : constants.emptyPlaceholder\r\n },\r\n className: \"data-list-cell-sm\",\r\n sortingField: PipelineColumn.closingDate,\r\n },\r\n {\r\n columnKey: PipelineColumn.nonCallPeriodEnd,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.nonCallPeriodEnd],\r\n renderColumnContent: ({ transaction }) =>\r\n transaction.nonCallPeriodEnd\r\n ? moment(transaction.nonCallPeriodEnd).format(constants.dateFormat)\r\n : constants.emptyPlaceholder,\r\n sortingField: PipelineColumn.nonCallPeriodEnd,\r\n headerClassName: \"data-list-cell-sm\",\r\n bodyClassName: \"data-list-cell-sm popover-column\",\r\n },\r\n {\r\n columnKey: PipelineColumn.nonCallPeriodEndDays,\r\n renderColumnHeaderContent: () =>\r\n \r\n {pipelineColumnLabels[PipelineColumn.nonCallPeriodEndYears]}\r\n \r\n ,\r\n renderColumnContent: ({ transaction }) =>\r\n dateTimeUtils.yrsLeftToDateFrom(\r\n transaction.nonCallPeriodEnd,\r\n transaction.closingDate,\r\n false\r\n ) || constants.emptyPlaceholder,\r\n sortingField: PipelineColumn.nonCallPeriodEndDays,\r\n headerClassName: \"data-list-cell-sm text-right\",\r\n bodyClassName: \"data-list-cell-sm text-right popover-column\",\r\n },\r\n {\r\n columnKey: PipelineColumn.outOfNC,\r\n renderColumnHeaderContent: () =>\r\n \r\n {pipelineColumnLabels[PipelineColumn.outOfNC]}\r\n \r\n ,\r\n renderColumnContent: ({ transaction }) =>\r\n isNil(transaction.outOfNC)\r\n ? constants.emptyPlaceholder\r\n : formatUtils.formatBoolean(transaction.outOfNC),\r\n sortingField: PipelineColumn.outOfNC,\r\n headerClassName: \"data-list-cell-sm\",\r\n bodyClassName: \"data-list-cell-sm popover-column text-capitalize\",\r\n },\r\n {\r\n columnKey: PipelineColumn.reinvestmentPeriodEnd,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.reinvestmentPeriodEnd],\r\n renderColumnContent: ({ transaction }) =>\r\n transaction.reinvestmentPeriodEnd\r\n ? moment(transaction.reinvestmentPeriodEnd).format(constants.dateFormat)\r\n : constants.emptyPlaceholder,\r\n sortingField: PipelineColumn.reinvestmentPeriodEnd,\r\n headerClassName: \"data-list-cell-sm\",\r\n bodyClassName: \"data-list-cell-sm popover-column\",\r\n },\r\n {\r\n columnKey: PipelineColumn.reinvestmentPeriodEndDays,\r\n renderColumnHeaderContent: () =>\r\n \r\n {pipelineColumnLabels[PipelineColumn.reinvestmentPeriodEndYears]}\r\n \r\n ,\r\n renderColumnContent: ({ transaction }) =>\r\n dateTimeUtils.yrsLeftToDateFrom(\r\n transaction.reinvestmentPeriodEnd,\r\n transaction.closingDate,\r\n false\r\n ) || constants.emptyPlaceholder,\r\n sortingField: PipelineColumn.reinvestmentPeriodEndDays,\r\n headerClassName: \"data-list-cell-sm text-right\",\r\n bodyClassName: \"data-list-cell-sm text-right popover-column\",\r\n },\r\n {\r\n columnKey: PipelineColumn.outOfRI,\r\n renderColumnHeaderContent: () =>\r\n \r\n {pipelineColumnLabels[PipelineColumn.outOfRI]}\r\n \r\n ,\r\n renderColumnContent: ({ transaction }) =>\r\n isNil(transaction.outOfRI)\r\n ? constants.emptyPlaceholder\r\n : formatUtils.formatBoolean(transaction.outOfRI),\r\n sortingField: PipelineColumn.outOfRI,\r\n headerClassName: \"data-list-cell-sm\",\r\n bodyClassName: \"data-list-cell-sm popover-column text-capitalize\",\r\n },\r\n {\r\n columnKey: PipelineColumn.vintage,\r\n renderColumnHeaderContent: () =>\r\n pipelineColumnLabels[PipelineColumn.vintage],\r\n renderColumnContent: (transactionClass) => {\r\n const vintage =\r\n (transactionClass as OriginatingTransactionClass).transaction.vintage;\r\n return vintage\r\n ? moment(vintage).year()\r\n : constants.emptyPlaceholder;\r\n },\r\n sortingField: PipelineColumn.vintage,\r\n },\r\n {\r\n columnKey: PipelineColumn.was,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.was],\r\n renderColumnContent: (transactionClass) =>\r\n formatUtils.formatDecimal((transactionClass as OriginatingTransactionClass).transaction.was) ||\r\n constants.emptyPlaceholder,\r\n className: \"text-right\",\r\n sortingField: PipelineColumn.was,\r\n },\r\n {\r\n columnKey: PipelineColumn.warf,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.warf],\r\n renderColumnContent: (transactionClass) => {\r\n const warf = (transactionClass as OriginatingTransactionClass).transaction.warf;\r\n return warf ? moneyUtils.money(warf, true) : constants.emptyPlaceholder;\r\n },\r\n className: \"text-right\",\r\n sortingField: PipelineColumn.warf,\r\n },\r\n {\r\n columnKey: PipelineColumn.ds,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.ds],\r\n renderColumnContent: (transactionClass) =>\r\n formatUtils.formatDecimal((transactionClass as OriginatingTransactionClass).transaction.ds) ||\r\n constants.emptyPlaceholder,\r\n className: \"data-list-cell-xs text-right\",\r\n sortingField: PipelineColumn.ds,\r\n },\r\n {\r\n columnKey: PipelineColumn.ticker,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.ticker],\r\n renderColumnContent: (transactionClass) => {\r\n const value =\r\n transactionClass.transaction.type === TransactionType.amr\r\n ? (transactionClass as AmrClass).class.ticker144A\r\n : (transactionClass as OriginatingTransactionClass)\r\n .tranche?.ticker144A;\r\n\r\n return value || constants.emptyPlaceholder;\r\n },\r\n className: \"data-list-cell-lg\",\r\n sortingField: PipelineColumn.ticker,\r\n },\r\n {\r\n columnKey: PipelineColumn.cusip,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.cusip],\r\n renderColumnContent: (transactionClass) => {\r\n const value =\r\n transactionClass.transaction.type === TransactionType.amr\r\n ? (transactionClass as AmrClass).class.cusip144A\r\n : (transactionClass as OriginatingTransactionClass)\r\n .tranche?.cusip144A;\r\n\r\n return value || constants.emptyPlaceholder;\r\n },\r\n className: \"data-list-cell-md\",\r\n sortingField: PipelineColumn.cusip,\r\n },\r\n {\r\n columnKey: PipelineColumn.isin,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.isin],\r\n renderColumnContent: (transactionClass) => {\r\n const value =\r\n transactionClass.transaction.type === TransactionType.amr\r\n ? (transactionClass as AmrClass).class.isin144A\r\n : (transactionClass as OriginatingTransactionClass)\r\n .tranche?.isin144A;\r\n\r\n return value || constants.emptyPlaceholder;\r\n },\r\n className: \"data-list-cell-sm\",\r\n sortingField: PipelineColumn.isin,\r\n },\r\n {\r\n columnKey: PipelineColumn.tickerRegS,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.tickerRegS],\r\n renderColumnContent: (transactionClass) => {\r\n const value =\r\n transactionClass.transaction.type === TransactionType.amr\r\n ? (transactionClass as AmrClass).class.tickerRegS\r\n : (transactionClass as OriginatingTransactionClass)\r\n .tranche?.tickerRegS;\r\n\r\n return value || constants.emptyPlaceholder;\r\n },\r\n className: \"data-list-cell-lg\",\r\n sortingField: PipelineColumn.tickerRegS,\r\n },\r\n {\r\n columnKey: PipelineColumn.cusipRegS,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.cusipRegS],\r\n renderColumnContent: (transactionClass) => {\r\n const value =\r\n transactionClass.transaction.type === TransactionType.amr\r\n ? (transactionClass as AmrClass).class.cusipRegS\r\n : (transactionClass as OriginatingTransactionClass)\r\n .tranche?.cusipRegS;\r\n\r\n return value || constants.emptyPlaceholder;\r\n },\r\n className: \"data-list-cell-md\",\r\n sortingField: PipelineColumn.cusipRegS,\r\n },\r\n {\r\n columnKey: PipelineColumn.isinRegS,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.isinRegS],\r\n renderColumnContent: (transactionClass) => {\r\n const value =\r\n transactionClass.transaction.type === TransactionType.amr\r\n ? (transactionClass as AmrClass).class.isinRegS\r\n : (transactionClass as OriginatingTransactionClass)\r\n .tranche?.isinRegS;\r\n\r\n return value || constants.emptyPlaceholder;\r\n },\r\n className: \"data-list-cell-md\",\r\n sortingField: PipelineColumn.isinRegS,\r\n },\r\n {\r\n columnKey: PipelineColumn.tickerAccdInvCertif,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.tickerAccdInvCertif],\r\n renderColumnContent: (transactionClass) => {\r\n const value =\r\n transactionClass.transaction.type === TransactionType.amr\r\n ? (transactionClass as AmrClass).class.tickerAccdInvCertif\r\n : (transactionClass as OriginatingTransactionClass)\r\n .tranche?.tickerAccdInvCertif;\r\n\r\n return value || constants.emptyPlaceholder;\r\n },\r\n className: \"data-list-cell-lg-02\",\r\n sortingField: PipelineColumn.tickerAccdInvCertif,\r\n },\r\n {\r\n columnKey: PipelineColumn.cusipAccdInvestor,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.cusipAccdInvestor],\r\n renderColumnContent: (transactionClass) => {\r\n const value =\r\n transactionClass.transaction.type === TransactionType.amr\r\n ? (transactionClass as AmrClass).class.cusipAccdInvCertif\r\n : (transactionClass as OriginatingTransactionClass)\r\n .tranche?.cusipAccdInvCertif;\r\n\r\n return value || constants.emptyPlaceholder;\r\n },\r\n className: \"data-list-cell-lg-02\",\r\n sortingField: PipelineColumn.cusipAccdInvestor,\r\n },\r\n {\r\n columnKey: PipelineColumn.isinAccdInvestor,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.isinAccdInvestor],\r\n renderColumnContent: (transactionClass) => {\r\n const value =\r\n transactionClass.transaction.type === TransactionType.amr\r\n ? (transactionClass as AmrClass).class.isinAccdInvCertif\r\n : (transactionClass as OriginatingTransactionClass)\r\n .tranche?.isinAccdInvCertif;\r\n\r\n return value || constants.emptyPlaceholder;\r\n },\r\n className: \"data-list-cell-lg-02\",\r\n sortingField: PipelineColumn.isinAccdInvestor,\r\n },\r\n {\r\n columnKey: PipelineColumn.rating,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.rating],\r\n renderColumnContent: (transactionClass) =>\r\n `${transactionClass.transaction.type === TransactionType.amr\r\n ? (transactionClass as AmrClass).ratingMoodys ||\r\n constants.emptyPlaceholder\r\n : (transactionClass as OriginatingTransactionClass)\r\n .expectedRatingMoodys ||\r\n constants.emptyPlaceholder\r\n }/${transactionClass.transaction.type === TransactionType.amr\r\n ? (transactionClass as AmrClass).ratingSnP ||\r\n constants.emptyPlaceholder\r\n : (transactionClass as OriginatingTransactionClass)\r\n .expectedRatingSnP || constants.emptyPlaceholder\r\n }/${transactionClass.transaction.type === TransactionType.amr\r\n ? (transactionClass as AmrClass).ratingFitch ||\r\n constants.emptyPlaceholder\r\n : (transactionClass as OriginatingTransactionClass)\r\n .expectedRatingFitch || constants.emptyPlaceholder\r\n }/${transactionClass.transaction.type === TransactionType.amr\r\n ? (transactionClass as AmrClass).ratingKbra ||\r\n constants.emptyPlaceholder\r\n : (transactionClass as OriginatingTransactionClass)\r\n .expectedRatingKbra || constants.emptyPlaceholder\r\n }/${transactionClass.transaction.type === TransactionType.amr\r\n ? (transactionClass as AmrClass).ratingDbrs ||\r\n constants.emptyPlaceholder\r\n : (transactionClass as OriginatingTransactionClass)\r\n .expectedRatingDbrs || constants.emptyPlaceholder\r\n }`,\r\n className: \"data-list-cell-xl\",\r\n sortingField: PipelineColumn.rating,\r\n },\r\n {\r\n columnKey: PipelineColumn.balance,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.balance],\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.balance != null && numericUtils.isNumber(transactionClass.balance)\r\n ? moneyUtils.money(transactionClass.balance)\r\n : constants.emptyPlaceholder,\r\n className: \"data-list-cell-sm text-right\",\r\n sortingField: PipelineColumn.balance,\r\n },\r\n {\r\n columnKey: PipelineColumn.parSubordination,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.parSubordination],\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.parSubordination\r\n ? formatUtils.formatDecimal(\r\n transactionClass.parSubordination\r\n )\r\n : constants.emptyPlaceholder,\r\n className: \"text-right\",\r\n sortingField: PipelineColumn.parSubordination,\r\n },\r\n {\r\n columnKey: PipelineColumn.mvoc,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.mvoc],\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.mvoc\r\n ? formatUtils.formatDecimal(transactionClass.mvoc)\r\n : constants.emptyPlaceholder,\r\n className: \"text-right\",\r\n sortingField: PipelineColumn.mvoc,\r\n },\r\n {\r\n columnKey: PipelineColumn.wal,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.wal],\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.wal\r\n ? formatUtils.formatDecimal(transactionClass.wal)\r\n : constants.emptyPlaceholder,\r\n className: \"data-list-cell-xs text-right\",\r\n sortingField: PipelineColumn.wal,\r\n },\r\n {\r\n columnKey: PipelineColumn.coupon,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.coupon],\r\n renderColumnContent: ({ floaterIndex, margin, transaction }) =>\r\n transaction.type === TransactionType.amr\r\n ? constants.emptyPlaceholder\r\n : amrFormatUtils.formatInventoryCoupon(floaterIndex, margin),\r\n className: \"data-list-cell-md\",\r\n sortingField: PipelineColumn.margin,\r\n },\r\n {\r\n columnKey: PipelineColumn.dm,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.dm],\r\n renderColumnContent: (transactionClass) =>\r\n \r\n {(transactionClass as OriginatingTransactionClass).dm ?? constants.emptyPlaceholder}\r\n ,\r\n className: \"text-right\",\r\n sortingField: PipelineColumn.dm,\r\n },\r\n {\r\n columnKey: PipelineColumn.initialPrice,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.initialPrice],\r\n renderColumnContent: (transactionClass) => (\r\n \r\n { transactionClass.initialPrice ?\r\n \r\n {transactionClass.initialPrice}\r\n \r\n : constants.emptyPlaceholder\r\n }\r\n \r\n ),\r\n className: \"data-list-cell-lg\",\r\n sortingField: PipelineColumn.initialPrice,\r\n },\r\n {\r\n columnKey: PipelineColumn.price,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.price],\r\n renderColumnContent: (transactionClass) => (\r\n \r\n {transactionClass.price ?\r\n \r\n {transactionClass.price}\r\n \r\n : constants.emptyPlaceholder\r\n }\r\n \r\n ),\r\n className: \"data-list-cell-xs text-right\",\r\n sortingField: PipelineColumn.price,\r\n },\r\n {\r\n columnKey: PipelineColumn.initialGuidance,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.initialGuidance],\r\n renderColumnContent: (transactionClass) => (\r\n \r\n { transactionClass.initialGuidance ?\r\n \r\n {transactionClass.initialGuidance}\r\n \r\n : constants.emptyPlaceholder\r\n }\r\n \r\n ),\r\n className: \"data-list-cell-lg\",\r\n sortingField: PipelineColumn.initialGuidance,\r\n },\r\n {\r\n columnKey: PipelineColumn.guidance,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.guidance],\r\n renderColumnContent: (transactionClass) => (\r\n \r\n {transactionClass.guidance ?\r\n \r\n \r\n \r\n \r\n \r\n : constants.emptyPlaceholder\r\n }\r\n \r\n ),\r\n className: \"data-list-cell-lg\",\r\n sortingField: PipelineColumn.guidance,\r\n },\r\n {\r\n columnKey: PipelineColumn.originatingTransactionClassStatus,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.originatingTransactionClassStatus],\r\n renderColumnContent: transactionClass => {\r\n const { originatingTransactionClassStatus } = (transactionClass as OriginatingTransactionClass);\r\n\r\n return (\r\n \r\n {originatingTransactionClassStatus\r\n ? transactionClassStatusTitles[originatingTransactionClassStatus]\r\n : constants.emptyPlaceholder\r\n }\r\n \r\n );\r\n },\r\n className: \"data-list-cell-sm\",\r\n sortingField: \"originatingTransactionClassStatus\",\r\n sortingType: PipelineColumn.originatingTransactionClassStatus,\r\n },\r\n {\r\n columnKey: PipelineColumn.subscription,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.subscription],\r\n renderColumnContent: (transactionClass) => (\r\n \r\n {transactionClass.transaction.type !== TransactionType.amr && (transactionClass as OriginatingTransactionClass).subscription ?\r\n \r\n \r\n \r\n \r\n \r\n : constants.emptyPlaceholder\r\n }\r\n \r\n ),\r\n className: \"data-list-cell-lg\",\r\n sortingField: PipelineColumn.subscription,\r\n },\r\n {\r\n columnKey: PipelineColumn.target,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.target],\r\n renderColumnContent: (transactionClass) =>\r\n formatUtils.formatDecimal(\r\n (transactionClass as OriginatingTransactionClass).ocTarget\r\n ) || constants.emptyPlaceholder,\r\n className: \"data-list-cell-sm text-right\",\r\n sortingField: \"ocTarget\",\r\n },\r\n {\r\n columnKey: PipelineColumn.trigger,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.trigger],\r\n renderColumnContent: (transactionClass) =>\r\n formatUtils.formatDecimal(\r\n (transactionClass as OriginatingTransactionClass).ocTrigger\r\n ) || constants.emptyPlaceholder,\r\n className: \"data-list-cell-sm text-right\",\r\n sortingField: \"ocTrigger\",\r\n },\r\n {\r\n columnKey: PipelineColumn.cushion,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.cushion],\r\n renderColumnContent: (transactionClass) =>\r\n (transactionClass as OriginatingTransactionClass).ocCushion\r\n ? formatUtils.formatDecimal(\r\n (transactionClass as OriginatingTransactionClass)\r\n .ocCushion\r\n )\r\n : constants.emptyPlaceholder,\r\n className: \"data-list-cell-md text-right\",\r\n sortingField: \"ocCushion\",\r\n },\r\n {\r\n columnKey: PipelineColumn.margin,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.margin],\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.margin\r\n ? formatUtils.formatMargin(transactionClass.margin)\r\n : constants.emptyPlaceholder,\r\n className: \"data-list-cell-sm text-right\",\r\n sortingField: PipelineColumn.margin,\r\n },\r\n {\r\n columnKey: PipelineColumn.factor,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.factor],\r\n renderColumnContent: (transactionClass) =>\r\n formatUtils.formatFactor(\r\n (transactionClass as AmrClass).class?.factor\r\n ) || constants.emptyPlaceholder,\r\n className: \"text-right\",\r\n sortingField: PipelineColumn.factor,\r\n },\r\n {\r\n columnKey: PipelineColumn.capMargin,\r\n renderColumnHeaderContent: () => (\r\n \r\n {pipelineColumnLabels[PipelineColumn.capMargin]}\r\n \r\n ),\r\n renderColumnContent: (transactionClass) =>\r\n (transactionClass as AmrClass).capMargin\r\n ? formatUtils.formatMargin(\r\n (transactionClass as AmrClass).capMargin\r\n )\r\n : constants.emptyPlaceholder,\r\n className: \"data-list-cell-sm text-right\",\r\n sortingField: PipelineColumn.capMargin,\r\n },\r\n {\r\n columnKey: PipelineColumn.nonAmr,\r\n renderColumnHeaderContent: () => (\r\n \r\n {pipelineColumnLabels[PipelineColumn.nonAmr]}\r\n \r\n ),\r\n renderColumnContent: (transactionClass) => (\r\n \r\n ),\r\n className: \"data-list-cell-sm\",\r\n sortingField: \"nonAMRPeriod\",\r\n },\r\n {\r\n columnKey: PipelineColumn.euCompliance,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.euCompliance],\r\n renderColumnContent: (transactionClass) => {\r\n const {\r\n dealLegalName,\r\n euCompliance,\r\n euRiskRetentionRequirements,\r\n euDisclosureRequirements\r\n } = transactionClass.transaction;\r\n const columnText = formatUtils.formatBooleanWithPlaceholder(euCompliance);\r\n\r\n if (euCompliance && (euRiskRetentionRequirements || euDisclosureRequirements)) {\r\n return (\r\n {dealLegalName}}\r\n actionButton={\r\n \r\n }\r\n >\r\n

EU Risk Retention Requirements

\r\n
\r\n {renderMarkdownOrEmpty(euRiskRetentionRequirements)}\r\n
\r\n

EU Disclosure Requirements

\r\n
\r\n {renderMarkdownOrEmpty(euDisclosureRequirements)}\r\n
\r\n \r\n );\r\n }\r\n\r\n return columnText;\r\n },\r\n className: \"data-list-cell-sm\",\r\n sortingField: PipelineColumn.euCompliance,\r\n },\r\n {\r\n columnKey: PipelineColumn.esg,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.esg],\r\n renderColumnContent: (transactionClass) => {\r\n const { dealLegalName, esg, esgComment } = transactionClass.transaction;;\r\n const columnText = formatUtils.formatBooleanWithPlaceholder(esg);\r\n\r\n if (esg && esgComment) {\r\n return (\r\n {dealLegalName}}\r\n actionButton={\r\n \r\n }\r\n className=\"popover-esg-comments\"\r\n >\r\n \r\n \r\n );\r\n }\r\n\r\n return columnText;\r\n },\r\n className: \"data-list-cell-xs\",\r\n sortingField: PipelineColumn.esg,\r\n },\r\n {\r\n columnKey: PipelineColumn.collateralType,\r\n renderColumnHeaderContent: () => 'Collat.',\r\n renderColumnContent: (transaction) =>\r\n formatUtils.formatCollateralType((transaction as AmrClass).transaction.collateralType),\r\n className: \"data-list-cell-xs\",\r\n sortingField: PipelineColumn.collateralType,\r\n },\r\n {\r\n columnKey: PipelineColumn.currency,\r\n renderColumnHeaderContent: () => 'Ccy',\r\n renderColumnContent: (transaction) =>\r\n (transaction as AmrClass).transaction.currency?.code || constants.emptyPlaceholder,\r\n className: \"data-list-cell-xs\",\r\n sortingField: PipelineColumn.currency,\r\n },\r\n {\r\n columnKey: PipelineColumn.amrClass,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.amrClass],\r\n renderColumnContent: (transaction) => {\r\n const amr =\r\n transaction.transaction.type === TransactionType.amr\r\n ? (transaction as AmrClass).class?.amr\r\n : (transaction as OriginatingTransactionClass).amr;\r\n return capitalize(formatUtils.formatBoolean(amr));\r\n },\r\n className: \"data-list-cell-sm\",\r\n sortingField: PipelineColumn.amr,\r\n },\r\n {\r\n columnKey: PipelineColumn.maturity,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.maturity],\r\n renderColumnContent: (transactionClass) => {\r\n const maturity =\r\n (transactionClass as OriginatingTransactionClass).transaction.statedMaturity ||\r\n (transactionClass as AmrClass).transaction.finalMaturity;\r\n return maturity\r\n ? moment(maturity).format(constants.dateFormat)\r\n : constants.emptyPlaceholder;\r\n },\r\n className: \"data-list-cell-sm\",\r\n sortingField: PipelineColumn.maturity,\r\n },\r\n {\r\n columnKey: PipelineColumn.firstPayment,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.firstPayment],\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.transaction.firstPaymentDate\r\n ? moment(transactionClass.transaction.firstPaymentDate).format(\r\n constants.dateFormat\r\n )\r\n : constants.emptyPlaceholder,\r\n className: \"data-list-cell-sm\",\r\n sortingField: PipelineColumn.firstPayment,\r\n },\r\n {\r\n columnKey: PipelineColumn.intex,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.intex],\r\n renderColumnContent: (transactionClass) => {\r\n const { intexName, intexPassword } =\r\n (transactionClass as OriginatingTransactionClass).transaction;\r\n return !intexName && !intexPassword\r\n ? constants.emptyPlaceholder\r\n : \r\n {(intexName || constants.emptyPlaceholder) + \" / \" + (intexPassword || constants.emptyPlaceholder)}\r\n \r\n },\r\n className: \"data-list-cell-xl\",\r\n },\r\n {\r\n columnKey: PipelineColumn.numberOfDocuments,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.numberOfDocuments],\r\n renderColumnContent: (transactionClass, { userCompany }) => {\r\n const isMedia = user.hasRoles(roles.Media);\r\n\r\n if (!transactionClass.transaction.numberOfDocuments) {\r\n return constants.emptyPlaceholder;\r\n }\r\n\r\n return !isMedia &&\r\n (transactionClass.transaction.type === TransactionType.amr || (canViewTransactionDetails() && !hasLimitedAccess(transactionClass.transaction, userCompany))) ? (\r\n e.stopPropagation()}\r\n >\r\n View ({transactionClass.transaction.numberOfDocuments})\r\n \r\n ) : (\r\n {transactionClass.transaction.numberOfDocuments}\r\n );\r\n },\r\n sortingField: PipelineColumn.numberOfDocuments,\r\n },\r\n {\r\n columnKey: PipelineColumn.syndicate,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.syndicate],\r\n renderColumnContent: (transactionClass, context) => {\r\n const { dispatch, actions } = context;\r\n const { transaction } = (transactionClass as OriginatingTransactionClass)\r\n const numberOfContacts = transaction.numberOfSyndicateContacts;\r\n\r\n return numberOfContacts ? (\r\n {\r\n e.stopPropagation();\r\n dispatch(\r\n actions.setSyndicateContacts(\r\n transaction.dealLegalName,\r\n transaction.dealReferenceName,\r\n transaction.referenceName,\r\n transaction.arranger?.legalName\r\n )\r\n );\r\n }}\r\n >\r\n {numberOfContacts} contact{numberOfContacts > 1 ? 's' : ''}\r\n \r\n ) : constants.emptyPlaceholder\r\n },\r\n className: \"data-list-cell-sm\",\r\n sortingField: PipelineColumn.syndicate,\r\n },\r\n {\r\n columnKey: PipelineColumn.enhancedCLO,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.enhancedCLO],\r\n renderColumnContent: ({ transaction }) =>\r\n formatUtils.formatBooleanWithPlaceholder(transaction.enhancedCLO),\r\n className: \"data-list-cell-sm\",\r\n sortingField: PipelineColumn.enhancedCLO,\r\n },\r\n {\r\n columnKey: PipelineColumn.staticDeal,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.staticDeal],\r\n renderColumnContent: ({ transaction }) =>\r\n formatUtils.formatBooleanWithPlaceholder(transaction.staticDeal),\r\n className: \"data-list-cell-sm\",\r\n sortingField: PipelineColumn.staticDeal,\r\n },\r\n {\r\n columnKey: PipelineColumn.iois,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.iois],\r\n renderColumnContent: (transactionClass) =>\r\n formatUtils.formatBooleanWithPlaceholder(!!(transactionClass as OriginatingTransactionClass).numberOfIOIs),\r\n className: \"data-list-cell-xs\",\r\n },\r\n {\r\n columnKey: PipelineColumn.options,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.options],\r\n renderColumnContent: () => \"\"\r\n },\r\n ];\r\n\r\n const customizedColumns = columnsConfig\r\n .reduce((acc: ColumnBuilder[], columnConfig: UserConfigColumn) => {\r\n const column = classesColumnDefinitions.find(\r\n ({ columnKey }) => columnKey.toLocaleLowerCase() === columnConfig.name.toLocaleLowerCase()\r\n );\r\n\r\n if (!column) {\r\n return acc;\r\n }\r\n\r\n if (column.columnKey === PipelineColumn.options) {\r\n const isShareAvailable = user.hasRoles(...roles.bd());\r\n const isButtonAvailable = user.hasRoles(\r\n ...roles.getAllRolesExclude(\r\n ...roles.admin(),\r\n roles.DataEntry,\r\n roles.Viewer,\r\n roles.Media,\r\n )\r\n );\r\n\r\n return [\r\n ...acc,\r\n new ColumnBuilder(collapseStickRightColumn),\r\n ...(isButtonAvailable\r\n ? [new ColumnBuilder(optionsButtonColumnDefinition)]\r\n : []),\r\n ...(isShareAvailable\r\n ? [new ColumnBuilder(shareOptionColumnDefinition)]\r\n : []),\r\n new ColumnBuilder(optionsColumnDefinition),\r\n ];\r\n }\r\n\r\n return [...acc, new ColumnBuilder(column)];\r\n }, []);\r\n\r\n return fixedColumnDefinitions\r\n .map(column => new ColumnBuilder(column))\r\n .concat(customizedColumns);\r\n};\r\n","import React from \"react\";\r\nimport { OriginatingTransactionClass } from \"../../../../types/amr-pipeline/models/OriginatingTransactionClass\";\r\nimport { AmrClass } from \"../../../../types/amr-pipeline/models/AmrClass\";\r\nimport { classesColumns } from './columns/classesColumns';\r\nimport { PipelineList } from \"../PipelineList\";\r\nimport { PipelineView } from \"../../types/PipelineView\";\r\nimport { UserConfigColumn } from \"../../../../types/user-config/UserConfigColumn\";\r\nimport { PipelineEmptyPlaceholder } from '../PipelineEmptyPlaceholder';\r\n\r\ninterface Props {\r\n columnsConfig: UserConfigColumn[];\r\n classes: (OriginatingTransactionClass | AmrClass)[];\r\n onRedirect: () => void;\r\n}\r\n\r\nexport const ClassView = ({ columnsConfig, classes, onRedirect }: Props) => {\r\n return classes.length\r\n ? \r\n : \r\n}\r\n","import { useContext, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { applyDisabledSelector, issuanceMonitorFilterSelector } from '../../../selectors/amr-pipeline.selector';\r\nimport PipelineContext from './PipelineContext';\r\nimport { PipelineType } from '../../../types/amr-pipeline/enums/PipelineType';\r\nimport { FilterManagementForm } from './filters-management/types';\r\nimport { imUserConfigActions } from '../../../actions';\r\nimport { AppState } from '../../../types/state/AppState';\r\nimport { UserConfigType } from '../../../types/user-config/UserConfigType';\r\nimport { Filters } from '../../filters/Filters';\r\nimport { FiltersConfig } from '../../../types/user-config/UserConfig';\r\nimport { SubscriptionFeature } from '../../../types/billing/SubscriptionFeature';\r\nimport { BlockedFeatureTooltipText } from '../../access/BlockedFeatureText';\r\n\r\ninterface IPipelineFilter {\r\n isSearching: boolean;\r\n allowCollapsing?: boolean;\r\n onApply: () => void;\r\n onReset: () => void;\r\n hiddenFilters: string[];\r\n onVisibilityChange?: (filterName: string) => void;\r\n}\r\n\r\nexport const PipelineFilter = ({\r\n isSearching,\r\n onApply,\r\n onReset,\r\n allowCollapsing = true,\r\n hiddenFilters = [],\r\n onVisibilityChange,\r\n}: IPipelineFilter) => {\r\n const { pipelineType, filtersCollapseStatus, setFiltersCollapseStatus, withBlockedSearchAndFilter } =\r\n useContext(PipelineContext);\r\n\r\n const isUpdating = useSelector(state => state.imUserConfig.isUpdating);\r\n const filtersConfig = useSelector(state => state.imUserConfig.filtersConfig);\r\n\r\n const filterType =\r\n pipelineType !== PipelineType.ArrangerPipeline ? UserConfigType.imFilter : UserConfigType.apFilter;\r\n\r\n const isFilterCollapsed = filtersCollapseStatus[pipelineType];\r\n\r\n const dispatch = useDispatch();\r\n\r\n const { filter, filterChanged, filterModified, visibleFilters, selectedFilterReferenceName } = useSelector(\r\n issuanceMonitorFilterSelector(pipelineType),\r\n );\r\n\r\n const applyDisabled = useSelector(applyDisabledSelector(pipelineType));\r\n\r\n useEffect(() => {\r\n if (selectedFilterReferenceName) {\r\n setFiltersCollapseStatus(false);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [selectedFilterReferenceName]);\r\n\r\n const handleApplyFilter = () => {\r\n onApply();\r\n };\r\n\r\n const handleClearFilter = () => onReset();\r\n\r\n const handleSaveFilter = (data: FilterManagementForm) => {\r\n const name = data.name.trim();\r\n\r\n dispatch(\r\n imUserConfigActions.createUserFilter(pipelineType, {\r\n name,\r\n default: data.makeDefault,\r\n alertOption: data.receiveEmailNotification,\r\n }),\r\n );\r\n };\r\n\r\n const handleUpdateFilter = (data: FilterManagementForm) => {\r\n const name = data.name.trim();\r\n\r\n dispatch(\r\n imUserConfigActions.updateUserFilter(pipelineType, {\r\n referenceName: data.referenceName || '',\r\n name,\r\n default: data.makeDefault,\r\n alertOption: data.receiveEmailNotification,\r\n }),\r\n );\r\n };\r\n\r\n return (\r\n }\r\n filterConfigShowEmailNotification={pipelineType !== PipelineType.ArrangerPipeline}\r\n />\r\n );\r\n};\r\n","import { first } from 'lodash';\r\nimport { TransactionClassesStatistics } from \"../../../../types/amr-pipeline/models/TransactionClassesStatistics\";\r\nimport { TransactionsStatistics } from \"../../../../types/amr-pipeline/models/TransasctionsStatistics\";\r\nimport { Currency } from \"../../../../types/enums/Currency\";\r\nimport { DealsPipelineFilters } from \"../../../../types/state/PipelineFilterState\";\r\nimport { amrFormatUtils, formatUtils, moneyUtils, numericUtils } from \"../../../../utils\";\r\nimport { constants } from '../../../../constants/constants';\r\n\r\nconst currencySign = {\r\n [Currency.USD]: \"$\",\r\n [Currency.EUR]: \"€\",\r\n};\r\n\r\nconst defaultVolume = {\r\n label: \"Volume\",\r\n value: 0,\r\n required: true,\r\n};\r\n\r\nconst getVolumeColumn = (\r\n usdBalance: number | undefined,\r\n eurBalance: number | undefined,\r\n selectedCurrencies: Currency[],\r\n) => {\r\n // If both currencies are selected, consider it as 'All' filter\r\n const selectedCurrency = selectedCurrencies.length > 1\r\n ? undefined\r\n : first(selectedCurrencies);\r\n\r\n const selectedValue =\r\n selectedCurrency === Currency.USD ? usdBalance : eurBalance;\r\n\r\n const presentValue = usdBalance || eurBalance;\r\n\r\n if (!presentValue || (selectedCurrency && !selectedValue)) {\r\n return defaultVolume;\r\n }\r\n\r\n if (selectedCurrency && selectedValue) {\r\n return {\r\n ...defaultVolume,\r\n label: `Volume ${currencySign[selectedCurrency]}`,\r\n value: amrFormatUtils.formatClassesTotalBalance(selectedValue),\r\n };\r\n }\r\n\r\n const withBothCurrencies = usdBalance && eurBalance;\r\n\r\n if (withBothCurrencies) {\r\n return {\r\n ...defaultVolume,\r\n label: `Volume ${currencySign.USD + \"/\" + currencySign.EUR}`,\r\n value:\r\n amrFormatUtils.formatClassesTotalBalance(usdBalance) +\r\n \"/\" +\r\n amrFormatUtils.formatClassesTotalBalance(eurBalance),\r\n };\r\n }\r\n\r\n return {\r\n ...defaultVolume,\r\n label: `Volume ${usdBalance ? currencySign.USD : currencySign.EUR}`,\r\n value: amrFormatUtils.formatClassesTotalBalance(presentValue),\r\n };\r\n};\r\n\r\nexport const getDealsSummaryItems = (summary: TransactionsStatistics, appliedFilters: DealsPipelineFilters) => [\r\n {\r\n label: 'Count',\r\n value: summary.numberOfTransactions,\r\n required: true,\r\n },\r\n getVolumeColumn(\r\n summary.transactionsBalanceTotalUsd,\r\n summary.transactionsBalanceTotalEur,\r\n appliedFilters.currency.filter\r\n .filter(x => x.selected)\r\n .map(x => x.value)\r\n ),\r\n {\r\n label: 'Managers',\r\n value: summary.numberOfManagers,\r\n required: true,\r\n },\r\n {\r\n label: 'Arrangers',\r\n value: summary.numberOfArrangers,\r\n required: true,\r\n },\r\n {\r\n label: 'Trustees',\r\n value: summary.numberOfTrustees,\r\n required: true,\r\n },\r\n {\r\n label: 'WAS',\r\n value: summary.medianWAS && `${formatUtils.formatDecimal(summary.medianWAS)}%`,\r\n isMedian: true,\r\n },\r\n {\r\n label: 'WARF',\r\n value: moneyUtils.money(summary.medianWARF, true),\r\n isMedian: true,\r\n },\r\n {\r\n label: 'DS',\r\n value: formatUtils.formatDecimal(summary.medianDS),\r\n isMedian: true,\r\n },\r\n {\r\n label: 'PP',\r\n value: moneyUtils.money(summary.medianPurchasePrice, true),\r\n isMedian: true,\r\n }\r\n];\r\n\r\nexport const getClassesSummaryItems = (summary?: TransactionClassesStatistics) => [\r\n {\r\n label: 'C/E',\r\n value: summary?.medianParSubordination\r\n ? `${formatUtils.formatDecimal(summary.medianParSubordination)}%`\r\n : constants.emptyPlaceholder,\r\n isMedian: true,\r\n },\r\n {\r\n label: 'MVOC',\r\n value: summary?.medianMVOC ? `${formatUtils.formatDecimal(summary.medianMVOC)}%` : constants.emptyPlaceholder,\r\n isMedian: true,\r\n },\r\n {\r\n label: 'Margin',\r\n value: summary?.medianMargin\r\n ? `${formatUtils.formatDecimal(summary.medianMargin)}%`\r\n : constants.emptyPlaceholder,\r\n isMedian: true,\r\n },\r\n {\r\n label: 'DM',\r\n value: summary?.medianDM ? numericUtils.round(summary.medianDM, 0) : constants.emptyPlaceholder,\r\n isMedian: true,\r\n },\r\n];\r\n","import classNames from 'classnames';\r\nimport { useContext } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { constants } from '../../../../constants';\r\nimport { amrPipelineSelector, summarySelector } from '../../../../selectors/amr-pipeline.selector';\r\nimport { OnHoverTooltip, Preloader } from '../../../common';\r\nimport { SummaryItem } from '../../types/SummaryItem';\r\nimport PipelineContext from '../PipelineContext';\r\nimport { getClassesSummaryItems, getDealsSummaryItems } from './summary-items';\r\n\r\nconst dealsSummaryTooltip = 'Deal stats are unavailable when the table is not filtered';\r\nconst classesSummaryTooltip = 'Class stats are unavailable when the table is not filtered by particular rating';\r\n\r\nexport default function Summary() {\r\n const { pipelineType } = useContext(PipelineContext);\r\n\r\n const {\r\n filter: { lastAppliedFilter },\r\n } = useSelector(amrPipelineSelector(pipelineType));\r\n const {shouldShowTransactionsSummary, shouldShowClassesSummary, transactionsStatistic, classesStatistic, isSummaryRequesting } = useSelector(summarySelector(pipelineType));\r\n\r\n if (isSummaryRequesting) {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n const dealsSummaryItems = getDealsSummaryItems(transactionsStatistic!, lastAppliedFilter);\r\n const classesSummaryItems = getClassesSummaryItems(classesStatistic);\r\n\r\n const renderSummaryGroup = (groupName: string, summaryItems: SummaryItem[], shouldShow: boolean, itemTooltipText?: string) => (\r\n
\r\n {groupName}:\r\n {summaryItems.map(i => renderSummaryItem(i, shouldShow, itemTooltipText))}\r\n
\r\n );\r\n\r\n const renderSummaryItem = (i: SummaryItem, shouldShow: boolean, tooltipText?: string) => {\r\n let value = i.value || constants.emptyPlaceholder;\r\n const disabled = !shouldShow && !i.required;\r\n const medianText = (i.isMedian && `(Median)`) || ``;\r\n\r\n if (disabled) {\r\n value = constants.emptyPlaceholder;\r\n }\r\n\r\n return (\r\n \r\n \r\n {i.label}\r\n {value}\r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n
\r\n
\r\n {renderSummaryGroup(\r\n 'Deal',\r\n dealsSummaryItems,\r\n shouldShowTransactionsSummary,\r\n dealsSummaryTooltip,\r\n )}\r\n \r\n {renderSummaryGroup(\r\n 'Class',\r\n classesSummaryItems,\r\n shouldShowClassesSummary,\r\n classesSummaryTooltip,\r\n )}\r\n
\r\n
\r\n );\r\n}\r\n","import { useEffect, useState, useMemo, useContext } from 'react';\r\nimport { isEqual } from 'lodash';\r\nimport {\r\n createAmrPipelineActions, createSearchTransactionActions, imUserConfigActions,\r\n} from '../../../actions/';\r\nimport { useSelector } from \"react-redux\";\r\nimport { DealView } from \"./deal-view/DealView\";\r\nimport { ClassView } from \"./class-view/ClassView\";\r\nimport { AppState } from \"../../../types/state/AppState\";\r\nimport { PipelineView } from \"../types/PipelineView\";\r\nimport { PipelineFilter } from \"./Filter\";\r\nimport { SyndicatePopup } from \"./SyndicatePopup\";\r\nimport { EmptyPlaceholder, Preloader } from \"../../common\";\r\nimport IconSVG from \"../../../styles/svg-icons\";\r\nimport { UserConfigType } from \"../../../types/user-config/UserConfigType\";\r\nimport { FilterButton } from \"../../filters\";\r\nimport { CustomizeColumnsDialog } from \"../common/customize-columns/CustomizeColumnsDialog\";\r\nimport { OriginatingTransactionClass } from '../../../types/amr-pipeline/models/OriginatingTransactionClass';\r\nimport { AmrClass } from '../../../types/amr-pipeline/models/AmrClass';\r\nimport { OriginatingTransaction } from '../../../types/amr-pipeline/models/OriginatingTransaction';\r\nimport { AmrTransaction } from '../../../types/amr-pipeline/models/AmrTransaction';\r\nimport { OnHoverTooltip } from '../../common';\r\nimport { FiltersManagement } from './filters-management/FiltersManagement';\r\nimport { ColumnsConfig, FiltersConfig } from '../../../types/user-config/UserConfig';\r\nimport PipelineContext from './PipelineContext';\r\nimport { amrPipelineSelector } from '../../../selectors/amr-pipeline.selector';\r\nimport { pipelineFilters } from '../../../constants/amr-pipeline';\r\nimport Summary from './summary/Summary';\r\nimport { PipelineType } from '../../../types/amr-pipeline/enums/PipelineType';\r\nimport { ImSubscriptionActionBlocker } from '../subscription/ImSubscriptionActionBlocker';\r\nimport { SubscriptionFeature } from '../../../types/billing/SubscriptionFeature';\r\nimport { RequiredFeature } from '../../access/RequiredFeature';\r\nimport { usePortfolios } from '../../../effects/usePortfolios';\r\nimport { isRequestFailed, isRequestSuccess } from '../../../utils';\r\nimport { user } from '../../../user';\r\nimport { roles } from '../../../constants';\r\nimport { AlertOption } from '../../../types/email-preferences/EmailPreferences';\r\nimport { BlockedFeatureContent, SubscribeLink } from \"../../../components/access/BlockedFeatureText\";\r\nimport { alertOptionTooltipText } from '../../../constants/amr-pipeline/alertOptions';\r\nimport { useAppDispatch } from '../../../effects/useAppDispatch';\r\n\r\ninterface PipelineProps {\r\n viewMode: PipelineView;\r\n onRedirect: () => void;\r\n}\r\n\r\nexport function Pipeline({ viewMode, onRedirect }: PipelineProps) {\r\n const { pipelineType } = useContext(PipelineContext);\r\n const amrPipelineActions = useMemo(() => createAmrPipelineActions(pipelineType), [pipelineType]);\r\n const searchTransactionsActions = useMemo(() => createSearchTransactionActions(pipelineType), [pipelineType]);\r\n\r\n const dispatch = useAppDispatch();\r\n\r\n const [showColumnsDialog, setShowColumnsDialog] = useState(false);\r\n const {\r\n deals: {\r\n transactions,\r\n classes,\r\n isTransactionsSearching,\r\n isClassesSearching,\r\n syndicateContacts,\r\n wasInitialAccessTracked,\r\n numberOfHiddenTransactions,\r\n numberOfHiddenClasses,\r\n },\r\n searchTransactions: { searchTermItems },\r\n filter: { initialFilter, lastAppliedFilter, filterChanged, filterModified, selectedFilterReferenceName },\r\n } = useSelector(amrPipelineSelector(pipelineType));\r\n\r\n const columnsConfig = useSelector(state => state.imUserConfig.columnsConfig);\r\n const filtersConfig = useSelector(state => state.imUserConfig.filtersConfig);\r\n const isLoading = useSelector(state => state.imUserConfig.isLoading);\r\n const isUpdating = useSelector(state => state.imUserConfig.isUpdating);\r\n\r\n const isFilterApplied = useMemo(() => !isEqual(lastAppliedFilter, initialFilter), [lastAppliedFilter, initialFilter]);\r\n const isSearching = isTransactionsSearching || isClassesSearching;\r\n const isDataLoaded = !!(transactions && classes);\r\n const isPortfolioDisabled = user.hasRoles(roles.ArrangersClient);\r\n const isDealView = viewMode === PipelineView.Deal;\r\n const isDataAvailable = isDealView\r\n ? !!transactions?.length || !numberOfHiddenTransactions\r\n : !!classes?.length || !numberOfHiddenClasses;\r\n\r\n const { requestState } = usePortfolios(isPortfolioDisabled);\r\n const isPortfoliosLoaded = isPortfolioDisabled || isRequestSuccess(requestState) || isRequestFailed(requestState);\r\n\r\n useEffect(() => {\r\n dispatch(imUserConfigActions.getUserConfig(() => {\r\n dispatch(amrPipelineActions.init());\r\n }));\r\n\r\n return () => {\r\n dispatch(amrPipelineActions.reset());\r\n dispatch(searchTransactionsActions.reset());\r\n };\r\n }, [dispatch, amrPipelineActions, searchTransactionsActions]);\r\n\r\n useEffect(() => {\r\n !isUpdating && setShowColumnsDialog(false);\r\n }, [isUpdating]);\r\n\r\n useEffect(() => {\r\n if (!wasInitialAccessTracked && isDataLoaded && pipelineType === PipelineType.Deals) {\r\n dispatch(amrPipelineActions.logInitialAccessToIM());\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [isDataLoaded])\r\n\r\n const renderView = () => {\r\n const data = isDealView ? transactions : classes;\r\n\r\n if ((searchTermItems.length || (isFilterApplied && filterChanged)) && !data?.length) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n switch (viewMode) {\r\n case PipelineView.Deal:\r\n return (\r\n data && \r\n );\r\n default:\r\n return (\r\n data && \r\n );\r\n }\r\n };\r\n\r\n const tabColumnsConfig = useMemo(() => {\r\n const viewConfig = columnsConfig.find(({ type }) => {\r\n return type === (isDealView\r\n ? UserConfigType.imColumnsDealTab\r\n : UserConfigType.imColumnsClassTab\r\n )\r\n });\r\n\r\n if (!viewConfig) {\r\n return [];\r\n }\r\n\r\n return (viewConfig as ColumnsConfig).value\r\n .filter(column => !!column.displayed)\r\n .sort((a, b) => a.order - b.order);\r\n }, [columnsConfig, isDealView]);\r\n\r\n if (!isDataLoaded || !initialFilter || isLoading || !isPortfoliosLoaded) {\r\n return ;\r\n }\r\n\r\n const handleToggleFilterDefault = (referenceName: string, isDefault: boolean) => {\r\n dispatch(\r\n imUserConfigActions.setUserFilterParams(\r\n {\r\n referenceName: referenceName,\r\n default: isDefault,\r\n },\r\n UserConfigType.imFilter,\r\n ),\r\n );\r\n };\r\n\r\n const handleSaveFilterAlerts = (referenceName: string, alertOption: AlertOption, isDefault = false) => {\r\n dispatch(\r\n imUserConfigActions.setUserFilterParams(\r\n {\r\n referenceName,\r\n default: isDefault,\r\n alertOption,\r\n },\r\n UserConfigType.imFilter,\r\n ),\r\n );\r\n };\r\n\r\n const handleDeleteFilter = (referenceName: string) =>\r\n dispatch(imUserConfigActions.deleteUserFilter(referenceName, UserConfigType.imFilter));\r\n\r\n const renderFiltersManagement = () => (\r\n\r\n \r\n {blocked => (\r\n dispatch(amrPipelineActions.apply())}\r\n alertOptionInfo={{\r\n [AlertOption.Instant]: alertOptionTooltipText[AlertOption.Instant],\r\n [AlertOption.Daily]: alertOptionTooltipText[AlertOption.Daily],\r\n }}\r\n />\r\n )}\r\n \r\n );\r\n\r\n const renderColumnsCustomization = () => (\r\n \r\n {blocked => (\r\n <>\r\n \r\n setShowColumnsDialog(true)}\r\n disabled={isSearching || blocked}\r\n >\r\n \r\n Columns\r\n \r\n \r\n {showColumnsDialog && (\r\n setShowColumnsDialog(false)} />\r\n )}\r\n \r\n )}\r\n \r\n );\r\n\r\n const handleApplyFilter = () => dispatch(amrPipelineActions.apply());\r\n const handleResetFilter = () => dispatch(amrPipelineActions.filterReset());\r\n\r\n const handleResetFilterAndSearch = () => {\r\n dispatch(searchTransactionsActions.reset());\r\n handleResetFilter();\r\n };\r\n\r\n const handleFilterVisibilityChange = (filterName: string) => dispatch(amrPipelineActions.handleVisibilityFilter(filterName));\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n {renderFiltersManagement()}\r\n
\r\n {renderColumnsCustomization()}\r\n
\r\n
\r\n
\r\n
\r\n \r\n (\r\n to see Deal and Class stats.}\r\n />\r\n )}\r\n >\r\n \r\n \r\n (\r\n to see the {isDealView ? 'deals' : 'classes'}.}\r\n />\r\n )}\r\n >\r\n {renderView()}\r\n \r\n \r\n
\r\n {syndicateContacts && (\r\n dispatch(amrPipelineActions.resetSyndicateContacts())}\r\n />\r\n )}\r\n \r\n );\r\n}\r\n","import { IssueTransactionVolumeWidget } from '../../dashboard/issueTransactionVolume/IssueTransactionVolumeWidget';\r\nimport { TopArrangersWidget } from '../../dashboard/topIssuers/TopArrangersWidget';\r\nimport { TopIssuersWidget } from '../../dashboard/topIssuers/TopIssuersWidget';\r\nimport { UsBslEsgNewIssueWidget } from '../../dashboard/usBslEsgNewIssue/UsBslEsgNewIssueWidget';\r\nimport { TopDebutDeals } from '../../dashboard/topIssuers/TopDebutDeals';\r\nimport { TopStaticDeals } from '../../dashboard/topIssuers/TopStaticDeals';\r\nimport { UsBslEuCompliantDealsWidget } from '../../dashboard/usBslEuCompliantDeals/UsBslEuCompliantDealsWidget';\r\nimport { ShortLongDatedDealsWidget } from '../../dashboard/shortLongDatedDeals/ShortLongDatedDealsWidget';\r\nimport { IssuanceSpreadWidget } from '../../dashboard/issuanceSpread/IssuanceSpreadWidget';\r\nimport { TopTrusteesWidget } from '../../dashboard/topIssuers/TopTrusteesWidget';\r\nimport { UsBslNewIssueWeeklySpreads } from '../../dashboard/usBslNewIssueSpreads/UsBslNewIssueWeeklySpreads';\r\nimport { pipelineRequestCriteria } from '../../../constants';\r\nimport { IntersectionObserverProvider } from '../../common/IntersectionObsereverProvider';\r\n\r\ninterface PipelineDashboardProps {\r\n onWidgetItemClick: () => void;\r\n}\r\n\r\nexport const PipelineDashboard = ({ onWidgetItemClick }: PipelineDashboardProps) => {\r\n return (\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import { useSelector } from 'react-redux';\r\nimport { arrangerPipelineSelector } from '../../../../selectors/amr-pipeline.selector';\r\nimport { SummaryRow } from '../../../common/summary-row/SummaryRow';\r\nimport { SummaryRowItem } from '../../../common/summary-row/SummaryRowItem';\r\nimport { SummaryRowGroup } from '../../../common/summary-row/SummaryRowGroup';\r\n\r\nexport default function ArrangerPipelineSummary() {\r\n const {\r\n deals: { isSummaryRequesting, summary },\r\n } = useSelector(arrangerPipelineSelector);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import { useEffect, useMemo, useContext, useState } from 'react';\r\nimport { isEqual } from 'lodash';\r\nimport { useSelector } from 'react-redux';\r\nimport { FiltersManagement } from '../filters-management/FiltersManagement';\r\nimport { EmptyPlaceholder, Preloader } from '../../../common';\r\nimport { roles, SORT } from '../../../../constants';\r\nimport { PipelineFilter } from '../Filter';\r\nimport { arrangerPipelineSelector } from '../../../../selectors/amr-pipeline.selector';\r\nimport { Table } from '../../../bidding/common/table';\r\nimport PipelineContext from '../PipelineContext';\r\nimport { amrArrangerPipelineActions } from '../../../../actions/amr-arranger-pipeline.actions';\r\nimport { createAmrPipelineActions, createSearchTransactionActions, imUserConfigActions } from '../../../../actions';\r\nimport { PipelineType } from '../../../../types/amr-pipeline/enums/PipelineType';\r\nimport { user } from '../../../../user';\r\nimport { IssuanceMonitorTab } from '../../types/PipelineTabTypes';\r\nimport { SyndicatePopup } from '../SyndicatePopup';\r\nimport { SyndicateContacts } from '../../../../types/amr-pipeline/models/SyndicateContacts';\r\nimport { UserConfigType } from '../../../../types/user-config/UserConfigType';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { ImSubscriptionActionBlocker } from '../../subscription/ImSubscriptionActionBlocker';\r\nimport { SubscriptionFeature } from '../../../../types/billing/SubscriptionFeature';\r\nimport classNames from 'classnames';\r\nimport { getArrangerPipelineColumns, getCleansingNoticeColumns, getCleansingNoticeStickyColumns } from './arranger-pipeline.columns';\r\nimport { AlertOption } from '../../../../types/email-preferences/EmailPreferences';\r\nimport { FiltersConfig } from '../../../../types/user-config/UserConfig';\r\nimport { RequiredFeature } from '../../../access/RequiredFeature';\r\nimport ArrangerPipelineSummary from './ArrangerPipelineSummary';\r\nimport { BlockedFeatureContent, SubscribeLink } from \"../../../../components/access/BlockedFeatureText\";\r\nimport { alertOptionTooltipText } from '../../../../constants/amr-pipeline/alertOptions';\r\nimport { useAppDispatch } from '../../../../effects/useAppDispatch';\r\nimport useDownloadDocumentList from '../../../../effects/useDownloadDocumentList';\r\nimport { amrArrangerPipelineService } from '../../../../services/amr-arranger-pipeline.service';\r\nimport { Category, CleansingNotice, ArrangerPipeline as TArrangerPipeline } from '../../../../types/amr-pipeline/models/ArrangerPipeline';\r\nimport { AmrDocument } from '../../../../types/amr-pipeline/models/AmrDocument';\r\nimport { TableColumnStickType } from '../../../bidding/common/table/types/TableColumnStickType';\r\nimport Confirm from '../../../alerts/Confirm';\r\nimport { isRequestSuccess } from '../../../../utils';\r\nimport { useDealSecurityStatistics } from '../../../clo-managers/tabs/deals/hooks';\r\nimport { DealSecurityStatistics } from '../../../../types/security/DealSecurityStatistics';\r\n\r\nexport function addSecurityToPipeline(items: TArrangerPipeline[], securities: DealSecurityStatistics[]): TArrangerPipeline[] {\r\n return items.map(item => {\r\n if (item.category === Category.ArrangerPipeline) {\r\n return item;\r\n }\r\n\r\n const cleansingNotices = item.cleansingNotices.map(cn => {\r\n const security = securities.find(s => s.ticker === item.dealTicker)?.classes.find(c => c.ticker === cn.ticker144A);\r\n\r\n return {\r\n ...cn,\r\n security\r\n }\r\n });\r\n\r\n return { ...item, cleansingNotices }\r\n });\r\n}\r\n\r\nexport function ArrangerPipeline() {\r\n const dispatch = useAppDispatch();\r\n const { setTab, pipelineType } = useContext(PipelineContext);\r\n\r\n const [listItemForDeletion, setListItemForDeletion] = useState();\r\n\r\n const withImSubscription = user.hasFeatures(SubscriptionFeature.IssuanceMonitorFullAccess);\r\n const isStickyTable = user.hasRoles(roles.Administrator, roles.DataEntry);\r\n\r\n const {\r\n deals: {\r\n arrangerPipelines,\r\n isLoading,\r\n sortBy,\r\n sortDirection,\r\n anyPipelineExists,\r\n hasMore,\r\n selectedDealsLegalNames,\r\n nonVisibleCount,\r\n },\r\n filter: { lastAppliedFilter, initialFilter, filterChanged, filterModified, selectedFilterReferenceName },\r\n } = useSelector(arrangerPipelineSelector);\r\n\r\n const { requestState: securitiesRequestState, statistics } = useDealSecurityStatistics(\r\n // Pass non-empty deal tickers\r\n arrangerPipelines\r\n ? arrangerPipelines\r\n ?.filter(t => t.category === Category.CleansingNotice && !!t.dealTicker)\r\n .map(t => t.dealTicker!)\r\n : [],\r\n // Wait until deal transactions request is done\r\n isLoading,\r\n );\r\n\r\n\r\n const arrangerPipelinesWithSecurities = useMemo(() => arrangerPipelines ? addSecurityToPipeline(arrangerPipelines, statistics) : [], [arrangerPipelines, statistics]);\r\n const isAnyCleansingNotice = useMemo(() => arrangerPipelinesWithSecurities.some(item => item.category === Category.CleansingNotice), [arrangerPipelinesWithSecurities]);\r\n\r\n const filtersConfig = useSelector(state => state.imUserConfig.filtersConfig);\r\n\r\n const [syndicateContacts, setSyndicateContacts] = useState();\r\n\r\n const isEditAvailable = user.hasRoles(...roles.admin(), ...roles.bd(), roles.DataEntry);\r\n const hasInvisibleDeals = !!(nonVisibleCount && nonVisibleCount > 0);\r\n const isBasicSeller = !withImSubscription && user.hasRoles(...roles.seller());\r\n\r\n const arrangerPipelinesDocs = useMemo(() => {\r\n const managerPresentations: AmrDocument[] = [];\r\n const disclosureFiles: AmrDocument[] = [];\r\n\r\n arrangerPipelines?.forEach(ap => {\r\n const presentation = ap.managerPresentationFile;\r\n const disclosure = ap.disclosureFile;\r\n\r\n if (presentation) {\r\n managerPresentations.push(presentation);\r\n }\r\n\r\n if (disclosure) {\r\n disclosureFiles.push(disclosure);\r\n }\r\n });\r\n\r\n return {\r\n managerPresentations,\r\n disclosureFiles,\r\n };\r\n }, [arrangerPipelines]);\r\n\r\n const { managerPresentations, disclosureFiles } = arrangerPipelinesDocs;\r\n\r\n const { loadHandler: managerPresentationLoadHandler, loadingState: managerPresentationLoadingState } = useDownloadDocumentList({\r\n documents: managerPresentations,\r\n downloadRequest: (referenceName) =>\r\n amrArrangerPipelineService.downloadManagerPresentation(referenceName),\r\n });\r\n\r\n const { loadHandler: disclosureLoadHandler, loadingState: disclosureLoadingState } = useDownloadDocumentList({\r\n documents: disclosureFiles,\r\n downloadRequest: (referenceName) =>\r\n amrArrangerPipelineService.downloadDisclosureFile(referenceName),\r\n });\r\n\r\n const isFilterApplied = useMemo(\r\n () => !isEqual(lastAppliedFilter, initialFilter),\r\n [lastAppliedFilter, initialFilter],\r\n );\r\n\r\n useEffect(() => {\r\n dispatch(imUserConfigActions.getUserConfig());\r\n dispatch(amrArrangerPipelineActions.checkIfArrangerPipelineExist());\r\n dispatch(amrArrangerPipelineActions.reset());\r\n dispatch(amrArrangerPipelineActions.initFilter());\r\n\r\n return () => {\r\n const actions = createAmrPipelineActions(pipelineType);\r\n const searchTransactionsActions = createSearchTransactionActions(pipelineType);\r\n\r\n dispatch(actions.reset());\r\n dispatch(searchTransactionsActions.reset());\r\n dispatch(amrArrangerPipelineActions.reset());\r\n };\r\n }, [dispatch, pipelineType]);\r\n\r\n const onSort = (field: string) => {\r\n const switchSorting = (sort: string) => (sort === SORT.ASC ? SORT.DESC : SORT.ASC);\r\n\r\n dispatch(amrArrangerPipelineActions.sortingChange(field, switchSorting(sortDirection)));\r\n dispatch(amrArrangerPipelineActions.applyFilterAndSearch());\r\n };\r\n\r\n function loadArrangerPipelines() {\r\n if (!isLoading) dispatch(amrArrangerPipelineActions.arrangerPipelinesRequest());\r\n }\r\n\r\n const renderCollapsibleRow = (item: TArrangerPipeline, columnType: TableColumnStickType) => {\r\n let columns = isStickyTable ? [] : getCleansingNoticeColumns();\r\n\r\n if (!isRequestSuccess(securitiesRequestState)) {\r\n return ;\r\n }\r\n\r\n if (isStickyTable) {\r\n const [left, middle, right] = getCleansingNoticeStickyColumns();\r\n\r\n if (columnType === TableColumnStickType.Left) {\r\n columns = left;\r\n }\r\n\r\n if (columnType === TableColumnStickType.Middle) {\r\n columns = middle;\r\n }\r\n\r\n if (columnType === TableColumnStickType.Right) {\r\n columns= right;\r\n }\r\n }\r\n\r\n return (\r\n ({ securitiesRequestState, statistics })}\r\n createRowCustomKey={(cn: CleansingNotice) => `${item.referenceName} ${cn.cusip144A}`}\r\n />\r\n );\r\n };\r\n\r\n const shouldRenderCollapsibleRow = (item: TArrangerPipeline) => item.category === Category.CleansingNotice;\r\n\r\n const renderView = () => {\r\n if ((selectedDealsLegalNames.length || isFilterApplied) && !arrangerPipelinesWithSecurities?.length) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n ({\r\n setTab,\r\n actions: amrArrangerPipelineActions,\r\n setSyndicateContacts,\r\n onDeleteClick: setListItemForDeletion,\r\n managerPresentationLoadHandler,\r\n disclosureLoadHandler,\r\n isManagerPresentationDownloading:\r\n managerPresentationLoadingState[item.referenceName],\r\n isDisclosureDownloading: disclosureLoadingState[item.referenceName],\r\n })}\r\n columns={getArrangerPipelineColumns()}\r\n renderLastRow={\r\n isBasicSeller && hasInvisibleDeals\r\n ? () => (\r\n \r\n to see {nonVisibleCount} more deal detail(s).\r\n \r\n }\r\n />\r\n )\r\n : null\r\n }\r\n />\r\n );\r\n };\r\n\r\n if (!initialFilter) {\r\n return ;\r\n }\r\n\r\n const renderAddPipeline = () => (\r\n \r\n {isEditAvailable && (\r\n \r\n )}\r\n \r\n );\r\n\r\n const handleApplyFilter = () => dispatch(amrArrangerPipelineActions.applyFilterAndSearch());\r\n const handleResetFilter = () => dispatch(amrArrangerPipelineActions.resetFilter());\r\n\r\n const handleResetFilterAndSearch = () => {\r\n dispatch(amrArrangerPipelineActions.selectDealsFromSearch([]));\r\n handleResetFilter();\r\n };\r\n\r\n const handleToggleFilterDefault = (referenceName: string, isDefault: boolean) => {\r\n dispatch(\r\n imUserConfigActions.setUserFilterParams(\r\n {\r\n referenceName: referenceName,\r\n default: isDefault,\r\n },\r\n UserConfigType.apFilter,\r\n ),\r\n );\r\n };\r\n\r\n const handleSaveFilterAlerts = (referenceName: string, alertOption: AlertOption, isDefault = false) => {\r\n dispatch(\r\n imUserConfigActions.setUserFilterParams(\r\n {\r\n referenceName,\r\n default: isDefault,\r\n alertOption,\r\n },\r\n UserConfigType.apFilter,\r\n ),\r\n );\r\n };\r\n\r\n const handleDeleteFilter = (referenceName: string) =>\r\n dispatch(imUserConfigActions.deleteUserFilter(referenceName, UserConfigType.apFilter));\r\n\r\n const handleDeleteArrangerPipeline = () => {\r\n if (listItemForDeletion) {\r\n dispatch(amrArrangerPipelineActions.deleteArrangerPipeline(listItemForDeletion.referenceName));\r\n }\r\n\r\n setListItemForDeletion(undefined);\r\n }\r\n\r\n const renderFiltersManagement = () => (\r\n \r\n {blocked => (\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 {renderFiltersManagement()}\r\n
\r\n
\r\n
\r\n
\r\n {syndicateContacts && (\r\n setSyndicateContacts(undefined)}\r\n />\r\n )}\r\n (\r\n \r\n to see Arranger Pipeline and Cleansing Notice stats.\r\n \r\n }\r\n />\r\n )}\r\n >\r\n \r\n \r\n \r\n {anyPipelineExists ? renderView() : renderAddPipeline()}\r\n \r\n\r\n {listItemForDeletion && (\r\n setListItemForDeletion(undefined)}\r\n />\r\n )}\r\n
\r\n \r\n );\r\n}\r\n","import { useContext, useEffect, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { roles } from '../../../../constants';\r\nimport { DownloadTemplateButton } from '../../../common/download-template/DownloadTemplateButton';\r\nimport { Breadcrumbs } from '../../../controls/breadcrumbs/Breadcrumbs';\r\nimport { BreadcrumbsItem } from '../../../controls/breadcrumbs/BreadcrumbsItem';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport PipelineContext from '../PipelineContext';\r\nimport { IssuanceMonitorTab } from '../../types/PipelineTabTypes';\r\nimport { amrArrangerPipelineActions } from '../../../../actions/amr-arranger-pipeline.actions';\r\nimport { gridActions } from '../../../../actions';\r\nimport { Grid } from '../../../grid';\r\nimport { arrangerPipelineDealsSelector } from '../../../../selectors/amr-pipeline.selector';\r\nimport { DeleteAllButton } from '../../../grid/DeleteAllButton';\r\nimport { DeleteRowsWithErrorButton } from '../../../grid/DeleteRowsWithErrorButton';\r\nimport { RouteLeavingGuard } from '../../../routing';\r\nimport { ArrangerPipeline } from '../../../../types/amr-pipeline/models/ArrangerPipeline';\r\nimport { GridDataItem, GridUploadStatus } from '../../../../types/state/GridState';\r\nimport { UnsavedChangesPopup } from '../../../routing/UnsavedChangesPopup';\r\nimport { ShowFor } from '../../../access';\r\nimport { user } from '../../../../user';\r\nimport { Preloader } from '../../../common';\r\nimport { useHistory } from 'react-router';\r\n\r\nexport const ArrangerPipelineEdit = () => {\r\n const { setTab } = useContext(PipelineContext);\r\n const dispatch = useDispatch();\r\n\r\n const history = useHistory();\r\n\r\n const isGridUploading = useSelector(\r\n (state: AppState) =>\r\n state.grid.upload.status === GridUploadStatus.Uploading ||\r\n state.grid.upload.status === GridUploadStatus.UploadingSingle,\r\n );\r\n const { isSubmitting, isSubmitted, arrangerPipelines, isLoading } = useSelector(arrangerPipelineDealsSelector);\r\n const dataItems = useSelector((state: AppState) => state.grid.dataItems);\r\n\r\n const [showRouteLeavingPopup, setShowRouteLeavingPopup] = useState(false);\r\n\r\n const nonDraftDataItems = dataItems.filter(d => !d.draft);\r\n const hasErrors = dataItems.some(c => !c.draft && c.errors && c.errors.length);\r\n\r\n const isBD = user.hasRoles(...roles.bd());\r\n\r\n useEffect(() => {\r\n dispatch(amrArrangerPipelineActions.edit());\r\n\r\n return () => {\r\n dispatch(gridActions.reset());\r\n };\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n if (isSubmitted && setTab) {\r\n setTab(IssuanceMonitorTab.ArrangerPipeline);\r\n dispatch(amrArrangerPipelineActions.submitArrangerPipelineStatus(false));\r\n }\r\n }, [dispatch, isSubmitted, setTab]);\r\n\r\n const hasChanges = () => {\r\n const isChangedOrRemoved = (original: ArrangerPipeline, edit?: GridDataItem) => {\r\n if (!edit) return true;\r\n\r\n return (\r\n original.type !== edit.type ||\r\n original.reinvestmentPeriodEnd !== edit.reinvestmentPeriodEnd ||\r\n original.nonCallPeriodEnd !== edit.nonCallPeriodEnd ||\r\n original.arranger?.referenceName !== edit.arrangerReferenceName ||\r\n original.collateralManager.referenceName !== edit.collateralManagerReferenceName ||\r\n original.anchor !== edit.anchor ||\r\n original.equity !== edit.equity ||\r\n original.dealStage !== edit.dealStage ||\r\n original.expectedTiming !== edit.expectedTiming ||\r\n original.dealLegalName !== edit.dealLegalName ||\r\n original.euCompliance !== edit.euCompliance ||\r\n original.collateralType !== edit.collateralType ||\r\n original.expectedTiming !== edit.expectedTiming ||\r\n original.dealStage !== edit.dealStage ||\r\n original.disclosureFile !== edit.disclosureFile\r\n );\r\n }\r\n\r\n return (\r\n arrangerPipelines?.some(p =>\r\n isChangedOrRemoved(\r\n p,\r\n nonDraftDataItems.find(i => i.referenceName === p.referenceName),\r\n ),\r\n ) ||\r\n (arrangerPipelines && nonDraftDataItems.length > arrangerPipelines.length)\r\n );\r\n }\r\n\r\n\r\n const handleSave = () => {\r\n dispatch(amrArrangerPipelineActions.submitArrangerPipeline());\r\n };\r\n\r\n const handleCancel = () => {\r\n if (hasChanges()) {\r\n setShowRouteLeavingPopup(true);\r\n return;\r\n }\r\n\r\n setTab && setTab(IssuanceMonitorTab.ArrangerPipeline);\r\n };\r\n\r\n return (\r\n
\r\n history.push(pathname)}\r\n shouldBlockNavigation={() => hasChanges()}\r\n />\r\n {showRouteLeavingPopup && (\r\n setTab && setTab(IssuanceMonitorTab.ArrangerPipeline)}\r\n onCancel={() => setShowRouteLeavingPopup(false)}\r\n />\r\n )}\r\n
\r\n
\r\n \r\n \r\n \r\n Arranger's Pipeline\r\n \r\n \r\n \r\n

Edit List

\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n SAVE\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n","import classNames from 'classnames';\r\nimport React, { useState, useEffect, useRef, useCallback } from 'react';\r\nimport { constants } from '../../../../constants/constants';\r\nimport IconSVG from '../../../../styles/svg-icons';\r\nimport { EmptyPlaceholder } from '../../../common';\r\nimport { ChipList } from '../../../filters/ChipList';\r\n\r\ninterface Props {\r\n placeholder?: string;\r\n onSearch: (searchItems: string[]) => any;\r\n selectedSearchItems: string[],\r\n className?: string;\r\n data: string[];\r\n disabled?: boolean;\r\n}\r\n\r\nexport const ArrangerPipelineSearchDeals = ({\r\n placeholder = '',\r\n onSearch,\r\n className,\r\n data,\r\n selectedSearchItems,\r\n disabled = false,\r\n}: Props) => {\r\n const refInput = useRef(null);\r\n const refScrollableContainer = useRef(null);\r\n const refActiveItem = useRef(null);\r\n const [searchTerm, setSearchTerm] = useState('');\r\n const [searchTermItems, setSearchTermItems] = useState(selectedSearchItems);\r\n const [markerPosition, setMarkerPosition] = useState(-1);\r\n const [filteredItems, setFilteredItems] = useState([]);\r\n const [index, setIndex] = useState(0);\r\n const [focusInput, setFocusInput] = useState(false);\r\n\r\n const getFilteredItems = useCallback(\r\n (value: string) => {\r\n const valueLowerCase = value.trim().toLowerCase();\r\n\r\n return data.filter(i => i.toLowerCase().includes(valueLowerCase));\r\n },\r\n [data],\r\n );\r\n\r\n useEffect(() => {\r\n if (refScrollableContainer.current && refActiveItem.current && data.length) {\r\n const container = refScrollableContainer.current.getBoundingClientRect();\r\n const item = refActiveItem.current.getBoundingClientRect();\r\n if (item.top < container.top || item.bottom > container.bottom) {\r\n refActiveItem.current.scrollIntoView(false);\r\n }\r\n }\r\n }, [data, index]);\r\n\r\n\r\n useEffect(() => {\r\n if (selectedSearchItems.length && !searchTermItems.length) {\r\n setSearchTermItems(selectedSearchItems);\r\n }\r\n\r\n if (!selectedSearchItems.length) {\r\n setSearchTermItems([]);\r\n }\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [JSON.stringify(selectedSearchItems)])\r\n\r\n useEffect(() => {\r\n setFilteredItems(getFilteredItems(searchTerm));\r\n }, [searchTerm, getFilteredItems]);\r\n\r\n useEffect(() => {\r\n onSearch(searchTermItems);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [searchTermItems]);\r\n\r\n const handleSearchTermChange = (e: React.ChangeEvent) => {\r\n setSearchTerm(e.target.value);\r\n setIndex(0);\r\n };\r\n\r\n const handleClearAll = () => {\r\n setIndex(0);\r\n refInput.current && refInput.current.focus();\r\n setSearchTerm('');\r\n setSearchTermItems([]);\r\n setMarkerPosition(-1);\r\n };\r\n\r\n const handleLookupItemClick = (lookupItem: string) => {\r\n setIndex(0);\r\n\r\n refInput.current && refInput.current.focus();\r\n\r\n if (!searchTermItems.find(s => s === lookupItem)) {\r\n setSearchTermItems([...searchTermItems, lookupItem]);\r\n }\r\n\r\n setSearchTerm('');\r\n };\r\n\r\n const searchMoveBack = () => {\r\n if (markerPosition > 0) {\r\n setMarkerPosition(markerPosition - 1);\r\n }\r\n\r\n if (markerPosition === -1) {\r\n setMarkerPosition(searchTermItems.length - 1);\r\n }\r\n };\r\n\r\n const searchMoveForward = () => {\r\n if (markerPosition >= 0 && markerPosition < searchTermItems.length - 1) {\r\n setMarkerPosition(markerPosition + 1);\r\n }\r\n\r\n setMarkerPosition(-1);\r\n };\r\n\r\n function getMarkerPositionAfterItemRemove(markerPosition: number, removedIndex: number) {\r\n return markerPosition > removedIndex ? markerPosition - 1 : markerPosition;\r\n }\r\n\r\n const handleRemoveChip = (i: number) => {\r\n setSearchTermItems(searchTermItems.filter((item, index) => index !== i));\r\n setMarkerPosition(getMarkerPositionAfterItemRemove(markerPosition, i));\r\n\r\n if (refInput.current) {\r\n refInput.current.focus();\r\n }\r\n };\r\n\r\n const removeCurrentItem = () => {\r\n if (markerPosition > -1 && markerPosition < searchTermItems.length) {\r\n setSearchTermItems(searchTermItems.filter((item, index) => index !== markerPosition));\r\n }\r\n };\r\n\r\n const handleKeyDown = (e: React.KeyboardEvent) => {\r\n if (e.keyCode === 8) {\r\n if (markerPosition > 0 && !searchTerm) {\r\n removeCurrentItem();\r\n } else if (e.currentTarget.selectionStart === 0 && !searchTerm) {\r\n handleRemoveChip(searchTermItems.length - 1);\r\n }\r\n } else if (!searchTerm && e.keyCode === 37 && e.currentTarget.selectionStart === 0) {\r\n searchMoveBack();\r\n } else if (!searchTerm && e.keyCode === 39 && markerPosition !== -1) {\r\n e.preventDefault();\r\n searchMoveForward();\r\n }\r\n if (filteredItems.length) {\r\n if (e.keyCode === 13) {\r\n // enter\r\n handleLookupItemClick(filteredItems[index]);\r\n } else if (e.keyCode === 38) {\r\n // move up\r\n e.preventDefault();\r\n if (index > 0) {\r\n setIndex(index - 1);\r\n }\r\n } else if (e.keyCode === 40 && index < filteredItems.length - 1) {\r\n // move down\r\n setIndex(index + 1);\r\n }\r\n }\r\n };\r\n\r\n const handleFocus = () => {\r\n setFocusInput(true);\r\n };\r\n\r\n const handleBlur = () => {\r\n setFocusInput(false);\r\n };\r\n\r\n const renderLookupItem = (item: string, i: number) => {\r\n return (\r\n (refActiveItem.current = index === i ? node : refActiveItem.current)}\r\n className={classNames({ active: index === i })}\r\n onClick={() => handleLookupItemClick(item)}\r\n >\r\n \r\n
\r\n {item}\r\n
\r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {(!!searchTerm || !!searchTermItems.length) && (\r\n \r\n \r\n \r\n )}\r\n {searchTerm.length > constants.searchTermAcceptedLength && (\r\n
\r\n \r\n {filteredItems.length ? (\r\n {filteredItems.map((item, index) => renderLookupItem(item, index))}\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 { useContext, useMemo, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { StatisticsAlertOption } from \"../../../../../types/amr-pipeline/enums/AlertOption\";\r\nimport { AlertOption } from \"../../../../../types/email-preferences/EmailPreferences\";\r\nimport { AppState } from \"../../../../../types/state/AppState\";\r\nimport { UserConfigState } from \"../../../../../types/state/UserConfigState\";\r\nimport { UserConfigFilter } from \"../../../../../types/user-config/UserConfigFilter\";\r\nimport { Popup, PopupBody, PopupFooter } from \"../../../../controls\";\r\nimport PipelineContext from \"../../PipelineContext\";\r\nimport { UserConfigType } from \"../../../../../types/user-config/UserConfigType\";\r\nimport { PipelineType } from \"../../../../../types/amr-pipeline/enums/PipelineType\";\r\nimport { ImEmailAlerts } from \"./ImEmailAlerts\";\r\nimport { routes } from \"../../../../../constants\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { EmailPreferencesTab } from \"../../../../profile/tabs/email-preferences/EmailPreferencesContent\";\r\nimport { Preloader } from \"../../../../common\";\r\nimport { isEqual } from \"lodash\";\r\n\r\ninterface EmailAlertsPopupProps {\r\n onSave: (\r\n everySingleUpdate: AlertOption,\r\n newTransactionUpdate: AlertOption,\r\n weeklyStatistic: StatisticsAlertOption,\r\n filterConfig: UserConfigFilter[]\r\n ) => void;\r\n onClose: () => void;\r\n}\r\n\r\nexport const ImEmailAlertsPopup = ({\r\n onSave,\r\n onClose,\r\n}: EmailAlertsPopupProps) => {\r\n const { pipelineType } = useContext(PipelineContext);\r\n\r\n const filterType =\r\n pipelineType === PipelineType.ArrangerPipeline\r\n ? UserConfigType.apFilter\r\n : UserConfigType.imFilter;\r\n\r\n const imUserConfig = useSelector(\r\n (state) => state.imUserConfig\r\n );\r\n\r\n const { isUpdating, isDeleting } = imUserConfig;\r\n\r\n const imAlertOption = imUserConfig.imAlertConfig.value.alertOption;\r\n const newTransactionAlertOption = imUserConfig.newTransactionAlertConfig.value.alertOption;\r\n const weeklyStatsAlertOption = imUserConfig.weeklyStatsAlertConfig.value.emailOption;\r\n const filterList = imUserConfig.filtersConfig[filterType].value;\r\n\r\n const [singleUpdateReceiving, setSingleUpdateReceiving] = useState(imAlertOption);\r\n const [newTransactionReceiving, setNewTransactionReceiving] = useState(newTransactionAlertOption);\r\n const [statisticsReceiving, setStatisticsReceiving] = useState(weeklyStatsAlertOption);\r\n const [filterAlertsStatuses, setFilterAlertsStatuses] =\r\n useState(filterList);\r\n\r\n const handleSave = () =>\r\n onSave(singleUpdateReceiving, newTransactionReceiving, statisticsReceiving, filterAlertsStatuses);\r\n\r\n const withAlertsFilters = !!filterAlertsStatuses.length;\r\n\r\n const isInitialFilter = useMemo(() =>\r\n isEqual(filterList, filterAlertsStatuses),\r\n [filterList, filterAlertsStatuses]\r\n );\r\n\r\n const isInitialAlertsState = \r\n singleUpdateReceiving === imAlertOption &&\r\n newTransactionReceiving === newTransactionAlertOption &&\r\n statisticsReceiving === weeklyStatsAlertOption &&\r\n isInitialFilter;\r\n\r\n const inProgress = isUpdating || isDeleting;\r\n const isSaveDisabled = isInitialAlertsState || inProgress;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n Manage Alerts\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import { useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { AlertOption } from \"../../../../../types/email-preferences/EmailPreferences\";\r\nimport { AppState } from \"../../../../../types/state/AppState\";\r\nimport { UserConfigState } from \"../../../../../types/state/UserConfigState\";\r\nimport { Popup, PopupBody, PopupFooter } from \"../../../../controls\";\r\nimport { ApEmailAlerts } from \"./ApEmailAlerts\";\r\nimport { routes } from \"../../../../../constants\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { EmailPreferencesTab } from \"../../../../profile/tabs/email-preferences/EmailPreferencesContent\";\r\nimport { Preloader } from \"../../../../common\";\r\n\r\ninterface EmailAlertsPopupProps {\r\n onSave: (upcomingOption: AlertOption) => void;\r\n onClose: () => void;\r\n}\r\n\r\nexport const ApEmailAlertsPopup = ({\r\n onSave,\r\n onClose,\r\n}: EmailAlertsPopupProps) => {\r\n const imUserConfig = useSelector(\r\n (state) => state.imUserConfig\r\n );\r\n\r\n const { isUpdating, isDeleting } = imUserConfig;\r\n\r\n const initialUpcomingTransaction = imUserConfig.apAlertConfig.value.alertOption;\r\n\r\n const [upcomingTransaction, setUpcomingTransaction] =\r\n useState(initialUpcomingTransaction);\r\n\r\n const handleSave = () => onSave(upcomingTransaction);\r\n\r\n const isInitialAlertsState = upcomingTransaction === initialUpcomingTransaction;\r\n const inProgress = isUpdating || isDeleting;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n Manage Alerts\r\n \r\n \r\n \r\n Save {inProgress && }\r\n \r\n \r\n \r\n );\r\n};\r\n","import { useState, useEffect, useContext, useMemo } from 'react';\r\nimport { debounce } from 'lodash';\r\nimport { PipelineView } from '../types/PipelineView';\r\nimport { ButtonSwitch } from '../../controls/';\r\nimport { TransactionsSearchInput } from '../../filters/TransactionsSearchInput';\r\nimport IconSVG from '../../../styles/svg-icons';\r\nimport { useSelector } from 'react-redux';\r\nimport { AppState } from '../../../types/state/AppState';\r\nimport { createAmrPipelineActions, imUserConfigActions } from '../../../actions/';\r\nimport { UserConfigFilter } from '../../../types/user-config/UserConfigFilter';\r\nimport { StatisticsAlertOption } from '../../../types/amr-pipeline/enums/AlertOption';\r\nimport { AlertOption } from '../../../types/email-preferences/EmailPreferences';\r\nimport PipelineContext from './PipelineContext';\r\nimport { amrDealsSelector, arrangerPipelineDealsSelector } from '../../../selectors/amr-pipeline.selector';\r\nimport { IssuanceMonitorTab } from '../types/PipelineTabTypes';\r\nimport { amrArrangerPipelineActions } from '../../../actions/amr-arranger-pipeline.actions';\r\nimport { roles } from '../../../constants';\r\nimport { user } from '../../../user';\r\nimport { ArrangerPipelineSearchDeals } from './arranger-pipeline/ArrangerPipelineSearchDeal';\r\nimport ExportButton from '../common/ExportButton';\r\nimport { AlertsButton } from '../../common/AlertsButton';\r\nimport { ActionBlocker } from '../../access/ActionBlocker';\r\nimport { SubscriptionFeature } from '../../../types/billing/SubscriptionFeature';\r\nimport { useAppDispatch } from '../../../effects/useAppDispatch';\r\nimport { UserConfigType } from '../../../types/user-config/UserConfigType';\r\nimport { ImEmailAlertsPopup } from './email-alerts/issuance-monitor/ImEmailAlertsPopup';\r\nimport { ApEmailAlertsPopup } from \"./email-alerts/arranger-pipeline/ApEmailAlertsPopup\";\r\n\r\ninterface Props {\r\n viewMode: PipelineView;\r\n tab: IssuanceMonitorTab;\r\n onViewModeChange: (viewMode: PipelineView) => void;\r\n}\r\n\r\nexport const IssuanceMonitorTopPanel = ({ tab, viewMode, onViewModeChange }: Props) => {\r\n const { pipelineType, setTab, withBlockedSearchAndFilter } = useContext(PipelineContext);\r\n const amrPipelineActions = createAmrPipelineActions(pipelineType);\r\n\r\n const dispatch = useAppDispatch();\r\n\r\n const {\r\n isUpdating,\r\n imAlertConfig,\r\n newTransactionAlertConfig,\r\n weeklyStatsAlertConfig,\r\n filtersConfig,\r\n apAlertConfig,\r\n } = useSelector((state: AppState) => state.imUserConfig);\r\n const { classes, isExportLoad: isDealsPipelineExportLoad } = useSelector(\r\n amrDealsSelector(pipelineType),\r\n (oldState, newState) =>\r\n oldState.classes === newState.classes && oldState.isExportLoad === newState.isExportLoad,\r\n );\r\n const { arrangerPipelines, anyPipelineExists, isExportLoad: isArrangerPipelineExportLoad, dealsSearchItems, selectedDealsLegalNames } = useSelector(arrangerPipelineDealsSelector);\r\n\r\n const isBD = user.hasRoles(...roles.bd());\r\n const isEditArrangerPipelineAvailable = isBD || user.hasRoles(...roles.admin(), roles.DataEntry);\r\n\r\n const isArrangerPipelineTab = tab === IssuanceMonitorTab.ArrangerPipeline;\r\n\r\n const imAlertOption = imAlertConfig.value.alertOption;\r\n const newTransAlertOption = newTransactionAlertConfig.value.alertOption;\r\n const weeklyStatsAlertOption = weeklyStatsAlertConfig.value.emailOption;\r\n const filterAlertOptions = filtersConfig.ImFilter.value;\r\n const arrangerPipelineAlertOption = apAlertConfig.value.alertOption;\r\n\r\n const withSelectedAlerts = useMemo(() => {\r\n if (isArrangerPipelineTab) {\r\n return arrangerPipelineAlertOption !== AlertOption.Never;\r\n }\r\n\r\n const alertsOptions = [\r\n imAlertOption,\r\n newTransAlertOption,\r\n weeklyStatsAlertOption,\r\n ...filterAlertOptions.map(f => f.alertOption),\r\n ];\r\n\r\n return alertsOptions.some(a => a !== AlertOption.Never);\r\n }, [\r\n isArrangerPipelineTab,\r\n imAlertOption,\r\n newTransAlertOption,\r\n weeklyStatsAlertOption,\r\n filterAlertOptions,\r\n arrangerPipelineAlertOption,\r\n ])\r\n\r\n\r\n const isExportDisabled =\r\n isArrangerPipelineTab\r\n ? !arrangerPipelines?.length\r\n : !classes?.length || isDealsPipelineExportLoad;\r\n\r\n const isExportLoad =\r\n isArrangerPipelineTab ? isArrangerPipelineExportLoad : isDealsPipelineExportLoad;\r\n\r\n const [showAlertsPopup, setAlertsPopup] = useState(false);\r\n\r\n useEffect(() => {\r\n if (!isUpdating) {\r\n setAlertsPopup(false);\r\n }\r\n }, [isUpdating]);\r\n\r\n\r\n const searchDeals = () => {\r\n dispatch(amrPipelineActions.apply());\r\n };\r\n\r\n const searchArrangerPipeline = (dealsLegalNames: string[]) => {\r\n dispatch(amrArrangerPipelineActions.selectDealsFromSearch(dealsLegalNames));\r\n dispatch(amrArrangerPipelineActions.applyFilterAndSearch());\r\n }\r\n\r\n const handleSearchDeals = debounce(searchDeals, 50);\r\n const handleSearchArrangerPipeline = debounce(searchArrangerPipeline, 50);\r\n\r\n const handleExport = () => {\r\n if (isArrangerPipelineTab) {\r\n dispatch(amrArrangerPipelineActions.exportPipelines());\r\n return;\r\n }\r\n\r\n dispatch(amrPipelineActions.exportTransactionsClasses(viewMode));\r\n }\r\n\r\n const onShowPopup = () => setAlertsPopup(true);\r\n const onHidePopup = () => setAlertsPopup(false);\r\n\r\n const onSaveImEmailAlerts = (everySingleUpdate: AlertOption, newTransactionUpdate: AlertOption, weeklyStatistic: StatisticsAlertOption, filterStates: UserConfigFilter[]) => {\r\n const updatedAlerts = filterStates.map(f => ({\r\n referenceName: f.referenceName,\r\n alertOption: f.alertOption,\r\n }));\r\n\r\n dispatch(imUserConfigActions.updateUserFilterEmailAlerts(everySingleUpdate, newTransactionUpdate, weeklyStatistic, updatedAlerts));\r\n };\r\n\r\n const onSaveApEmailAlerts = (upcomingOption: AlertOption) => {\r\n const apConfigs = [\r\n {\r\n type: UserConfigType.arrangerPipelineAlert,\r\n value: {\r\n alertOption: upcomingOption\r\n },\r\n },\r\n ];\r\n dispatch(imUserConfigActions.updateUserConfig(apConfigs));\r\n };\r\n\r\n const renderEmailAlertsPopup = () => {\r\n if (!showAlertsPopup) {\r\n return null;\r\n }\r\n\r\n return isArrangerPipelineTab ? (\r\n \r\n ) : (\r\n \r\n );\r\n };\r\n\r\n return (\r\n <>\r\n {!isArrangerPipelineTab && (\r\n \r\n )}\r\n \r\n {blocked =>\r\n isArrangerPipelineTab ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n \r\n
\r\n {isArrangerPipelineTab && isEditArrangerPipelineAvailable && (\r\n \r\n {blocked => (\r\n setTab && setTab(IssuanceMonitorTab.ArrangerPipelineEdit)}\r\n className=\"btn-link\"\r\n >\r\n \r\n Edit Arranger Pipeline\r\n \r\n )}\r\n \r\n )}\r\n \r\n {(blocked) => (\r\n \r\n )}\r\n \r\n \r\n
\r\n\r\n {renderEmailAlertsPopup()}\r\n \r\n );\r\n};\r\n","import { useMemo } from 'react';\r\nimport { PipelineView } from '../types/PipelineView';\r\nimport { IssuanceMonitorTopPanel } from './IssuanceMonitorTopPanel';\r\nimport { Tab, PipelineTabs } from './PipelineTabs';\r\nimport { useSelector } from 'react-redux';\r\nimport { IssuanceMonitorTab } from '../types/PipelineTabTypes';\r\nimport { user } from '../../../user';\r\nimport { roles } from '../../../constants';\r\nimport { hasIOIsAccess } from '../../../utils/amr-pipeline.utils';\r\nimport { SubscriptionFeature } from '../../../types/billing/SubscriptionFeature';\r\nimport { arrangerPipelineDealsSelector } from '../../../selectors/amr-pipeline.selector';\r\n\r\ninterface IssuanceMonitorLayoutProps {\r\n tab: IssuanceMonitorTab;\r\n setTab: (tab: IssuanceMonitorTab) => void;\r\n viewMode: PipelineView;\r\n setViewMode: (viewMode: PipelineView) => void;\r\n children: React.ReactNode;\r\n}\r\n\r\nconst Tabs = [\r\n { title: 'Deals', tab: IssuanceMonitorTab.Deals },\r\n { title: 'Dashboard', tab: IssuanceMonitorTab.Dashboard },\r\n { title: 'Arranger Pipeline', tab: IssuanceMonitorTab.ArrangerPipeline },\r\n { title: 'IOIs', tab: IssuanceMonitorTab.IOIs },\r\n];\r\n\r\nexport const IssuanceMonitorLayout = ({ tab, setTab, viewMode, setViewMode, children }: IssuanceMonitorLayoutProps) => {\r\n const ioisAccess = hasIOIsAccess();\r\n\r\n const anyPipelineExists = useSelector(arrangerPipelineDealsSelector).anyPipelineExists;\r\n\r\n const withImSubscription = user.hasFeatures(SubscriptionFeature.IssuanceMonitorFullAccess);\r\n const isBD = user.hasRoles(...roles.bd());\r\n\r\n const isArrangerPipelineDisabled = !withImSubscription && !anyPipelineExists && !isBD;\r\n\r\n const isTabDisabled = (tab: IssuanceMonitorTab) => tab === IssuanceMonitorTab.ArrangerPipeline && isArrangerPipelineDisabled;\r\n\r\n const accessibleTabs = useMemo(() => Tabs.filter(({ tab }) => ioisAccess ? true : tab !== IssuanceMonitorTab.IOIs), [ioisAccess]);\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n {accessibleTabs.map(({ title, tab }) => (\r\n \r\n ))}\r\n \r\n\r\n {tab !== IssuanceMonitorTab.Dashboard && (\r\n \r\n )}\r\n
\r\n
\r\n {children}\r\n \r\n );\r\n};\r\n","import { useState, useEffect, useMemo } from 'react';\r\nimport queryString from 'query-string';\r\nimport { useLocation } from 'react-router';\r\nimport {\r\n amrPipelineCommonActions,\r\n} from '../../../actions/';\r\nimport { Pipeline } from './Pipeline';\r\nimport { PipelineDashboard } from './PipelineDashboard';\r\nimport { PipelineView } from '../types/PipelineView';\r\nimport { useSelector } from 'react-redux';\r\nimport PipelineContext from './PipelineContext';\r\nimport { PipelineType } from '../../../types/amr-pipeline/enums/PipelineType';\r\nimport { ArrangerPipeline } from './arranger-pipeline/ArrangerPipeline';\r\nimport { IssuanceMonitorTab } from '../types/PipelineTabTypes';\r\nimport { ArrangerPipelineEdit } from './arranger-pipeline/ArrangerPipelineEdit';\r\nimport { user } from '../../../user';\r\nimport { roles } from '../../../constants';\r\nimport { SubscriptionFeature } from '../../../types/billing/SubscriptionFeature';\r\nimport { amrDealsSelector, arrangerPipelineDealsSelector } from '../../../selectors/amr-pipeline.selector';\r\nimport { IssuanceMonitorLayout } from './IssuanceMonitorLayout';\r\nimport { useAppDispatch } from '../../../effects/useAppDispatch';\r\n\r\nexport const IssuanceMonitor = () => {\r\n const dispatch = useAppDispatch();\r\n const location = useLocation();\r\n\r\n const { imPipelineTab, pipelineViewMode } = queryString.parse(location.search, { decode: false });\r\n\r\n const anyPipelineExists = useSelector(arrangerPipelineDealsSelector).anyPipelineExists;\r\n const anyIOIsExists = useSelector(amrDealsSelector(PipelineType.IOIs)).anyIOIsExists;\r\n\r\n const withImSubscription = user.hasFeatures(SubscriptionFeature.IssuanceMonitorFullAccess);\r\n\r\n const [viewMode, setViewMode] = useState(pipelineViewMode as PipelineView || PipelineView.Deal);\r\n const [tab, setTab] = useState(imPipelineTab as IssuanceMonitorTab || IssuanceMonitorTab.Deals);\r\n\r\n const [isOptionsColumnCollapsed, setIsOptionsColumnCollapsed] = useState({\r\n [IssuanceMonitorTab.Deals]: false,\r\n [IssuanceMonitorTab.IOIs]: false\r\n });\r\n\r\n const [filtersCollapseStatus, setFiltersCollapseStatus] = useState({\r\n [PipelineType.Deals]: false,\r\n [PipelineType.IOIs]: false,\r\n [PipelineType.ArrangerPipeline]: false\r\n });\r\n\r\n const contextValue = useMemo(() => {\r\n const collapseState = {\r\n filtersCollapseStatus,\r\n setFiltersCollapseStatus: (isCollapsed: boolean) => {\r\n setFiltersCollapseStatus(prevValue => ({\r\n ...prevValue,\r\n [tab]: isCollapsed,\r\n }));\r\n },\r\n };\r\n\r\n const optionCollapseStatus = {\r\n optionColumnCollapseStatus: isOptionsColumnCollapsed,\r\n setOptionColumnCollapseStatus: (isCollapsed: boolean) => {\r\n setIsOptionsColumnCollapsed(prevValue => ({\r\n ...prevValue,\r\n [tab]: isCollapsed\r\n }))\r\n }\r\n };\r\n\r\n switch (tab) {\r\n case IssuanceMonitorTab.IOIs:\r\n return {\r\n pipelineType: PipelineType.IOIs,\r\n setTab: (tab: IssuanceMonitorTab) => setTab(tab),\r\n ...collapseState,\r\n ...optionCollapseStatus,\r\n withImSubscription,\r\n withBlockedSearchAndFilter: !anyIOIsExists,\r\n };\r\n case IssuanceMonitorTab.ArrangerPipeline:\r\n case IssuanceMonitorTab.ArrangerPipelineEdit:\r\n return {\r\n pipelineType: PipelineType.ArrangerPipeline,\r\n setTab: (tab: IssuanceMonitorTab) => setTab(tab),\r\n ...collapseState,\r\n ...optionCollapseStatus,\r\n withImSubscription,\r\n withBlockedSearchAndFilter: !anyPipelineExists,\r\n };\r\n default:\r\n return {\r\n pipelineType: PipelineType.Deals,\r\n setTab: (tab: IssuanceMonitorTab) => setTab(tab),\r\n ...collapseState,\r\n ...optionCollapseStatus,\r\n withImSubscription,\r\n };\r\n }\r\n }, [tab, filtersCollapseStatus, isOptionsColumnCollapsed, withImSubscription, anyPipelineExists, anyIOIsExists]);\r\n\r\n useEffect(() => {\r\n if (user.hasSingleRole(roles.ArrangersClient)) {\r\n dispatch(amrPipelineCommonActions.redirectInvitedClientToTransactionDetails())\r\n return;\r\n }\r\n }, [dispatch]);\r\n\r\n const renderPipeline = (tab: IssuanceMonitorTab) => {\r\n switch (tab) {\r\n case IssuanceMonitorTab.Dashboard:\r\n return setTab(IssuanceMonitorTab.Deals)} />;\r\n case IssuanceMonitorTab.ArrangerPipeline:\r\n return ;\r\n case IssuanceMonitorTab.Deals:\r\n case IssuanceMonitorTab.IOIs:\r\n return setTab(IssuanceMonitorTab.Deals)} />;\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const renderIssuanceMonitor = () => {\r\n if (tab === IssuanceMonitorTab.ArrangerPipelineEdit) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n {renderPipeline(tab)}\r\n \r\n )\r\n };\r\n\r\n return (\r\n \r\n
\r\n {renderIssuanceMonitor()}\r\n
\r\n
\r\n );\r\n};\r\n","import { useDispatch, useSelector } from 'react-redux';\r\nimport moment from 'moment';\r\nimport { amrTransactionHistoryActions } from '../../../actions';\r\nimport { constants } from '../../../constants';\r\nimport { AppState } from '../../../types/state/AppState';\r\nimport { Preloader } from '../../common';\r\nimport { Popover } from '../../controls'\r\nimport { TransactionHistoryLink } from '../common/TransactionHistoryLink';\r\nimport { Transaction } from '../../../types/amr-pipeline/models/Transaction';\r\nimport { TransactionType } from '../../../types/amr-pipeline/enums/TransactionType';\r\nimport { TransactionStatus } from '../../../types/amr-pipeline/enums/TransactionStatus';\r\nimport { dateTimeUtils } from '../../../utils';\r\n\r\ninterface LastUpdatedPopoverProps {\r\n transaction: Transaction;\r\n classReferenceName?: string;\r\n field: 'guidance' | 'subscription';\r\n children: React.ReactElement;\r\n historyLinkTarget?: React.HTMLAttributeAnchorTarget;\r\n}\r\n\r\nexport const LastUpdatedPopover = ({\r\n transaction,\r\n classReferenceName,\r\n field,\r\n children,\r\n historyLinkTarget,\r\n}: LastUpdatedPopoverProps) => {\r\n const dispatch = useDispatch();\r\n const { isLoading, ...rest } = useSelector((state: AppState) =>\r\n state.issuanceMonitor.amrPipelineHistory.lastUpdatedFields\r\n );\r\n\r\n const {\r\n dealReferenceName,\r\n dealLegalName,\r\n referenceName,\r\n version,\r\n type,\r\n status,\r\n lastUpdated,\r\n } = transaction;\r\n const isClosed = status === TransactionStatus.Closed;\r\n const withHistory =\r\n type !== TransactionType.amr && status !== TransactionStatus.Draft;\r\n\r\n const handleOpen = () => {\r\n dispatch(amrTransactionHistoryActions.transactionFieldsUpdatedReset());\r\n dispatch(\r\n amrTransactionHistoryActions.transactionFieldsUpdatedRequest(\r\n dealReferenceName,\r\n referenceName,\r\n classReferenceName\r\n )\r\n );\r\n };\r\n\r\n const renderDate = () => {\r\n if (!rest && !rest[field] && !isClosed) {\r\n return constants.emptyPlaceholder;\r\n }\r\n\r\n const dateToDisplay = isClosed\r\n ? moment(lastUpdated).format(constants.dateFormat)\r\n : dateTimeUtils\r\n .changeDateTimeZone(rest[field], constants.estTimezone, false)\r\n .format(constants.dateTimeFormat) + \" EST\";\r\n\r\n return ;\r\n };\r\n\r\n const renderContent = () => {\r\n if (isLoading) {\r\n return \r\n }\r\n\r\n return (\r\n
\r\n {renderDate()}\r\n {withHistory && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n };\r\n\r\n return (\r\n {dealLegalName}}\r\n >\r\n {renderContent()}\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { constants } from \"../../../constants\";\r\nimport moment from \"moment\";\r\n\r\ninterface Props {\r\n nonCallPeriodEnd?: Date;\r\n reinvestmentPeriodEnd?: Date;\r\n}\r\n\r\nexport const PeriodPopover = ({\r\n nonCallPeriodEnd,\r\n reinvestmentPeriodEnd,\r\n}: Props) => {\r\n return (\r\n <>\r\n
\r\n
\r\n Non-Call End\r\n
\r\n
\r\n {nonCallPeriodEnd\r\n ? moment(nonCallPeriodEnd).format(constants.dateFormat)\r\n : constants.emptyPlaceholder}\r\n
\r\n
\r\n
\r\n
\r\n RI End\r\n
\r\n
\r\n {reinvestmentPeriodEnd\r\n ? moment(reinvestmentPeriodEnd).format(constants.dateFormat)\r\n : constants.emptyPlaceholder}\r\n
\r\n
\r\n \r\n );\r\n};\r\n","import React from 'react';\r\nimport { PipelineType } from '../../../types/amr-pipeline/enums/PipelineType';\r\nimport { IssuanceMonitorTab } from '../types/PipelineTabTypes';\r\n\r\ntype FilterCollapseStatus = {\r\n [key in PipelineType]: boolean;\r\n}\r\n\r\ntype OptionColumnCollapseStatus = {\r\n [key in PipelineType.Deals | PipelineType.IOIs]: boolean;\r\n}\r\n\r\ninterface PipelineContextProps {\r\n pipelineType: PipelineType;\r\n filtersCollapseStatus: FilterCollapseStatus;\r\n optionColumnCollapseStatus: OptionColumnCollapseStatus;\r\n setFiltersCollapseStatus: (isCollapsed: boolean) => void;\r\n setOptionColumnCollapseStatus: (isCollapsed: boolean) => void;\r\n setTab?: (tab: IssuanceMonitorTab) => void;\r\n withImSubscription: boolean;\r\n withBlockedSearchAndFilter?: boolean;\r\n}\r\n\r\nconst PipelineContext = React.createContext({\r\n pipelineType: PipelineType.Deals,\r\n filtersCollapseStatus: {\r\n [PipelineType.Deals]: false,\r\n [PipelineType.IOIs]: false,\r\n [PipelineType.ArrangerPipeline]: false\r\n },\r\n optionColumnCollapseStatus: {\r\n [IssuanceMonitorTab.Deals]: false,\r\n [IssuanceMonitorTab.IOIs]: false\r\n },\r\n setOptionColumnCollapseStatus: (status: boolean) => null,\r\n setFiltersCollapseStatus: (status: boolean) => null,\r\n withImSubscription: false,\r\n withBlockedSearchAndFilter: false,\r\n});\r\n\r\nexport default PipelineContext;\r\n","import React from 'react';\r\nimport classnames from 'classnames';\r\nimport { OnHoverTooltip } from '../../common';\r\nimport { BlockedFeatureTooltipText } from '../../access/BlockedFeatureText';\r\n\r\ninterface TabProps {\r\n title: string | React.ReactElement;\r\n value: T;\r\n active?: boolean;\r\n disabled?: boolean;\r\n onClick?: (value: T) => void;\r\n className?: string;\r\n}\r\n\r\ninterface PipelineTabsProps {\r\n value: T;\r\n disabled?: boolean;\r\n onChange: (value: T) => void;\r\n children: React.ReactElement[];\r\n className?: string;\r\n}\r\n\r\nexport const Tab = ({ title, value, active, onClick, disabled, className }: TabProps) => (\r\n : null} overlayClassName=\"trial-tooltip\">\r\n
  • \r\n onClick && onClick(value)}\r\n >\r\n {title}\r\n \r\n
  • \r\n
    \r\n);\r\n\r\nexport const PipelineTabs = ({ value, onChange, children, className }: PipelineTabsProps) => (\r\n
      \r\n {React.Children.map(children, child =>\r\n React.cloneElement(child, {\r\n active: value === child.props.value,\r\n onClick: (value: T) => onChange(value),\r\n }),\r\n )}\r\n
    \r\n);\r\n","import { Popup, PopupBody, PopupFooter } from \"../../controls\";\r\nimport { OnHoverTooltip } from '../../common';\r\nimport { SyndicateContacts } from \"../../../types/amr-pipeline/models/SyndicateContacts\";\r\nimport { Contact } from \"../../../types/amr-pipeline/models/Contact\";\r\nimport { Table } from \"../../bidding/common/table\";\r\nimport { ColumnBuilder } from \"../../bidding/common/table/columns/column-builder/ColumnBuilder\";\r\nimport { IColumnDefinition } from \"../../bidding/common/table/types/ColumnDefinition\";\r\nimport { constants } from \"../../../constants\";\r\nimport IconSVG from '../../../styles/svg-icons';\r\nimport { nameUtils } from \"../../../utils\";\r\nimport { ContactType } from '../../../types/amr-pipeline/enums/ContactType';\r\n\r\nconst getTableColumns = () => {\r\n const columnDefinitions: IColumnDefinition[] = [\r\n {\r\n columnKey: \"fullName\",\r\n renderColumnHeaderContent: () => \"Full Name\",\r\n renderColumnContent: ({ firstName, lastName }) => {\r\n const fullName = nameUtils.getFullName(firstName, lastName);\r\n return (\r\n \r\n {fullName}\r\n \r\n );\r\n },\r\n className: \"data-list-cell-lg\",\r\n },\r\n {\r\n columnKey: 'distribution-list',\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: ({ type }) => {\r\n if (type === ContactType.DistributionList) {\r\n return \r\n }\r\n\r\n if (type === ContactType.HeadOfDesk) {\r\n return \r\n }\r\n },\r\n className: 'data-list-cell-xxxs',\r\n },\r\n {\r\n columnKey: 'title',\r\n renderColumnHeaderContent: () => 'Title',\r\n renderColumnContent: ({ type, title }) => {\r\n if (type === ContactType.DistributionList) {\r\n return (\r\n \r\n Distribution List\r\n \r\n );\r\n }\r\n\r\n if (type === ContactType.HeadOfDesk) {\r\n return (\r\n \r\n Head of Desk\r\n \r\n );\r\n }\r\n\r\n if (title) {\r\n return (\r\n \r\n {title}\r\n \r\n );\r\n }\r\n\r\n return constants.emptyPlaceholder;\r\n },\r\n headerClassName: 'data-list-cell-md data-list-cell-full-name',\r\n bodyClassName: 'data-list-cell-md',\r\n },\r\n {\r\n columnKey: \"email\",\r\n renderColumnHeaderContent: () => \"Email\",\r\n renderColumnContent: ({ email }) =>\r\n email ? (\r\n \r\n {email}\r\n \r\n ) : constants.emptyPlaceholder,\r\n className: \"data-list-cell-xl\",\r\n },\r\n {\r\n columnKey: \"office\",\r\n renderColumnHeaderContent: () => \"Office\",\r\n renderColumnContent: ({ officePhoneNumber }) =>\r\n officePhoneNumber || constants.emptyPlaceholder,\r\n className: \"data-list-cell-sm\",\r\n },\r\n {\r\n columnKey: \"mobile\",\r\n renderColumnHeaderContent: () => \"Mobile\",\r\n renderColumnContent: ({ mobilePhoneNumber }) =>\r\n mobilePhoneNumber || constants.emptyPlaceholder,\r\n className: \"data-list-cell-sm\",\r\n },\r\n ];\r\n\r\n return columnDefinitions.map((c) => new ColumnBuilder(c));\r\n};\r\n\r\ninterface SyndicatePopupProps {\r\n syndicateContacts: SyndicateContacts;\r\n onClose: () => void;\r\n}\r\n\r\nexport function SyndicatePopup({ syndicateContacts, onClose }: SyndicatePopupProps) {\r\n const { arrangerName, contacts } = syndicateContacts;\r\n\r\n return (\r\n {arrangerName}}\r\n onClose={onClose}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import { roles, routes } from \"../../../../constants\"\r\nimport { SubscriptionFeature } from \"../../../../types/billing/SubscriptionFeature\"\r\nimport { queryStringSerializer } from \"../../../../utils/filtering\"\r\nimport { QueryStringArgumentSerializer } from \"../../../../utils/filtering/serializers/QueryStringArgumentSerializer\"\r\nimport { dealsLegalNames as dealLegalNamesSerializer, imPipelineTab } from \"../../../../utils/filtering/serializers/serializer.definitions\"\r\nimport { FeatureLink } from \"../../../access/FeatureLink\"\r\nimport { RoleActionBlocker } from \"../../../access/RoleActionBlocker\"\r\nimport { ValueBlocker } from \"../../../access/ValueBlocker\"\r\nimport { OnHoverTooltip } from \"../../../common\"\r\nimport { IssuanceMonitorTab } from \"../../types/PipelineTabTypes\"\r\n\r\ninterface Props {\r\n dealsLegalNames?: string[]\r\n requiredFeatures?: SubscriptionFeature[]\r\n tooltip?: string\r\n children?: React.ReactNode;\r\n}\r\nexport function ArrangerPipelineLink({\r\n dealsLegalNames = [],\r\n requiredFeatures = [SubscriptionFeature.IssuanceMonitorFullAccess],\r\n tooltip,\r\n children\r\n}: Props) {\r\n\r\n const createUrl = () => {\r\n const searchParams = {\r\n dealsLegalNames,\r\n imPipelineTab: IssuanceMonitorTab.ArrangerPipeline,\r\n };\r\n\r\n const serializer: QueryStringArgumentSerializer[] = [\r\n dealLegalNamesSerializer(),\r\n imPipelineTab(),\r\n ];\r\n\r\n const qs = queryStringSerializer.serialize(searchParams, serializer);\r\n return routes.AMRPipeline + '?' + qs;\r\n }\r\n\r\n return (\r\n \r\n {\r\n roleBlocked =>\r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n }\r\n \r\n )\r\n}","import { startCase } from 'lodash';\r\nimport { PipelineColumn } from '../../types/PipelineColumn';\r\nimport { BwicStatusLabel, OnHoverTooltip } from '../../../common';\r\nimport { IColumnDefinition } from '../../../bidding/common/table/types/ColumnDefinition';\r\nimport {\r\n ArrangerPipeline,\r\n Category,\r\n categoryLabels,\r\n CleansingNotice,\r\n} from '../../../../types/amr-pipeline/models/ArrangerPipeline';\r\nimport { pipelineColumnLabels, pipelineTooltipText } from '../../../../constants/amr-pipeline';\r\nimport { constants, roles, routes } from '../../../../constants';\r\nimport IconSVG from '../../../../styles/svg-icons';\r\nimport { dateTimeUtils, formatUtils } from '../../../../utils';\r\nimport { ColumnBuilder } from '../../../bidding/common/table/columns/column-builder/ColumnBuilder';\r\nimport { IssuanceMonitorTab } from '../../types/PipelineTabTypes';\r\nimport { equityTitles } from '../../../../constants/amr-pipeline/equity';\r\nimport { Equity } from '../../../../types/amr-pipeline/enums/Equity';\r\nimport { FilterRelatedTransactionsIcon } from '../../common/FilterRelatedTransactionsIcon';\r\nimport { ManagerLink } from '../../common/ManagerLink';\r\nimport { ImSubscriptionActionBlocker } from '../../subscription/ImSubscriptionActionBlocker';\r\nimport { BankLink } from '../../common/BankLink';\r\nimport DownloadDocument from '../../common/documents/DownloadDocument';\r\nimport moment from 'moment';\r\nimport { PeriodPopover } from '../PeriodPopover';\r\nimport { BwicProcessType } from '../../../../types/models/Process';\r\nimport { BwicMonitorLookupLink } from '../../../common/BwicMonitorLookupLink';\r\nimport { MyBwicIcon } from '../../../common/MyBwicIcon';\r\nimport { SecurityLastTradedDate } from '../../../common/SecurityLastTradedDate';\r\nimport { SecurityInventoryLink } from '../../../inventory/SecurityInventoryLink';\r\nimport { user } from '../../../../user';\r\nimport { ListBuilder } from '../../../../utils/ListBuilder';\r\nimport { Link } from 'react-router-dom';\r\nimport { Color } from '../../../common/Color';\r\nimport { DealSecurity } from '../../../../types/security/DealSecurityStatistics';\r\n\r\nexport const lastUpdatedColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.lastUpdated,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.lastUpdated],\r\n renderColumnContent: function (arrangerPipeline) {\r\n const dateUpdatedEst = dateTimeUtils.changeDateTimeZone(\r\n arrangerPipeline.lastUpdated,\r\n constants.estTimezone,\r\n false,\r\n );\r\n\r\n const value = dateUpdatedEst.format(constants.dateFormat);\r\n\r\n const tooltipOverlay = `${dateUpdatedEst.format(constants.dateTimeFormat)} EST`;\r\n\r\n return {value};\r\n },\r\n sortingField: PipelineColumn.lastUpdated,\r\n className: 'data-list-cell-sm',\r\n};\r\n\r\nconst arrangerColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.arranger,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.arranger],\r\n renderColumnContent: arrangerPipeline => {\r\n const { arranger } = arrangerPipeline;\r\n\r\n if (!arranger) {\r\n return constants.emptyPlaceholder;\r\n }\r\n\r\n return (\r\n \r\n );\r\n },\r\n sortingField: PipelineColumn.arranger,\r\n};\r\n\r\nconst toAllArrangersColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.toAllArrangers,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.toAllArrangers],\r\n renderColumnContent: (arrangerPipeline, context) => {\r\n const { setTab } = context;\r\n const { arranger } = arrangerPipeline;\r\n\r\n if (!arranger) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {blocked =>\r\n blocked ? (\r\n \r\n ) : (\r\n \r\n setTab(IssuanceMonitorTab.Deals)}\r\n >\r\n \r\n \r\n \r\n )\r\n }\r\n \r\n );\r\n },\r\n className: 'data-list-cell-xxs',\r\n};\r\n\r\nexport const dealNameColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.dealName,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.dealName],\r\n renderColumnContent: (arrangerPipeline, context) => {\r\n const { dealLegalName } = arrangerPipeline;\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n {dealLegalName}\r\n \r\n
    \r\n
    \r\n );\r\n },\r\n sortingField: PipelineColumn.dealName,\r\n className: 'data-list-cell-xl',\r\n};\r\n\r\nconst toRelatedDealsColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.toRelatedDeals,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.toRelatedDeals],\r\n renderColumnContent: (arrangerPipeline, context) => {\r\n const { dealLegalName, dealReferenceName, numberOfTransactions } = arrangerPipeline;\r\n const { setTab } = context;\r\n\r\n if (!numberOfTransactions) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {blocked => (\r\n setTab(IssuanceMonitorTab.Deals)}\r\n />\r\n )}\r\n \r\n );\r\n },\r\n className: 'data-list-cell-xxs',\r\n};\r\n\r\nexport const managerColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.manager,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.manager],\r\n renderColumnContent: (arrangerPipeline, context) => {\r\n const { onManagerClick } = context;\r\n const { collateralManager } = arrangerPipeline;\r\n\r\n if (!collateralManager) {\r\n return constants.emptyPlaceholder;\r\n }\r\n\r\n return (\r\n \r\n );\r\n },\r\n sortingField: 'collateralManager',\r\n className: 'data-list-cell-xl',\r\n};\r\n\r\nconst toAllManagersColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.toAllManagers,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.toAllManagers],\r\n renderColumnContent: (arrangerPipeline, context) => {\r\n const { setTab } = context;\r\n const { collateralManager } = arrangerPipeline;\r\n\r\n if (!collateralManager) {\r\n return constants.emptyPlaceholder;\r\n }\r\n\r\n return (\r\n \r\n {blocked =>\r\n blocked ? (\r\n \r\n ) : (\r\n \r\n setTab(IssuanceMonitorTab.Deals)}\r\n >\r\n \r\n \r\n \r\n )\r\n }\r\n \r\n );\r\n },\r\n className: 'data-list-cell-xxs',\r\n};\r\n\r\nexport const transactionTypeColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.transactionType,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.transactionType],\r\n renderColumnContent: arrangerPipeline =>\r\n arrangerPipeline.type ? startCase(arrangerPipeline.type) : constants.emptyPlaceholder,\r\n sortingField: PipelineColumn.transactionType,\r\n};\r\n\r\nexport const collateralTypeColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.collateralType,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.collateralType],\r\n renderColumnContent: arrangerPipeline =>\r\n arrangerPipeline.collateralType\r\n ? formatUtils.formatCollateralType(arrangerPipeline.collateralType)\r\n : constants.emptyPlaceholder,\r\n sortingField: PipelineColumn.collateralType,\r\n className: 'data-list-cell-xs',\r\n};\r\n\r\nexport const nonCallPeriodEndYrsColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.nonCallPeriodEndYears,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.nonCallPeriodEndYears],\r\n renderColumnContent: arrangerPipeline => {\r\n if (!arrangerPipeline.nonCallPeriodEnd) {\r\n return constants.emptyPlaceholder;\r\n }\r\n const years = formatUtils.formatDecimal(arrangerPipeline.nonCallPeriodEnd);\r\n return {!!Number(years) ? years : constants.emptyPlaceholder};\r\n },\r\n sortingField: PipelineColumn.nonCallPeriodEnd,\r\n headerClassName: 'text-right',\r\n bodyClassName: 'text-right popover-column',\r\n};\r\nexport const reinvestmentPeriodEndYrsColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.reinvestmentPeriodEndYears,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.reinvestmentPeriodEndYears],\r\n renderColumnContent: arrangerPipeline => {\r\n if (!arrangerPipeline.reinvestmentPeriodEnd) {\r\n return constants.emptyPlaceholder;\r\n }\r\n const years = formatUtils.formatDecimal(arrangerPipeline.reinvestmentPeriodEnd);\r\n return {!!Number(years) ? years : constants.emptyPlaceholder};\r\n },\r\n sortingField: PipelineColumn.reinvestmentPeriodEnd,\r\n headerClassName: 'text-right',\r\n bodyClassName: 'text-right popover-column',\r\n};\r\n\r\nexport const expectedTimingColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.expectedTiming,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.expectedTiming],\r\n renderColumnContent: arrangerPipeline => arrangerPipeline.expectedTiming ?? constants.emptyPlaceholder,\r\n sortingField: PipelineColumn.expectedTiming,\r\n};\r\n\r\nexport const dealStageColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.dealStage,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.dealStage],\r\n renderColumnContent: arrangerPipeline => arrangerPipeline.dealStage ?? constants.emptyPlaceholder,\r\n className: 'data-list-cell-sm',\r\n sortingField: PipelineColumn.dealStage,\r\n};\r\n\r\nexport const euComplianceColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.euCompliance,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.euCompliance],\r\n renderColumnContent: arrangerPipeline => formatUtils.formatBooleanWithPlaceholder(arrangerPipeline.euCompliance),\r\n className: 'data-list-cell-sm',\r\n sortingField: PipelineColumn.euCompliance,\r\n};\r\n\r\nexport const anchorColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.anchor,\r\n renderColumnHeaderContent: () => (\r\n \r\n {pipelineColumnLabels[PipelineColumn.anchor]}\r\n \r\n \r\n ),\r\n renderColumnContent: arrangerPipeline => formatUtils.formatBooleanWithPlaceholder(arrangerPipeline.anchor),\r\n className: 'data-list-cell-md',\r\n sortingField: PipelineColumn.anchor,\r\n};\r\n\r\nexport const equityColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.equity,\r\n renderColumnHeaderContent: () => (\r\n \r\n {pipelineColumnLabels[PipelineColumn.equity]}\r\n \r\n \r\n ),\r\n renderColumnContent: arrangerPipeline =>\r\n arrangerPipeline.equity && arrangerPipeline.equity !== Equity.No\r\n ? equityTitles[arrangerPipeline.equity]\r\n : constants.emptyPlaceholder,\r\n className: 'data-list-cell-lg',\r\n sortingField: PipelineColumn.equity,\r\n};\r\n\r\nconst syndicateColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.syndicate,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.syndicate],\r\n renderColumnContent: (arrangerPipeline, context) => {\r\n const { setSyndicateContacts } = context;\r\n const numberOfContacts = arrangerPipeline.syndicateContacts?.length;\r\n return numberOfContacts ? (\r\n {\r\n e.stopPropagation();\r\n setSyndicateContacts({\r\n arrangerName: arrangerPipeline.arranger?.legalName,\r\n contacts: arrangerPipeline.syndicateContacts,\r\n });\r\n }}\r\n >\r\n {numberOfContacts} contact\r\n {numberOfContacts > 1 ? 's' : ''}\r\n \r\n ) : (\r\n constants.emptyPlaceholder\r\n );\r\n },\r\n headerClassName: 'data-list-cell-sm',\r\n bodyClassName: 'data-list-cell-sm',\r\n sortingField: PipelineColumn.syndicate,\r\n};\r\n\r\nexport const managerPresentationFileColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.managerPresentationFile,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.managerPresentationFile],\r\n renderColumnContent: (\r\n arrangerPipeline,\r\n { isManagerPresentationDownloading, managerPresentationLoadHandler, managerPresentationAccessType },\r\n ) => {\r\n if (!arrangerPipeline.managerPresentationFile) {\r\n return constants.emptyPlaceholder;\r\n }\r\n\r\n return (\r\n \r\n managerPresentationLoadHandler(\r\n arrangerPipeline.referenceName,\r\n arrangerPipeline.managerPresentationFile.name,\r\n managerPresentationAccessType,\r\n )\r\n }\r\n >\r\n \r\n Download\r\n \r\n );\r\n },\r\n headerClassName: 'data-list-cell-sm',\r\n bodyClassName: 'data-list-cell-sm',\r\n};\r\n\r\nexport const disclosureFileColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.disclosureFile,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.disclosureFile],\r\n renderColumnContent: (arrangerPipeline, { disclosureLoadHandler, isDisclosureDownloading, bankReferenceName }) => {\r\n return arrangerPipeline.disclosureFile ? (\r\n \r\n disclosureLoadHandler(\r\n arrangerPipeline.referenceName,\r\n arrangerPipeline.disclosureFile.name,\r\n bankReferenceName,\r\n )\r\n }\r\n >\r\n \r\n Download\r\n \r\n ) : (\r\n constants.emptyPlaceholder\r\n );\r\n },\r\n headerClassName: 'data-list-cell-sm',\r\n bodyClassName: 'data-list-cell-sm',\r\n};\r\n\r\nconst categoryColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.category,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.category],\r\n renderColumnContent: arrangerPipeline => categoryLabels[arrangerPipeline.category],\r\n sortingField: PipelineColumn.category,\r\n className: \"data-list-cell-sm\"\r\n};\r\n\r\nconst tickerColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.dealTicker,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.dealTicker],\r\n renderColumnContent: arrangerPipeline => arrangerPipeline.dealTicker ?? constants.emptyPlaceholder,\r\n sortingField: PipelineColumn.dealTicker,\r\n className: \"data-list-cell-lg\"\r\n};\r\n\r\nconst currencyColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.currency,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.currency],\r\n renderColumnContent: arrangerPipeline => arrangerPipeline.currencyCode ?? constants.emptyPlaceholder,\r\n sortingField: 'currencyCode',\r\n className: \"data-list-cell-xs\"\r\n};\r\n\r\nconst nonCallPeriodEndColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.nonCallPeriodEnd,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.nonCallPeriodEnd],\r\n renderColumnContent: arrangerPipeline =>\r\n arrangerPipeline.nonCallPeriodEndDate\r\n ? moment(arrangerPipeline.nonCallPeriodEndDate).format(constants.dateFormat)\r\n : constants.emptyPlaceholder,\r\n sortingField: 'nonCallPeriodEndDate',\r\n className: \"data-list-cell-sm\"\r\n};\r\n\r\nconst reinvestmentPeriodEndColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.reinvestmentPeriodEnd,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.reinvestmentPeriodEnd],\r\n renderColumnContent: arrangerPipeline =>\r\n arrangerPipeline.reinvestmentPeriodEndDate\r\n ? moment(arrangerPipeline.reinvestmentPeriodEndDate).format(constants.dateFormat)\r\n : constants.emptyPlaceholder,\r\n sortingField: 'reinvestmentPeriodEndDate',\r\n className: \"data-list-cell-sm\"\r\n};\r\n\r\nconst outOfRIColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.outOfRI,\r\n renderColumnHeaderContent: () => (\r\n \r\n {pipelineColumnLabels[PipelineColumn.outOfRI]}\r\n \r\n \r\n ),\r\n renderColumnContent: ({ reinvestmentPeriodEndDate, nonCallPeriodEndDate, outOfRI }) => {\r\n const columnText = outOfRI == null ? constants.emptyPlaceholder : formatUtils.formatBoolean(outOfRI);\r\n return (\r\n \r\n }\r\n >\r\n {columnText}\r\n \r\n );\r\n },\r\n headerClassName: 'data-list-cell-sm',\r\n bodyClassName: 'data-list-cell-sm popover-column text-capitalize',\r\n sortingField: PipelineColumn.outOfRI,\r\n};\r\n\r\nconst outOfNCColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.outOfNC,\r\n renderColumnHeaderContent: () => (\r\n \r\n {pipelineColumnLabels[PipelineColumn.outOfNC]}\r\n \r\n \r\n ),\r\n renderColumnContent: ({ reinvestmentPeriodEndDate, nonCallPeriodEndDate, outOfNC }) => {\r\n const columnText = outOfNC == null ? constants.emptyPlaceholder : formatUtils.formatBoolean(outOfNC);\r\n return (\r\n \r\n }\r\n >\r\n {columnText}\r\n \r\n );\r\n },\r\n headerClassName: 'data-list-cell-sm',\r\n bodyClassName: 'data-list-cell-sm popover-column text-capitalize',\r\n sortingField: PipelineColumn.outOfNC,\r\n};\r\n\r\nconst vintageColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.vintage,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.vintage],\r\n renderColumnContent: arrangerPipeline =>\r\n arrangerPipeline.vintage\r\n ? moment(arrangerPipeline.vintage).year()\r\n : constants.emptyPlaceholder,\r\n sortingField: PipelineColumn.vintage,\r\n};\r\n\r\nconst trusteeColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.trustee,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.trustee],\r\n renderColumnContent: ({ trustee }) =>\r\n trustee ? (\r\n {trustee?.legalName}\r\n ) : (\r\n constants.emptyPlaceholder\r\n ),\r\n headerClassName: 'data-list-cell-xl',\r\n bodyClassName: 'data-list-cell-xl',\r\n sortingField: PipelineColumn.trustee,\r\n};\r\n\r\nconst amrDealColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.amrDeal,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.amrDeal],\r\n renderColumnContent: ({ amrDeal }) => formatUtils.formatBooleanWithPlaceholder(amrDeal),\r\n headerClassName: 'data-list-cell-sm',\r\n bodyClassName: 'data-list-cell-sm',\r\n sortingField: PipelineColumn.amr,\r\n};\r\n\r\nconst esgColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.esg,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.esg],\r\n renderColumnContent: ({ esg }) => formatUtils.formatBooleanWithPlaceholder(esg),\r\n headerClassName: 'data-list-cell-sm',\r\n bodyClassName: 'data-list-cell-sm',\r\n sortingField: PipelineColumn.esg,\r\n className: \"data-list-cell-xs\"\r\n};\r\n\r\nconst staticDealColumn: IColumnDefinition = {\r\n columnKey: PipelineColumn.staticDeal,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.static],\r\n renderColumnContent: ({ staticDeal }) => formatUtils.formatBooleanWithPlaceholder(staticDeal),\r\n headerClassName: 'data-list-cell-sm',\r\n bodyClassName: 'data-list-cell-sm',\r\n sortingField: PipelineColumn.staticDeal,\r\n className: \"data-list-cell-sm\"\r\n};\r\n\r\nconst actionsColumn: IColumnDefinition = {\r\n columnKey: 'actions',\r\n renderColumnHeaderContent: () => 'Actions',\r\n renderColumnContent: (arrangerPipeline, context) => {\r\n const { onDeleteClick } = context;\r\n return arrangerPipeline.category === Category.CleansingNotice ? (\r\n \r\n {blocked => (\r\n {\r\n e.stopPropagation();\r\n onDeleteClick(arrangerPipeline)\r\n }}\r\n >\r\n \r\n \r\n )}\r\n \r\n ) : (\r\n \r\n {constants.emptyPlaceholder}\r\n \r\n );\r\n },\r\n className: 'data-list-cell-xs text-right',\r\n stickRight: true,\r\n};\r\n\r\nconst columns: IColumnDefinition[] = [\r\n lastUpdatedColumn,\r\n categoryColumn,\r\n arrangerColumn,\r\n toAllArrangersColumn,\r\n dealNameColumn,\r\n toRelatedDealsColumn,\r\n tickerColumn,\r\n managerColumn,\r\n toAllManagersColumn,\r\n transactionTypeColumn,\r\n collateralTypeColumn,\r\n currencyColumn,\r\n nonCallPeriodEndColumn,\r\n nonCallPeriodEndYrsColumn,\r\n outOfNCColumn,\r\n reinvestmentPeriodEndColumn,\r\n reinvestmentPeriodEndYrsColumn,\r\n outOfRIColumn,\r\n expectedTimingColumn,\r\n dealStageColumn,\r\n euComplianceColumn,\r\n anchorColumn,\r\n equityColumn,\r\n vintageColumn,\r\n trusteeColumn,\r\n amrDealColumn,\r\n esgColumn,\r\n staticDealColumn,\r\n syndicateColumn,\r\n];\r\n\r\nexport const myBwicColumn: IColumnDefinition<{ security?: DealSecurity }> = {\r\n columnKey: 'is-my-bwic',\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: x => x.security?.currentBwic ? (\r\n \r\n ) : null,\r\n className: 'data-list-cell-xxs',\r\n}\r\n\r\nexport const currentBwicColumn: IColumnDefinition<{ security?: DealSecurity }> = {\r\n columnKey: 'current-bwic',\r\n renderColumnHeaderContent: () => 'Current BWIC',\r\n renderColumnContent: x => x.security?.currentBwic ? (\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n ) : constants.emptyPlaceholder,\r\n className: 'data-list-cell-xl-xxl'\r\n}\r\n\r\nexport const inventoryColumn: IColumnDefinition<{ security?: DealSecurity }> = {\r\n columnKey: 'inventory',\r\n renderColumnHeaderContent: () => (\r\n \r\n Inventory\r\n \r\n \r\n ),\r\n renderColumnContent: x =>\r\n !!x.security && x.security?.inventoryCount ? (\r\n \r\n ) : (\r\n constants.emptyPlaceholder\r\n ),\r\n className: 'data-list-cell-sm-01',\r\n}\r\n\r\nexport const lastTradedMineColumn: IColumnDefinition<{ security?: DealSecurity }> = {\r\n columnKey: 'lastTraderIsMine',\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: x => (\r\n \r\n {isInventoryDate =>\r\n x.security?.lastTraded && !isInventoryDate ? : null\r\n }\r\n \r\n ),\r\n className: 'data-list-cell-xxs',\r\n}\r\n\r\nexport const lastTradedColumn: IColumnDefinition<{ security?: DealSecurity }> = {\r\n columnKey: 'last-traded',\r\n renderColumnHeaderContent: () => 'Last Traded',\r\n renderColumnContent: x =>\r\n \r\n {(isInventoryDate, lastTradeDate) => lastTradeDate ? moment(lastTradeDate).format(constants.dateFormat) : constants.emptyPlaceholder}\r\n ,\r\n className: 'data-list-cell-sm-01',\r\n}\r\n\r\nexport const lastTradedColorColumn: IColumnDefinition<{ security?: DealSecurity }> = {\r\n columnKey: 'last-traded-color',\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: x => (\r\n \r\n {\r\n isInventoryDate =>\r\n x.security?.lastTraded?.color && !isInventoryDate\r\n ? \r\n : null\r\n }\r\n ),\r\n className: 'data-list-cell-md'\r\n}\r\n\r\nconst cleansingNoticeColumns: IColumnDefinition[] = [\r\n {\r\n columnKey: 'className',\r\n renderColumnHeaderContent: () => 'Class',\r\n renderColumnContent: cn => cn.className || constants.emptyPlaceholder,\r\n className: 'data-list-cell-sm',\r\n },\r\n {\r\n columnKey: 'ticker',\r\n renderColumnHeaderContent: () => 'Ticker (144A)',\r\n renderColumnContent: cn => cn.ticker144A || constants.emptyPlaceholder,\r\n className: 'data-list-cell-lg',\r\n },\r\n {\r\n columnKey: 'cusip',\r\n renderColumnHeaderContent: () => 'CUSIP (144A)',\r\n renderColumnContent: cn => cn.cusip144A || constants.emptyPlaceholder,\r\n className: 'data-list-cell-sm',\r\n },\r\n {\r\n columnKey: 'isin',\r\n renderColumnHeaderContent: () => 'ISIN (144A)',\r\n renderColumnContent: cn => cn.isin144A || constants.emptyPlaceholder,\r\n className: 'data-list-cell-sm',\r\n },\r\n {\r\n columnKey: 'tickerRegS',\r\n renderColumnHeaderContent: () => 'Ticker (Reg S)',\r\n renderColumnContent: cn => cn.tickerRegS || constants.emptyPlaceholder,\r\n className: 'data-list-cell-lg',\r\n },\r\n {\r\n columnKey: 'cusipRegS',\r\n renderColumnHeaderContent: () => 'CUSIP (Reg S)',\r\n renderColumnContent: cn => cn.cusipRegS || constants.emptyPlaceholder,\r\n className: 'data-list-cell-sm',\r\n },\r\n {\r\n columnKey: 'isinRegS',\r\n renderColumnHeaderContent: () => 'ISIN (Reg S)',\r\n renderColumnContent: cn => cn.isinRegS || constants.emptyPlaceholder,\r\n className: 'data-list-cell-sm',\r\n },\r\n {\r\n columnKey: 'tickerAccdInvCertif',\r\n renderColumnHeaderContent: () => 'Ticker (Acc’d Inv./Certif.)',\r\n renderColumnContent: cn => cn.tickerAccd || constants.emptyPlaceholder,\r\n className: 'data-list-cell-lg-02',\r\n },\r\n {\r\n columnKey: 'cusipAccdInvestor',\r\n renderColumnHeaderContent: () => 'CUSIP (Acc’d Inv./Certif.)',\r\n renderColumnContent: cn => cn.cusipAccd || constants.emptyPlaceholder,\r\n className: 'data-list-cell-lg-02',\r\n },\r\n {\r\n columnKey: 'isinAccdInvestor',\r\n renderColumnHeaderContent: () => 'ISIN (Acc’d Inv./Certif.)',\r\n renderColumnContent: cn => cn.isinAccd || constants.emptyPlaceholder,\r\n className: 'data-list-cell-lg-02',\r\n },\r\n myBwicColumn,\r\n currentBwicColumn,\r\n inventoryColumn,\r\n lastTradedMineColumn,\r\n lastTradedColumn,\r\n lastTradedColorColumn\r\n];\r\n\r\nconst cleansingNoticesActionColumn: IColumnDefinition = {\r\n columnKey: 'actionsCN',\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: () => {\r\n return (\r\n \r\n {constants.emptyPlaceholder}\r\n \r\n );\r\n },\r\n className: 'data-list-cell-xs text-right',\r\n stickRight: true,\r\n}\r\n\r\nexport const getArrangerPipelineColumns = () => {\r\n const isMedia = user.hasRoles(roles.Media);\r\n const isAdminOrDataEntry = user.hasRoles(roles.Administrator, roles.DataEntry);\r\n\r\n const visibleColumns = new ListBuilder>()\r\n .add(...columns)\r\n .addWhen(() => !isMedia, managerPresentationFileColumn, disclosureFileColumn)\r\n .addWhen(() => isAdminOrDataEntry, actionsColumn)\r\n .result();\r\n\r\n\r\n return visibleColumns.map(c => new ColumnBuilder(c));\r\n};\r\n\r\nexport const getCleansingNoticeColumns = () => {\r\n return cleansingNoticeColumns.map(c => new ColumnBuilder(c));\r\n};\r\n\r\nexport const getCleansingNoticeStickyColumns = () => {\r\n return [[], cleansingNoticeColumns.map(c => new ColumnBuilder(c)), [new ColumnBuilder(cleansingNoticesActionColumn)]];\r\n}\r\n","import { AlertOption } from \"../../../../../types/email-preferences/EmailPreferences\";\r\nimport { RadioButton } from \"../../../../controls\";\r\nimport {\r\n alertOptionTooltipText,\r\n alertOptions,\r\n} from \"../../../../../constants/amr-pipeline/alertOptions\";\r\n\r\nimport { SubscriptionFeature } from \"../../../../../types/billing/SubscriptionFeature\";\r\nimport { ActionBlocker } from \"../../../../access/ActionBlocker\";\r\nimport EmailInfoTooltip from \"../../../../common/EmailInfoTooltip\";\r\n\r\nconst apAlertOptionTooltipText = {\r\n ...alertOptionTooltipText,\r\n [AlertOption.Instant]: \"Alerts are sent once transactions are published\",\r\n};\r\n\r\ninterface Props {\r\n disabled?: boolean;\r\n upcomingAlert?: AlertOption;\r\n onChangeUpcomingAlert: (option: AlertOption) => void;\r\n}\r\n\r\nexport const ApEmailAlerts = ({\r\n disabled,\r\n upcomingAlert = AlertOption.Never,\r\n onChangeUpcomingAlert,\r\n}: Props) => {\r\n return (\r\n
    \r\n
    \r\n

    \r\n New Upcoming Transactions\r\n

    \r\n
    \r\n {alertOptions.map((alertOption) => (\r\n
    \r\n \r\n {(blocked) => (\r\n \r\n onChangeUpcomingAlert(alertOption)\r\n }\r\n />\r\n )}\r\n \r\n {alertOption !== AlertOption.Never && (\r\n \r\n )}\r\n
    \r\n ))}\r\n
    \r\n
    \r\n

    \r\n Receive an email when new upcoming transactions are published on\r\n Arranger Pipeline.\r\n

    \r\n
    \r\n );\r\n};\r\n","import { AlertOption } from \"../../../../../types/email-preferences/EmailPreferences\";\r\nimport { UserConfigFilter } from \"../../../../../types/user-config/UserConfigFilter\";\r\nimport { Table } from \"../../../../bidding/common/table\";\r\nimport { FilterColumnsKeys, filterColumns } from \"./filterColumns\";\r\nimport { TFilter, TFilterType } from \"../../../../../types/filters/FilterState\";\r\nimport { SavedFilterDetails } from \"./SavedFilterDetails\";\r\nimport { SubscriptionFeature } from \"../../../../../types/billing/SubscriptionFeature\";\r\nimport { textLabels } from \"../../../../../constants/text-labels\";\r\n\r\ninterface FilterUpdatesTableProps {\r\n filtersStatuses: UserConfigFilter[];\r\n setFiltersStatuses: (updateState: UserConfigFilter[]) => void;\r\n disabled?: boolean;\r\n filter: TFilter;\r\n filterType: TFilterType;\r\n visibleFilters: string[];\r\n alertOptionTooltips?: { [key in AlertOption]?: string };\r\n requiredFeature?: SubscriptionFeature;\r\n excludeColumns?: FilterColumnsKeys[];\r\n}\r\n\r\nexport const defaultAlertOptionToolitps = {\r\n [AlertOption.Daily]: textLabels.savedFiltersDefaultDailyTooltip,\r\n [AlertOption.Instant]: textLabels.savedFiltersDefaultInstantTooltip,\r\n}\r\n\r\nexport const FilterUpdatesTable = ({\r\n filtersStatuses,\r\n setFiltersStatuses,\r\n disabled,\r\n filter,\r\n visibleFilters,\r\n filterType,\r\n alertOptionTooltips = defaultAlertOptionToolitps,\r\n requiredFeature,\r\n excludeColumns = [],\r\n}: FilterUpdatesTableProps) => {\r\n const onColumnClick = (referenceName: string, alertOption: AlertOption) => {\r\n const updatedStatus = filtersStatuses.map((v) =>\r\n v.referenceName === referenceName\r\n ? {\r\n ...v,\r\n alertOption,\r\n }\r\n : v\r\n );\r\n setFiltersStatuses(updatedStatus);\r\n };\r\n\r\n return (\r\n !excludeColumns.includes(c.column.columnKey as FilterColumnsKeys))}\r\n createHeaderCustomArgs={() => ({\r\n filtersStatuses,\r\n setFiltersStatuses,\r\n disabled,\r\n alertOptionTooltips,\r\n requiredFeature\r\n })}\r\n createSecurityCustomArgs={() => ({\r\n onColumnClick,\r\n disabled,\r\n requiredFeature\r\n })}\r\n collapsible\r\n className=\"data-list-striped data-list-saved-filter\"\r\n dataItems={filtersStatuses}\r\n renderCollapsibleItem={(userFilter: UserConfigFilter) => (\r\n \r\n )}\r\n />\r\n );\r\n};\r\n","import { AlertOption } from \"../../../../../types/email-preferences/EmailPreferences\";\r\nimport {\r\n StatisticsAlertOption,\r\n} from \"../../../../../types/amr-pipeline/enums/AlertOption\";\r\nimport { UserConfigFilter } from \"../../../../../types/user-config/UserConfigFilter\";\r\nimport { RadioButton } from \"../../../../controls\";\r\nimport EmailInfoTooltip from \"../../../../common/EmailInfoTooltip\";\r\nimport { alertOptionTooltipText, alertOptions, statisticsAlertOptions } from \"../../../../../constants/amr-pipeline/alertOptions\";\r\nimport { FilterUpdatesTable } from \"./FilterUpdatesTable\";\r\nimport { useContext } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { pipelineFilters, amrArrangerPipelineFilters } from \"../../../../../constants\";\r\nimport { issuanceMonitorFilterSelector } from \"../../../../../selectors/amr-pipeline.selector\";\r\nimport { PipelineType } from \"../../../../../types/amr-pipeline/enums/PipelineType\";\r\nimport { UserConfigType } from \"../../../../../types/user-config/UserConfigType\";\r\nimport PipelineContext from \"../../PipelineContext\";\r\nimport { SubscriptionFeature } from \"../../../../../types/billing/SubscriptionFeature\";\r\nimport { ActionBlocker } from \"../../../../access/ActionBlocker\";\r\nimport { RequiredFeature } from \"../../../../access/RequiredFeature\";\r\nimport { BlockedFeatureContent, SubscribeLink } from \"../../../../../components/access/BlockedFeatureText\";\r\n\r\ninterface Props {\r\n disabled?: boolean;\r\n singleUpdate?: AlertOption;\r\n onChangeSingleUpdate: (option: AlertOption) => void;\r\n newTransactionUpdate?: AlertOption;\r\n onChangeNewTransactionUpdate: (option: AlertOption) => void;\r\n weeklyStatistic?: StatisticsAlertOption;\r\n onChangeWeeklyStatistic: (option: StatisticsAlertOption) => void;\r\n filterAlerts?: UserConfigFilter[];\r\n onChangeFilterAlerts: (options: UserConfigFilter[]) => void;\r\n}\r\n\r\nexport const ImEmailAlerts = ({\r\n disabled,\r\n singleUpdate = AlertOption.Never,\r\n onChangeSingleUpdate,\r\n newTransactionUpdate = AlertOption.Never,\r\n onChangeNewTransactionUpdate,\r\n weeklyStatistic = StatisticsAlertOption.Never,\r\n onChangeWeeklyStatistic,\r\n filterAlerts = [],\r\n onChangeFilterAlerts,\r\n}: Props) => {\r\n const withAlertsFilters = !!filterAlerts.length;\r\n\r\n const { pipelineType } = useContext(PipelineContext);\r\n\r\n\r\n const filterConfigType =\r\n pipelineType === PipelineType.ArrangerPipeline ? UserConfigType.apFilter : UserConfigType.imFilter;\r\n\r\n const visibleFilters =\r\n filterConfigType === UserConfigType.imFilter\r\n ? pipelineFilters.visibleFilters\r\n : amrArrangerPipelineFilters.visibleFilters;\r\n\r\n const { filter } = useSelector(issuanceMonitorFilterSelector(pipelineType));\r\n\r\n\r\n const renderInfoBlock = (withFilters: boolean) => (\r\n

    \r\n {withFilters\r\n ? \"Receive an email when new transactions matching your saved filter are published or updated on Issuance Monitor.\"\r\n : \"There are no saved filters yet to receive an email notifications.\"}\r\n

    \r\n );\r\n\r\n const renderUpdatesTable = () => {\r\n if(withAlertsFilters) {\r\n return (\r\n <>\r\n {renderInfoBlock(withAlertsFilters)}\r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n (\r\n <>\r\n {renderInfoBlock(true)}\r\n to unlock the saved filters.}\r\n />\r\n \r\n )}\r\n >\r\n {renderInfoBlock(false)}\r\n \r\n );\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    \r\n Every Single Update\r\n

    \r\n
    \r\n {alertOptions.map((alertOption) => (\r\n \r\n \r\n {(blocked) => (\r\n \r\n onChangeSingleUpdate(alertOption)\r\n }\r\n />\r\n )}\r\n \r\n {alertOption !== AlertOption.Never && (\r\n \r\n )}\r\n
    \r\n ))}\r\n
    \r\n
    \r\n

    \r\n Receive an email when transactions are published or updated\r\n on Issuance Monitor.\r\n

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

    \r\n New Transactions\r\n

    \r\n
    \r\n {alertOptions.map((alertOption) => (\r\n \r\n \r\n {(blocked) => (\r\n \r\n onChangeNewTransactionUpdate(\r\n alertOption\r\n )\r\n }\r\n />\r\n )}\r\n \r\n {alertOption !== AlertOption.Never && (\r\n \r\n )}\r\n
    \r\n ))}\r\n
    \r\n
    \r\n

    \r\n Receive an email when new transactions are published on\r\n Issuance Monitor.\r\n

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

    \r\n Issuance Weekly Summary\r\n

    \r\n
    \r\n {statisticsAlertOptions.map((option) => (\r\n
    \r\n \r\n {(blocked) => (\r\n \r\n onChangeWeeklyStatistic(option)\r\n }\r\n />\r\n )}\r\n \r\n {option === StatisticsAlertOption.Weekly && (\r\n \r\n )}\r\n
    \r\n ))}\r\n
    \r\n
    \r\n

    Receive an email notification with CLO primary market highlights.

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

    Saved Filters

    \r\n
    \r\n {renderUpdatesTable()}\r\n \r\n );\r\n};\r\n","import moment from \"moment\";\r\nimport { values } from \"lodash\";\r\nimport { FilterDateOption } from \"../../../../../types/filters/FilterDateOption\";\r\nimport { FilterDateTimeOption } from \"../../../../../types/filters/FilterDateTimeOption\";\r\nimport { FilterGroup, FilterType } from \"../../../../../types/filters/FilterGroup\";\r\nimport { FilterOption } from \"../../../../../types/filters/FilterOption\";\r\nimport { UserConfigFilter } from \"../../../../../types/user-config/UserConfigFilter\";\r\nimport { deserializeFilters } from \"../../../../../utils/filtering/serializers/amr-pipeline/deserializeFilters\";\r\nimport { FilterDateRangeTitle } from \"../../../../common/filters/FilterDateRange\";\r\nimport { FilterRangeOption } from \"../../../../../types/filters/FilterRangeOption\";\r\nimport { formatUtils } from \"../../../../../utils/format.utils\";\r\nimport { CollateralType } from \"../../../../../types/amr-pipeline/enums/CollateralType\";\r\nimport { FilterRadioOption } from \"../../../../../types/filters/FilterRadioOption\";\r\nimport { compareStrings } from \"../../../../../utils/compare.utils\";\r\nimport { FilterBooleanOption } from \"../../../../../types/filters/FilterBooleanOption\";\r\nimport { TFilter, TFilterType } from \"../../../../../types/filters/FilterState\";\r\nimport { arrayUtils } from \"../../../../../utils\";\r\nimport { ColorFilterType } from \"../../../../../types/bwic/Color\";\r\nimport { constants } from \"../../../../../constants\";\r\n\r\nconst dateTimeFormat = \"MM/DD/YYYY, hh:mm A\";\r\n\r\nconst renderFilterValue = (filterData: FilterGroup) => {\r\n const { type, filter } = filterData;\r\n\r\n switch (type) {\r\n case FilterType.Select:\r\n return (filter as FilterOption[])\r\n ?.filter((f) => f.selected)\r\n .map((f) => {f.text});\r\n case FilterType.Radio: {\r\n const radioFilter = (filter as FilterRadioOption);\r\n const selectedRadio = radioFilter.options.find(o => o.value === radioFilter.selectedOption);\r\n return {selectedRadio?.text || radioFilter.selectedOption};\r\n }\r\n case FilterType.BooleanRadio:\r\n return (\r\n {formatUtils.formatBoolean((filter as FilterBooleanOption).selectedOption)}\r\n );\r\n case FilterType.Date:\r\n case FilterType.DateWithYearsRange:\r\n return (\r\n \r\n \r\n \r\n );\r\n case FilterType.DateWithYearsAndTimeRange: {\r\n const fromDate = (filter as FilterDateTimeOption).selectedOption?.from?.date;\r\n const toDate = (filter as FilterDateTimeOption).selectedOption?.to?.date;\r\n return (\r\n \r\n {(filter as FilterDateTimeOption).selectedOption?.formatTitle\r\n ? (filter as FilterDateTimeOption).selectedOption?.formatTitle(String(fromDate), String(toDate))\r\n : `${moment(fromDate).format(dateTimeFormat)} - ${moment(toDate).format(dateTimeFormat)}`}\r\n \r\n );\r\n }\r\n case FilterType.YearsDate: {\r\n const { from, to } = (filter as FilterDateOption).options.customDateRange;\r\n const selectedOption = (filter as FilterDateOption).selectedOption;\r\n\r\n const yearFrom = moment(from).year();\r\n const yearTo = moment(to).year();\r\n\r\n const title = yearFrom === yearTo ? yearFrom : `${yearFrom} - ${yearTo}`;\r\n const formattedTitle = selectedOption?.formatTitle ? selectedOption.formatTitle(String(title)) : title;\r\n\r\n return (\r\n \r\n {selectedOption?.selectedTitle ?? formattedTitle}\r\n \r\n )\r\n }\r\n case FilterType.Range:\r\n const { from, to } = filter as FilterRangeOption;\r\n\r\n return (\r\n \r\n {`${formatUtils.formatDecimal(\r\n from as number\r\n )} - ${formatUtils.formatDecimal(to as number)}`}\r\n \r\n );\r\n }\r\n};\r\n\r\ninterface SavedFilterDetailsProps {\r\n userFilter: UserConfigFilter;\r\n filter: TFilter;\r\n filterType: TFilterType;\r\n visibleFilters: string[]\r\n}\r\n\r\nexport const SavedFilterDetails = ({ userFilter, filter, filterType, visibleFilters }: SavedFilterDetailsProps) => {\r\n const deserializedFilters = deserializeFilters(\r\n userFilter,\r\n filter,\r\n filterType\r\n );\r\n\r\n const renderColorGroupText = (filters: FilterGroup[]) => {\r\n const [color, range] = filters;\r\n const colorValues = deserializedFilters[color.key as keyof typeof deserializedFilters] as FilterOption[];\r\n const tradedColorRange = deserializedFilters[range.key as keyof typeof deserializedFilters] as FilterRangeOption;\r\n\r\n return colorValues\r\n .filter(x => x.selected)\r\n .map(x => {\r\n const filterType = x.value as unknown as ColorFilterType;\r\n const hasRange = !tradedColorRange?.from != null || tradedColorRange?.to != null;\r\n\r\n if (filterType === ColorFilterType.TradedColor && hasRange) {\r\n const from = formatUtils.formatDecimal(+(tradedColorRange?.from ?? constants.filterTradedColorRange.min), 2);\r\n const to = formatUtils.formatDecimal(+(tradedColorRange?.to ?? constants.filterTradedColorRange.max), 2);\r\n\r\n return {`${x.text}: ${from} - ${to}`};\r\n } else {\r\n return {x.text}\r\n }\r\n });\r\n }\r\n\r\n const renderFilterGroupText = (filters: FilterGroup[]) => {\r\n switch (filters[0].groupKey) {\r\n case 'color': return renderColorGroupText(filters);\r\n default: return null;\r\n }\r\n }\r\n\r\n\r\n const alphabeticalFilterNameList = Object.keys(deserializedFilters)\r\n .filter((key) => !visibleFilters.includes(key))\r\n .sort((a, b) => compareStrings(filter[a]?.text, filter[b]?.text));\r\n\r\n const filterGroups: FilterGroup[] = values(filter).filter((f: FilterGroup) => f.groupKey)\r\n const filtersByGroup = [...arrayUtils.groupBy(filterGroups, f => f.groupKey).values()]\r\n\r\n const userFilterData = [\r\n ...visibleFilters,\r\n ...alphabeticalFilterNameList,\r\n ].reduce((accum: FilterGroup[], key) => {\r\n const filterData = deserializedFilters[key as keyof typeof deserializedFilters];\r\n\r\n if (filterData) {\r\n return [\r\n ...accum, {\r\n ...filter[key],\r\n filter: filterData,\r\n },\r\n ];\r\n }\r\n return accum;\r\n }, []);\r\n\r\n return (\r\n
    \r\n {userFilterData.map((filterData) => {\r\n const { key, text } = filterData;\r\n const groupKey = filter[key]?.groupKey;\r\n const group = groupKey\r\n ? filtersByGroup.find(g => g[0]?.groupKey === groupKey)\r\n : [];\r\n\r\n if(group?.length && group[0].key !== key) return null;\r\n\r\n return (\r\n
    \r\n {text}\r\n
    \r\n {group?.length\r\n ? renderFilterGroupText(group)\r\n : renderFilterValue(filterData)}\r\n
    \r\n
    \r\n );\r\n })}\r\n
    \r\n );\r\n}\r\n","import { AlertOption } from \"../../../../../types/email-preferences/EmailPreferences\";\r\nimport { SubscriptionFeature } from \"../../../../../types/billing/SubscriptionFeature\";\r\nimport { UserConfigFilter } from \"../../../../../types/user-config/UserConfigFilter\";\r\nimport { ActionBlocker } from \"../../../../access/ActionBlocker\";\r\nimport { RadioButton } from \"../../../../controls\";\r\n\r\ninterface Props {\r\n option: AlertOption;\r\n imFilterValues: UserConfigFilter[];\r\n onChange: (filters: UserConfigFilter[]) => void;\r\n disabled?: boolean;\r\n requiredFeature?: SubscriptionFeature;\r\n}\r\nexport function ImTableHeaderRadioButton({\r\n option,\r\n imFilterValues,\r\n onChange,\r\n disabled,\r\n requiredFeature\r\n}: Props) {\r\n\r\n const selected = imFilterValues?.some((x) => x.alertOption === option);\r\n const partially = imFilterValues?.some((x) => x.alertOption !== option);\r\n\r\n const handleClick = () => {\r\n const updatedStatus = imFilterValues?.map((v) => ({\r\n ...v,\r\n alertOption: option,\r\n }));\r\n onChange(updatedStatus);\r\n };\r\n\r\n return (\r\n \r\n {blocked =>\r\n { }}\r\n />\r\n }\r\n \r\n );\r\n}\r\n","import { IColumnDefinition } from \"../../../../bidding/common/table/types/ColumnDefinition\";\r\nimport { ColumnBuilder } from \"../../../../bidding/common/table/columns/column-builder/ColumnBuilder\";\r\nimport { RadioButton } from \"../../../../controls\";\r\nimport { UserConfigFilter } from \"../../../../../types/user-config/UserConfigFilter\";\r\nimport { AlertOption } from \"../../../../../types/email-preferences/EmailPreferences\";\r\nimport { Pluralize } from \"../../../../common\";\r\nimport { OnHoverTooltip } from '../../../../common';\r\nimport EmailInfoTooltip from \"../../../../common/EmailInfoTooltip\";\r\nimport { ImTableHeaderRadioButton } from \"./ImTableHeaderRadioButton\";\r\nimport { ActionBlocker } from \"../../../../access/ActionBlocker\";\r\n\r\nexport enum FilterColumnsKeys {\r\n FilterName = 'FilterName',\r\n Never = 'Never',\r\n Daily = 'Daily',\r\n Instant = 'Instant'\r\n}\r\n\r\nconst filterColumnDefinitions: IColumnDefinition[] = [\r\n {\r\n columnKey: FilterColumnsKeys.FilterName,\r\n renderColumnHeaderContent: () => \"Filter Name\",\r\n renderColumnContent: (filterConfigValue) => {\r\n const filterNameText = (\r\n <>\r\n {`${filterConfigValue.name} `}\r\n \r\n \r\n )\r\n return (\r\n
    \r\n \r\n {filterNameText}\r\n \r\n
    \r\n )\r\n },\r\n className: \"data-list-cell-xxxl\",\r\n }, {\r\n columnKey: FilterColumnsKeys.Never,\r\n renderColumnHeaderContent: ({\r\n filtersStatuses,\r\n setFiltersStatuses,\r\n disabled,\r\n requiredFeature\r\n }) => (\r\n \r\n ),\r\n renderColumnContent: (filterConfigValue, { disabled, requiredFeature, onColumnClick }) => (\r\n \r\n {blocked =>\r\n \r\n onColumnClick(\r\n filterConfigValue.referenceName,\r\n AlertOption.Never\r\n )\r\n }\r\n />}\r\n \r\n ),\r\n className: \"\",\r\n }, {\r\n columnKey: FilterColumnsKeys.Daily,\r\n renderColumnHeaderContent: ({\r\n filtersStatuses,\r\n setFiltersStatuses,\r\n disabled,\r\n alertOptionTooltips,\r\n requiredFeature\r\n }) => (\r\n
    \r\n \r\n \r\n
    \r\n ),\r\n renderColumnContent: (filterConfigValue, { disabled, requiredFeature, onColumnClick }) => (\r\n \r\n {blocked =>\r\n \r\n onColumnClick(\r\n filterConfigValue.referenceName,\r\n AlertOption.Daily\r\n )\r\n }\r\n />}\r\n \r\n ),\r\n className: \"\",\r\n }, {\r\n columnKey: FilterColumnsKeys.Instant,\r\n renderColumnHeaderContent: ({\r\n filtersStatuses,\r\n setFiltersStatuses,\r\n disabled,\r\n alertOptionTooltips,\r\n requiredFeature\r\n }) => (\r\n
    \r\n \r\n \r\n
    \r\n ),\r\n renderColumnContent: (filterConfigValue, { disabled, requiredFeature, onColumnClick }) => (\r\n \r\n {blocked =>\r\n \r\n onColumnClick(\r\n filterConfigValue.referenceName,\r\n AlertOption.Instant\r\n )\r\n }\r\n />}\r\n \r\n ),\r\n className: \"data-list-cell-md-flexible\"\r\n },\r\n];\r\n\r\nexport const filterColumns = filterColumnDefinitions.map((c) => new ColumnBuilder(c));\r\n","import { DropDownListItem } from '../../../controls/DropDownList';\r\nimport { FilterItemAction } from './types';\r\nimport { OnHoverTooltip } from '../../../common';\r\nimport { AlertOption } from '../../../../types/email-preferences/EmailPreferences';\r\nimport IconSVG from '../../../../styles/svg-icons';\r\n\r\nconst FilterActionLabel = {\r\n [FilterItemAction.MakeDefault]: 'Make default',\r\n [FilterItemAction.ResetDefault]: 'Reset default',\r\n [FilterItemAction.DiscardChanges]: 'Discard changes',\r\n [FilterItemAction.Delete]: ,\r\n [FilterItemAction.SetFilterForPopup]: '',\r\n};\r\n\r\nexport interface FilterDropDownListItem extends DropDownListItem {\r\n modified: boolean;\r\n alertOption: AlertOption;\r\n}\r\n\r\ninterface FiltersDropdownItemProps {\r\n item: FilterDropDownListItem;\r\n hovered: boolean;\r\n withAlerts?: boolean;\r\n onActionClick: (action: FilterItemAction, item: DropDownListItem) => void;\r\n}\r\n\r\nexport const FiltersDropdownItem = ({\r\n item,\r\n hovered,\r\n withAlerts,\r\n onActionClick,\r\n}: FiltersDropdownItemProps) => {\r\n const { default: isDefault, modified, alertOption, bwicAlertOption, dealerInventoryAlertOption } = item.payload;\r\n const isAlertTurned = \r\n (alertOption && alertOption !== AlertOption.Never) ||\r\n (bwicAlertOption && bwicAlertOption !== AlertOption.Never) ||\r\n (dealerInventoryAlertOption && dealerInventoryAlertOption !== AlertOption.Never);\r\n \r\n const renderActionLink = (action: FilterItemAction, item: DropDownListItem) => (\r\n {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n onActionClick(action, item);\r\n }}\r\n >\r\n {FilterActionLabel[action]}\r\n \r\n );\r\n\r\n const renderHoveredState = () => {\r\n if (modified) {\r\n return renderActionLink(FilterItemAction.DiscardChanges, item);\r\n }\r\n\r\n const defaultState = isDefault\r\n ? FilterItemAction.ResetDefault\r\n : FilterItemAction.MakeDefault;\r\n\r\n return (\r\n <>\r\n {renderActionLink(defaultState, item)}\r\n \r\n {withAlerts &&\r\n <>\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n onActionClick(FilterItemAction.SetFilterForPopup, item);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n );\r\n };\r\n\r\n const renderUnhoveredState = () => (\r\n <>\r\n {isDefault && (\r\n <>\r\n
    Default
    \r\n \r\n \r\n )}\r\n {withAlerts &&\r\n <>\r\n \r\n {\r\n e.stopPropagation();\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n );\r\n\r\n return (\r\n
    \r\n \r\n {item.text}\r\n  \r\n {item.modified &&
    (unsaved)
    }\r\n\r\n
    \r\n {hovered\r\n ? renderHoveredState()\r\n : renderUnhoveredState()\r\n }\r\n
    \r\n {renderActionLink(FilterItemAction.Delete, item)}\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 { FilterDropDownListItem, FiltersDropdownItem } from './FiltersDropdownItem';\r\nimport { FilterItemAction } from './types';\r\nimport { OnHoverTooltip } from '../../../common';\r\n\r\ninterface FiltersDropDownProps {\r\n items: DropDownListItem[],\r\n modified: boolean;\r\n disabled?: boolean;\r\n withAlerts?: boolean;\r\n onChange: (item: DropDownListItem, e: React.MouseEvent) => void;\r\n onActionClick: (action: FilterItemAction, item: DropDownListItem) => void;\r\n}\r\n\r\nexport const FiltersDropDown = ({\r\n items,\r\n modified,\r\n onChange,\r\n onActionClick,\r\n disabled,\r\n withAlerts = true,\r\n}: FiltersDropDownProps) => {\r\n const renderSelectedContent = (item: DropDownListItem) => {\r\n return (\r\n
    \r\n \r\n {item.text}\r\n  \r\n {modified &&
    (unsaved)
    }\r\n
    \r\n )\r\n };\r\n\r\n const renderItemContent = (item: DropDownListItem, hovered: boolean) => {\r\n const filterItem = {\r\n ...item,\r\n modified: item.selected && modified,\r\n } as FilterDropDownListItem;\r\n\r\n return (\r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\n","import { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { AlertOption } from '../../../../types/email-preferences/EmailPreferences';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { Pluralize, Preloader } from '../../../common';\r\nimport { Popup, PopupBody, PopupFooter } from '../../../controls';\r\nimport { EmailPreferencesRadioGroup } from '../../../profile/tabs/email-preferences/tabs/EmailPreferencesRadioGroup';\r\nimport { DropDownListItem } from '../../../controls/DropDownList';\r\nimport { alertOptions as defaultAlertOptions } from '../../../../constants/amr-pipeline/alertOptions';\r\nimport { defaultAlertOptionToolitps } from '../email-alerts/issuance-monitor/FilterUpdatesTable';\r\n\r\ninterface Props {\r\n filter: DropDownListItem;\r\n onClose: () => void;\r\n onConfirm: (alertOption: AlertOption) => void;\r\n description: string;\r\n alertOptionInfo?: { [key in AlertOption]?: string };\r\n alertOptions?: AlertOption[];\r\n}\r\n\r\nexport const FilterAlertsPopup = ({ filter, onClose, onConfirm, description, alertOptionInfo = defaultAlertOptionToolitps, alertOptions = defaultAlertOptions }: Props) => {\r\n const isUpdating = useSelector((state: AppState) => state.imUserConfig.isUpdating);\r\n const isDeleting = useSelector((state: AppState) => state.imUserConfig.isDeleting);\r\n\r\n const inProgress = isUpdating || isDeleting;\r\n\r\n const [alertOption, setAlertOption] = useState(filter.payload.alertOption);\r\n const [saving, setSaving] = useState(false);\r\n\r\n const filterOptionsCount = Object.keys(filter.payload.filter).length;\r\n\r\n useEffect(() => {\r\n if (!inProgress && saving) {\r\n onClose();\r\n setSaving(false);\r\n }\r\n }, [inProgress, saving, onClose]);\r\n\r\n const handleSave = () => {\r\n setSaving(true);\r\n onConfirm(alertOption);\r\n };\r\n\r\n return (\r\n Saved Filter Alerts
    }\r\n onClose={onClose}\r\n modalClass=\"modal-email-preferences\"\r\n >\r\n \r\n
    \r\n {filter.text} ()}\r\n description={description}\r\n onChange={setAlertOption}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import { useState, useMemo, useEffect } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport cn from 'classnames';\r\nimport { UserConfigFilter } from '../../../../types/user-config/UserConfigFilter';\r\nimport { Confirm } from '../../../alerts';\r\nimport { DropDownListItem } from '../../../controls/DropDownList';\r\nimport { FiltersDropDown } from './FiltersDropdown';\r\nimport { FilterItemAction } from './types';\r\nimport { createFilterActions } from '../../../../actions/filter.actions';\r\nimport { TFilterType } from '../../../../types/filters/FilterState';\r\nimport { FilterAlertsPopup } from './FilterAlertsPopup';\r\nimport { FilterDropDownListItem } from './FiltersDropdownItem';\r\nimport { AlertOption } from '../../../../types/email-preferences/EmailPreferences';\r\nimport { ActionBlocker } from '../../../access/ActionBlocker';\r\nimport { SubscriptionFeature } from '../../../../types/billing/SubscriptionFeature';\r\n\r\ninterface Props {\r\n onChange: () => void;\r\n disabled?: boolean;\r\n selectedFilterReferenceName?: string;\r\n filterModified: boolean;\r\n filterChanged: boolean;\r\n filterType: TFilterType;\r\n filters: UserConfigFilter[],\r\n onSaveFilterAlert: (referenceName: string, alertOption: AlertOption, isDefault: boolean) => void;\r\n onDeleteFilter: (referenceName: string) => void;\r\n withBlockedSearchAndFilter?: boolean;\r\n onMakeDefault: (referenceName: string, isDefault: boolean) => void;\r\n onResetDefault: (referenecName: string, isDefault: boolean) => void;\r\n withAlerts?: boolean;\r\n filterAlertPopupDescription?: string;\r\n alertOptionInfo?: { [key in AlertOption]?: string };\r\n blockerFeature?: SubscriptionFeature;\r\n renderFilterAlertsPopup?: (filter: UserConfigFilter, onClose: () => void) => React.ReactNode;\r\n alertOptions?: AlertOption[];\r\n}\r\n\r\nexport const FiltersManagement = ({\r\n onChange,\r\n disabled,\r\n filterModified,\r\n filterChanged,\r\n selectedFilterReferenceName,\r\n filters,\r\n onMakeDefault,\r\n onResetDefault,\r\n onSaveFilterAlert,\r\n onDeleteFilter,\r\n filterType,\r\n withBlockedSearchAndFilter = false,\r\n withAlerts = true,\r\n filterAlertPopupDescription = \"Receive an email when transactions are published or updated on Issuance Monitor.\",\r\n alertOptionInfo,\r\n blockerFeature,\r\n renderFilterAlertsPopup,\r\n alertOptions\r\n}: Props) => {\r\n const filterActions = createFilterActions(filterType);\r\n\r\n const dispatch = useDispatch();\r\n\r\n const mapFilterConfig = (userConfigFilter: UserConfigFilter) => {\r\n return {\r\n value: userConfigFilter.referenceName,\r\n text: userConfigFilter.name,\r\n selected: userConfigFilter.referenceName === selectedFilterReferenceName,\r\n payload: userConfigFilter,\r\n } as DropDownListItem;\r\n };\r\n\r\n const [listItemForDeletion, setListItemForDeletion] = useState();\r\n const [filterForAlert, setFilterForAlert] = useState();\r\n\r\n useEffect(() => {\r\n if (filterModified && !filterChanged) {\r\n dispatch(filterActions.setFilterByReferenceName('', undefined));\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [filterModified, filterChanged]);\r\n\r\n const handleFilterChange = (item: DropDownListItem) => {\r\n const referenceName = item.value as string;\r\n\r\n const selectedFilter = filters.find(filter =>\r\n referenceName ? filter.referenceName === referenceName : filter.default,\r\n );\r\n\r\n dispatch(filterActions.selectFilterFromConfig(selectedFilter, referenceName));\r\n onChange();\r\n };\r\n\r\n const handleFilterItemAction = (action: FilterItemAction, item: DropDownListItem) => {\r\n switch (action) {\r\n case FilterItemAction.MakeDefault:\r\n onMakeDefault(item.value as string, true);\r\n break;\r\n case FilterItemAction.ResetDefault:\r\n onResetDefault(item.value as string, false);\r\n break;\r\n case FilterItemAction.DiscardChanges:\r\n break;\r\n case FilterItemAction.SetFilterForPopup:\r\n setFilterForAlert(item as FilterDropDownListItem);\r\n break;\r\n case FilterItemAction.Delete:\r\n setListItemForDeletion(item);\r\n break;\r\n }\r\n };\r\n\r\n const handleDeleteFilter = () => {\r\n listItemForDeletion && onDeleteFilter(listItemForDeletion.payload.referenceName);\r\n listItemForDeletion && setListItemForDeletion(undefined);\r\n };\r\n\r\n const filterConfig = useMemo(\r\n () => (filters ? filters.map(mapFilterConfig) : []),\r\n [filters, selectedFilterReferenceName], // eslint-disable-line react-hooks/exhaustive-deps\r\n );\r\n\r\n const handleConfirmFilterAlert = (alertOption: AlertOption) => {\r\n onSaveFilterAlert(filterForAlert!.value as string, alertOption, filterForAlert!.payload.default);\r\n };\r\n\r\n return (\r\n
    \r\n \r\n {blocked =>\r\n
    \r\n Saved filters:\r\n \r\n
    \r\n }\r\n
    \r\n {filterForAlert && (renderFilterAlertsPopup?.(filterForAlert.payload, () => setFilterForAlert(undefined)) ??\r\n setFilterForAlert(undefined)}\r\n onConfirm={handleConfirmFilterAlert}\r\n filter={filterForAlert}\r\n />\r\n )}\r\n {listItemForDeletion && (\r\n setListItemForDeletion(undefined)}\r\n />\r\n )}\r\n
    \r\n );\r\n};\r\n","import classnames from 'classnames';\r\nimport { useState, useMemo } from 'react';\r\nimport { alertOptionTooltipText, alertOptions as defaultAlertOptions } from '../../../../constants/amr-pipeline/alertOptions';\r\nimport { AlertOption } from '../../../../types/email-preferences/EmailPreferences';\r\nimport { PortfolioUserConfigFilter, UserConfigFilter } from '../../../../types/user-config/UserConfigFilter';\r\nimport { Popup, PopupBody, PopupFooter, RadioButton } from '../../../controls';\r\nimport { Checkbox } from '../../../controls/Checkbox';\r\nimport { DropDownList } from '../../../controls/DropDownList';\r\nimport EmailInfoTooltip from '../../../common/EmailInfoTooltip';\r\nimport { FilterManagementForm, FilterSaveMode } from './types';\r\n\r\nexport type TRenderCustomAlertOptions =\r\n (state: FilterManagementForm, onChange: (nextState: FilterManagementForm) => void) => React.ReactNode;\r\n\r\ninterface FiltersManagementPopupProps {\r\n selectedReferenceName?: string,\r\n filters?: UserConfigFilter[];\r\n onSave: (data: FilterManagementForm) => void;\r\n onClose: () => void;\r\n isUpdating: boolean;\r\n showEmailNotificationsOptions?: boolean;\r\n alertOptions?: AlertOption[];\r\n defaultAlertOption?: AlertOption;\r\n alertOptionInfo?: { [key in AlertOption]?: string };\r\n renderCustomAlertOptions?: TRenderCustomAlertOptions;\r\n}\r\n\r\nexport const FiltersManagementPopup = ({\r\n selectedReferenceName,\r\n onSave,\r\n onClose,\r\n isUpdating,\r\n filters,\r\n showEmailNotificationsOptions = true,\r\n alertOptions = defaultAlertOptions,\r\n defaultAlertOption = AlertOption.Daily,\r\n alertOptionInfo,\r\n renderCustomAlertOptions\r\n}: FiltersManagementPopupProps) => {\r\n const getDefaultFilter = () => {\r\n if (!filters?.length) {\r\n return undefined;\r\n }\r\n\r\n if (selectedReferenceName) {\r\n return filters.find(x => x.referenceName === selectedReferenceName);\r\n }\r\n\r\n const [firstFilter] = filters;\r\n\r\n return firstFilter;\r\n };\r\n\r\n const defaultFilter = getDefaultFilter();\r\n\r\n const [form, setForm] = useState({\r\n name: defaultFilter?.name || '',\r\n referenceName: defaultFilter?.referenceName,\r\n mode: FilterSaveMode.Create,\r\n makeDefault: false,\r\n receiveEmailNotification: defaultAlertOption,\r\n bwicAlert: defaultAlertOption,\r\n inventoryAlert: defaultAlertOption\r\n });\r\n\r\n const selectedFilter = form.referenceName \r\n ? filters?.find(f => f.referenceName === form.referenceName) \r\n : defaultFilter;\r\n\r\n const [errors, setErrors] = useState>({});\r\n\r\n const dropdownListItems = useMemo(() => {\r\n if (!filters) {\r\n return [];\r\n }\r\n\r\n return filters.map((userConfigFilter: UserConfigFilter, index: number) => ({\r\n value: userConfigFilter.referenceName,\r\n text: userConfigFilter.name,\r\n selected: form.referenceName ? userConfigFilter.referenceName === form.referenceName : !index,\r\n payload: userConfigFilter,\r\n }));\r\n }, [filters, form.referenceName]);\r\n\r\n const validate = () => {\r\n const { mode, name } = form;\r\n let error: string | null = null;\r\n\r\n if (mode === FilterSaveMode.Update) {\r\n setErrors({});\r\n return true;\r\n }\r\n\r\n if (!name || !name.trim()) {\r\n error = 'Name is required';\r\n }\r\n\r\n if (filters?.some(x => x.name.toLocaleLowerCase() === name.toLocaleLowerCase())) {\r\n error = 'Please choose a unique name';\r\n }\r\n\r\n const newErrors = {\r\n ...errors,\r\n name: error,\r\n };\r\n\r\n setErrors(newErrors);\r\n\r\n return Object.values(newErrors).some(x => !x);\r\n };\r\n\r\n const handleSave = () => {\r\n const valid = validate();\r\n\r\n if (!valid) {\r\n return;\r\n }\r\n\r\n onSave(form);\r\n };\r\n\r\n const renderNameInput = (hasTitle?: boolean) => (\r\n
    \r\n {hasTitle && }\r\n {\r\n const name = e.target.value;\r\n setForm((prev) => ({ ...prev, name }));\r\n }}\r\n onBlur={validate}\r\n disabled={form.mode === FilterSaveMode.Update}\r\n />\r\n {errors.name &&
    {errors.name}
    }\r\n
    \r\n );\r\n\r\n const renderSaveAsOnly = () => (\r\n
    \r\n {renderNameInput(true)}\r\n
    \r\n );\r\n\r\n const renderWithUpdate = () => <>\r\n
    \r\n setForm((prev) => ({\r\n ...prev,\r\n mode: FilterSaveMode.Create,\r\n makeDefault: false,\r\n receiveEmailNotification: defaultAlertOption,\r\n bwicAlert: defaultAlertOption,\r\n inventoryAlert: defaultAlertOption\r\n }))}\r\n />\r\n {renderNameInput()}\r\n
    \r\n
    \r\n {\r\n setForm((prev) => ({\r\n ...prev,\r\n mode: FilterSaveMode.Update,\r\n ...(selectedFilter && {\r\n makeDefault: selectedFilter.default || false,\r\n receiveEmailNotification: selectedFilter.alertOption,\r\n bwicAlert: (selectedFilter as PortfolioUserConfigFilter).bwicAlertOption,\r\n inventoryAlert: (selectedFilter as PortfolioUserConfigFilter).dealerInventoryAlertOption\r\n })\r\n }))\r\n setErrors({});\r\n }}\r\n />\r\n setForm((prev) => ({\r\n ...prev,\r\n referenceName: item.value as string,\r\n name: item.text,\r\n makeDefault: item.payload.default || false,\r\n receiveEmailNotification: item.payload.alertOption,\r\n bwicAlert: (item.payload as PortfolioUserConfigFilter).bwicAlertOption,\r\n inventoryAlert: (item.payload as PortfolioUserConfigFilter).dealerInventoryAlertOption\r\n }))}\r\n />\r\n
    \r\n ;\r\n\r\n const renderAlertOptions = () => {\r\n if (renderCustomAlertOptions) {\r\n return
    {renderCustomAlertOptions(form, setForm)}
    ;\r\n }\r\n\r\n return (\r\n
    \r\n {alertOptions.map((alertOption) => (\r\n
    \r\n setForm((prev) => ({\r\n ...prev,\r\n receiveEmailNotification: alertOption\r\n }))}\r\n />\r\n {alertOption !== AlertOption.Never && (\r\n \r\n )}\r\n
    \r\n ))}\r\n
    \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n {dropdownListItems.length\r\n ? renderWithUpdate()\r\n : renderSaveAsOnly()\r\n }\r\n {showEmailNotificationsOptions &&\r\n
    \r\n

    Email Alerts

    \r\n {renderAlertOptions()}\r\n
    \r\n }\r\n
    \r\n \r\n setForm((prev) => ({ ...prev, makeDefault: !prev.makeDefault }))}\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import { AlertOption } from \"../../../../types/email-preferences/EmailPreferences\";\r\n\r\nexport enum FilterSaveMode {\r\n Create,\r\n Update\r\n}\r\n\r\nexport enum FilterItemAction {\r\n MakeDefault,\r\n ResetDefault,\r\n DiscardChanges,\r\n Delete,\r\n SetFilterForPopup,\r\n}\r\n\r\nexport interface FilterManagementForm {\r\n mode: FilterSaveMode;\r\n referenceName?: string;\r\n name: string;\r\n makeDefault: boolean;\r\n receiveEmailNotification: AlertOption;\r\n bwicAlert?: AlertOption;\r\n inventoryAlert?: AlertOption;\r\n issuanceMonitorAlert?: AlertOption;\r\n rollerDeadlineAlert?: AlertOption;\r\n}\r\n"],"names":["_ref","selectedTransaction","_ref$isClassActive","isClassActive","_jsxs","Breadcrumbs","children","_jsx","BreadcrumbsItem","route","routes","AMRPipeline","text","_Fragment","transactionDetailUrl","referenceName","dealReferenceName","dealLegalName","IssuanceMonitorNoData","className","EmptyPlaceholder","ProportionBar","items","title","maxValue","sumBy","i","value","OnHoverTooltip","overlay","map","style","backgroundColor","color","concat","constants","emptyPlaceholder","placement","overlayClassName","_i$value","fillingPercent","width","RequestFullDemoButton","dispatch","useDispatch","_useState","useState","_useState2","_slicedToArray","showPopup","setShowPopup","handleClick","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","amrPipelineService","requestDemo","t0","errorActions","error","stop","apply","arguments","onClick","Popup","modalClass","onClose","PopupBody","StatusMessageSection","type","StatusMessageSectionType","Info","PopupFooter","FlexRow","status","String","toLowerCase","replace","DealUpdatesPopover","lastUpdated","version","_ref$dealUpdates","dealUpdates","historyLinkTarget","_ref$withOverlayPrefi","withOverlayPrefix","disabled","onOpen","onVersionHistoryClick","isTooltipDisabled","setIsTooltipDisabled","isOriginatingTransaction","TransactionType","amr","isDraft","TransactionStatus","Draft","isClosed","Closed","lastUpdatedDate","moment","dateTimeUtils","resetTimeZone","changeDateTimeZone","estTimezone","formattedLastUpdated","format","dateFormat","dateTimeFormat","isActivePriced","Active","Priced","includes","showDealUpdatesIdentifiers","length","tooltipOverlay","PseudoLink","Popover","label","actionButton","u","dealUpdatesIdentifiersTitles","TransactionHistoryLink","target","useIntexFile","transaction","loading","setLoading","onLoadSuccess","useEffect","request","intexFile","getIntexFile","sent","criticalError","finish","IntexButton","userCompany","_ref$label","_ref$disabled","_ref$placeholderIfEmp","placeholderIfEmpty","_ref$secondaryPlaceho","secondaryPlaceholderColor","_ref$tooltipOverlay","_ref$asyncFileLoad","asyncFileLoad","onClickLink","_objectSpread","IconSVG","name","height","hasImAccess","user","hasFeatures","SubscriptionFeature","IssuanceMonitorHistoricalData","limitedAccess","hasLimitedAccess","isMedia","hasRoles","roles","Media","intexExists","currentIntexPositionId","getCurrentIntexPositionIdForTransaction","hasArrangerProSubscription","transactionHasArrangerProSubscription","renderEmpty","cn","dealTicker","IntexLink","positionId","Preloader","inProgress","small","e","stopPropagation","ActionBlocker","feature","IntegrationsIntex","blocked","wrapperClass","FeatureButton","classNames","OptionsButton","withIOIs","notActiveTransaction","userCanViewIOIs","canViewIOIs","userCanSubmitIOIs","canSubmitIOIs","ioisLink","TransactionsTabTypes","IOIs","Link","to","classes","some","c","numberOfIOIs","shareOptionColumnDefinition","columnKey","PipelineColumn","shareOption","renderColumnHeaderContent","renderColumnContent","context","setTransactionToShare","showShare","isBrokerDealersOwnTransaction","headerClassName","bodyClassName","stickRight","buildOptionsColumnDefinition","isBdOrSeller","optionsAction","pipelineColumnLabels","options","numberOfDealPublishedTransactions","setTab","setTransactionForIntex","setTransactionForAlerts","showHistory","ImSubscriptionActionBlocker","FilterRelatedTransactionsIcon","IssuanceMonitorTab","Deals","TransactionAlertsButton","optionsButtonColumnDefinition","optionButton","commonPipelineColumns","columnsConfig","fixedColumnDefinitions","isNew","NewDebutAmrLabel","statsColumnDefinitions","sortingField","dealName","canViewTransactionDetails","getTransactionDetailsUrl","manager","collateralManager","ManagerLink","legalName","arranger","_arranger$code","BankLink","code","overlayText","trustee","_transaction$trustee","_transaction$trustee2","transactionStatus","StatusLabel","transactionStatusTitles","transactionType","startCase","dealSize","dealBalance","moneyUtils","money","pricingDate","closingDate","nonCallPeriodEnd","nonCallPeriodEndDays","pipelineTooltipText","nonCallPeriodEndYears","yrsLeftToDateFrom","outOfNC","_ref2","isNil","formatUtils","formatBoolean","reinvestmentPeriodEnd","_ref3","reinvestmentPeriodEndDays","reinvestmentPeriodEndYears","outOfRI","_ref4","was","formatDecimal","warf","ds","euCompliance","euRiskRetentionRequirements","euDisclosureRequirements","columnText","formatBooleanWithPlaceholder","renderMarkdownOrEmpty","esg","esgComment","MarkdownViewer","collateralType","formatCollateralType","currency","_currency","amrDeal","transactionSize","offeringType","maturity","statedMaturity","finalMaturity","vintage","year","firstPayment","firstPaymentDate","intex","_ref5","intexName","intexPassword","numberOfDocuments","_ref6","href","rel","syndicate","actions","numberOfContacts","numberOfSyndicateContacts","_transaction$arranger","setSyndicateContacts","enhancedCLO","staticDeal","rollerDeadline","today","isToday","amrFormatUtils","formatRollerDeadlineDate","iois","customizedColumns","reduce","acc","columnConfig","column","find","_ref8","toLocaleLowerCase","isShareAvailable","_toConsumableArray","bd","isButtonAvailable","getAllRolesExclude","admin","DataEntry","Viewer","SellerTrader","BrokerDealerTrader","ColumnBuilder","collapseStickRightColumn","ioiSize","ioi","size","ioiSizePercent","sizePercent","commonColumns","isSeller","dm","isRefinanced","oid","floaterIndex","margin","comment","submitDate","PipelineList","dataItems","columns","_ref$className","_ref$view","view","PipelineView","Deal","_useContext","useContext","PipelineContext","pipelineType","optionColumnCollapseStatus","setOptionColumnCollapseStatus","transactionToShare","_useState3","_useState4","transactionForIntex","_useState5","_useState6","transactionForAlerts","createAmrPipelineActions","useAppDispatch","isOptionsColumnCollapsed","_useSelector","useSelector","amrDealsSelector","dealSortDirection","classSortDirection","dealSortBy","classSortBy","hasMoreTransactionsClasses","hasMoreTransactions","isTransactionsSearching","isClassesSearching","isExpanded","numberOfHiddenTransactions","numberOfHiddenClasses","state","issuanceMonitor","amrPipelineCommon","isDealView","sortBy","sortDirection","isIOIsTab","PipelineType","isSellerTrader","isSellerViewer","SellerViewer","withImSubscription","IssuanceMonitorFullAccess","nonVisibleCount","hasMoreItems","hasInvisibleDeals","renderDealCollapsibleItem","columnType","headerContext","isAdminOrDataEntryOrMedia","Administrator","transactionClass","amrTrancheStatusTitles","transactionClassUrl","transactionReferenceName","ratingMoodys","ratingSnP","ratingFitch","ratingKbra","ratingDbrs","balance","numericUtils","isNumber","formatMargin","formatFactor","factor","capMargin","NonAmrPeriod","period","nonAmrPeriod","class","ticker144A","_transactionClass$cla","cusip144A","_transactionClass$cla2","isin144A","_transactionClass$cla3","tickerRegS","_transactionClass$cla4","cusipRegS","_transactionClass$cla5","isinRegS","_transactionClass$cla6","tickerAccdInvCertif","_transactionClass$cla7","cusipAccdInvCertif","_transactionClass$cla8","isinAccdInvCertif","actionsColumn","BwicMonitorLink","identifiers","BwicInventoryLink","AddToPortfolioLink","checkSubscription","BloombergLink","ValitanaLink","amrColumns","OverlayClassNameContent","originatingTransactionClassStatus","OriginatingTransactionClassStatus","NotOffered","amrConstants","notOffered","formatRating","parSubordination","mvoc","wal","formatInventoryCoupon","_transactionClass$dm","ImSubscriptionValue","initialPrice","price","initialGuidance","guidance","RequiredFeature","renderBlockedContent","LastUpdatedPopover","field","_ref7","transactionClassStatusTitles","_ref9","subscription","_ref10","ocTarget","ocTrigger","ocCushion","_transactionClass$tra","tranche","_transactionClass$tra2","_transactionClass$tra3","_transactionClass$tra4","_transactionClass$tra5","_transactionClass$tra6","_transactionClass$tra7","_transactionClass$tra8","_transactionClass$tra9","newIssueColumns","left","middle","right","collapsibleColumns","TableColumnStickType","Left","Middle","Right","LazyLoad","enabledUnloading","visible","SecurityListHeader","renderHeader","undefined","tc","StickyTableCollapsibleRow","rowKey","dataItem","expandAll","collapseIconVisible","renderCollapsibleContent","renderClassCollapsibleItem","StickyTableRow","tableRowHeight","tableHeaderHeight","textViewRow","companyLegalName","ioIs","classReferenceName","Table","onSort","switchSorting","sort","SORT","ASC","DESC","dealSortingChanged","classSortingChanged","applyFilterAndSearch","infiniteScrollEnabled","defaultSortBy","defaultSortByDirection","onNextPageRequest","loadTransactions","loadClasses","sticky","createRowCustomKey","item","index","createSecurityCustomClassName","createHeaderCustomArgs","setIsOptionsColumnCollapsed","createSecurityCustomArgs","collapsible","defaultExpandAll","onExpandAll","expanded","setExpanded","renderCollapsibleItem","renderLastRow","description","BlockedFeatureContent","inline","SubscribeLink","InviteClientsTransactionPopup","withGetTransaction","IntexPopup","onCloseClick","TransactionAlertsPopup","redirectFilter","types","newIssue","refi","reset","statuses","transactionTypes","_TransactionTypes$fin","TransactionTypes","x","createRedirectFilters","PipelineEmptyPlaceholder","onRedirect","amrPipelineActions","searchTransactionsActions","createSearchTransactionActions","filterActions","createFilterActions","ShowFor","seller","setRedirectFilters","init","DealView","transactions","optionsColumnDefinition","transactionWithClass","classIdentifiers","changeDealSelectFromTable","Subject","classesColumns","stickLeft","classesColumnDefinitions","isNotOffered","_amrClass$pricingDate","_amrClass$settlementD","settlementDate","ticker","_tranche","cusip","_tranche2","isin","_tranche3","_tranche4","_tranche5","_tranche6","_tranche7","cusipAccdInvestor","_tranche8","isinAccdInvestor","_tranche9","rating","expectedRatingMoodys","expectedRatingSnP","expectedRatingFitch","expectedRatingKbra","expectedRatingDbrs","coupon","_dm","sortingType","trigger","cushion","_class","nonAmr","_transaction$currency","amrClass","_class2","capitalize","_transaction","_ref12","_ref13","_ref14","ClassView","Class","PipelineFilter","_filtersConfig$filter","isSearching","onApply","onReset","_ref$allowCollapsing","allowCollapsing","_ref$hiddenFilters","hiddenFilters","onVisibilityChange","filtersCollapseStatus","setFiltersCollapseStatus","withBlockedSearchAndFilter","isUpdating","imUserConfig","filtersConfig","filterType","ArrangerPipeline","UserConfigType","imFilter","apFilter","isFilterCollapsed","issuanceMonitorFilterSelector","filter","filterChanged","filterModified","visibleFilters","selectedFilterReferenceName","applyDisabled","applyDisabledSelector","Filters","filters","onFilterSave","data","trim","imUserConfigActions","createUserFilter","default","makeDefault","alertOption","receiveEmailNotification","onFilterUpdate","updateUserFilter","saveFilterBlockerFeature","advancedFiltersBlockerFeature","advancedFiltersBlockerText","BlockedFeatureTooltipText","filterConfigShowEmailNotification","currencySign","_defineProperty","Currency","USD","EUR","defaultVolume","required","getVolumeColumn","usdBalance","eurBalance","selectedCurrencies","selectedCurrency","first","selectedValue","presentValue","formatClassesTotalBalance","Summary","lastAppliedFilter","amrPipelineSelector","_useSelector2","summarySelector","shouldShowTransactionsSummary","shouldShowClassesSummary","transactionsStatistic","classesStatistic","isSummaryRequesting","fullScreen","summary","appliedFilters","dealsSummaryItems","numberOfTransactions","transactionsBalanceTotalUsd","transactionsBalanceTotalEur","selected","numberOfManagers","numberOfArrangers","numberOfTrustees","medianWAS","isMedian","medianWARF","medianDS","medianPurchasePrice","classesSummaryItems","medianParSubordination","medianMVOC","medianMargin","medianDM","round","getClassesSummaryItems","renderSummaryGroup","groupName","summaryItems","shouldShow","itemTooltipText","renderSummaryItem","tooltipText","medianText","Pipeline","viewMode","useMemo","showColumnsDialog","setShowColumnsDialog","_useSelector$deals","deals","syndicateContacts","wasInitialAccessTracked","searchTermItems","searchTransactions","_useSelector$filter","initialFilter","isLoading","isFilterApplied","isEqual","isDataLoaded","isPortfolioDisabled","ArrangersClient","isDataAvailable","requestState","usePortfolios","isPortfoliosLoaded","isRequestSuccess","isRequestFailed","getUserConfig","logInitialAccessToIM","tabColumnsConfig","viewConfig","imColumnsDealTab","imColumnsClassTab","displayed","a","b","order","handleToggleFilterDefault","isDefault","setUserFilterParams","handleSaveFilterAlerts","handleDeleteFilter","deleteUserFilter","handleResetFilter","filterReset","handleResetFilterAndSearch","filterName","handleVisibilityFilter","pipelineFilters","additionalFilters","FiltersManagement","onSaveFilterAlert","onMakeDefault","onResetDefault","onDeleteFilter","onChange","alertOptionInfo","AlertOption","Instant","alertOptionTooltipText","Daily","FilterButton","CustomizeColumnsDialog","defaultTab","overrideRequiredFeatures","onResetClick","renderView","SyndicatePopup","resetSyndicateContacts","PipelineDashboard","onWidgetItemClick","IntersectionObserverProvider","threshold","IssueTransactionVolumeWidget","TopIssuersWidget","onListItemClick","IssuanceSpreadWidget","withSlider","TopArrangersWidget","UsBslEsgNewIssueWidget","TopTrusteesWidget","UsBslEuCompliantDealsWidget","TopStaticDeals","ShortLongDatedDealsWidget","startDate","pipelineRequestCriteria","shortLongDatedDeals","startDateDashboard","TopDebutDeals","UsBslNewIssueWeeklySpreads","ArrangerPipelineSummary","arrangerPipelineSelector","SummaryRow","isRequesting","SummaryRowItem","numberOfCleansingNotices","numberOfArrangerPipelines","SummaryRowGroup","numberOfNewIssueTransactions","numberOfRefiTransactions","numberOfResetTransactions","numberOfTbdTypeTransactions","numberOfBslTransactions","numberOfMmTransactions","numberOfTbdCollatTransactions","listItemForDeletion","setListItemForDeletion","isStickyTable","arrangerPipelines","anyPipelineExists","hasMore","selectedDealsLegalNames","_useDealSecurityStati","useDealSecurityStatistics","t","category","Category","CleansingNotice","securitiesRequestState","statistics","arrangerPipelinesWithSecurities","securities","cleansingNotices","_securities$find","security","s","isAnyCleansingNotice","isEditAvailable","isBasicSeller","arrangerPipelinesDocs","managerPresentations","disclosureFiles","forEach","ap","presentation","managerPresentationFile","disclosure","disclosureFile","push","_useDownloadDocumentL","useDownloadDocumentList","documents","downloadRequest","amrArrangerPipelineService","downloadManagerPresentation","managerPresentationLoadHandler","loadHandler","managerPresentationLoadingState","loadingState","_useDownloadDocumentL2","downloadDisclosureFile","disclosureLoadHandler","disclosureLoadingState","amrArrangerPipelineActions","checkIfArrangerPipelineExist","initFilter","sortingChange","loadArrangerPipelines","arrangerPipelinesRequest","renderCollapsibleRow","getCleansingNoticeColumns","_getCleansingNoticeSt","getCleansingNoticeStickyColumns","_getCleansingNoticeSt2","tableKey","shouldRenderCollapsibleRow","handleApplyFilter","resetFilter","selectDealsFromSearch","withAlerts","shouldRenderCollapsibleRowCallback","isNextPageRequesting","onDeleteClick","isManagerPresentationDownloading","isDisclosureDownloading","getArrangerPipelineColumns","ArrangerPipelineEdit","Confirm","onConfirm","deleteArrangerPipeline","onCancel","history","useHistory","isGridUploading","grid","upload","GridUploadStatus","Uploading","UploadingSingle","arrangerPipelineDealsSelector","isSubmitting","isSubmitted","showRouteLeavingPopup","setShowRouteLeavingPopup","nonDraftDataItems","d","draft","hasErrors","errors","isBD","edit","gridActions","submitArrangerPipelineStatus","hasChanges","p","original","_original$arranger","arrangerReferenceName","collateralManagerReferenceName","anchor","equity","dealStage","expectedTiming","isChangedOrRemoved","handleCancel","RouteLeavingGuard","navigate","pathname","shouldBlockNavigation","UnsavedChangesPopup","DeleteRowsWithErrorButton","DeleteAllButton","DownloadTemplateButton","templateType","submitArrangerPipeline","Grid","dataUploadDisabled","helpPopoverTitle","ArrangerPipelineSearchDeals","_ref$placeholder","placeholder","onSearch","selectedSearchItems","refInput","useRef","refScrollableContainer","refActiveItem","searchTerm","setSearchTerm","setSearchTermItems","markerPosition","setMarkerPosition","_useState7","_useState8","filteredItems","setFilteredItems","_useState9","_useState10","setIndex","_useState11","_useState12","focusInput","setFocusInput","getFilteredItems","useCallback","valueLowerCase","current","container","getBoundingClientRect","top","bottom","scrollIntoView","JSON","stringify","handleLookupItemClick","lookupItem","focus","handleRemoveChip","removedIndex","getMarkerPositionAfterItemRemove","renderLookupItem","ref","node","active","ChipList","list","selectionIndex","onRemove","onKeyDown","keyCode","currentTarget","selectionStart","preventDefault","onFocus","onBlur","searchTermAcceptedLength","textView","ImEmailAlertsPopup","onSave","isDeleting","imAlertOption","imAlertConfig","newTransactionAlertOption","newTransactionAlertConfig","weeklyStatsAlertOption","weeklyStatsAlertConfig","emailOption","filterList","singleUpdateReceiving","setSingleUpdateReceiving","newTransactionReceiving","setNewTransactionReceiving","statisticsReceiving","setStatisticsReceiving","filterAlertsStatuses","setFilterAlertsStatuses","withAlertsFilters","isInitialFilter","isSaveDisabled","ImEmailAlerts","singleUpdate","onChangeSingleUpdate","newTransactionUpdate","onChangeNewTransactionUpdate","weeklyStatistic","onChangeWeeklyStatistic","filterAlerts","onChangeFilterAlerts","profileNotificationsTab","EmailPreferencesTab","IssuanceMonitor","ApEmailAlertsPopup","initialUpcomingTransaction","apAlertConfig","upcomingTransaction","setUpcomingTransaction","isInitialAlertsState","ApEmailAlerts","upcomingAlert","onChangeUpcomingAlert","IssuanceMonitorTopPanel","tab","onViewModeChange","oldState","newState","isExportLoad","isDealsPipelineExportLoad","_useSelector3","isArrangerPipelineExportLoad","dealsSearchItems","isEditArrangerPipelineAvailable","isArrangerPipelineTab","newTransAlertOption","filterAlertOptions","ImFilter","arrangerPipelineAlertOption","withSelectedAlerts","Never","f","isExportDisabled","showAlertsPopup","setAlertsPopup","handleSearchDeals","debounce","handleSearchArrangerPipeline","dealsLegalNames","onShowPopup","onHidePopup","onSaveImEmailAlerts","everySingleUpdate","filterStates","updatedAlerts","updateUserFilterEmailAlerts","onSaveApEmailAlerts","upcomingOption","apConfigs","arrangerPipelineAlert","updateUserConfig","ButtonSwitch","sourceItems","key","onSelectionChange","TransactionsSearchInput","noTooltip","AlertsButton","isSelected","ExportButton","handleExport","exportPipelines","exportTransactionsClasses","Tabs","Dashboard","IssuanceMonitorLayout","setViewMode","ioisAccess","hasIOIsAccess","isArrangerPipelineDisabled","isTabDisabled","accessibleTabs","PipelineTabs","Tab","location","useLocation","_queryString$parse","queryString","search","decode","imPipelineTab","pipelineViewMode","anyIOIsExists","contextValue","collapseState","isCollapsed","prevValue","optionCollapseStatus","hasSingleRole","amrPipelineCommonActions","redirectInvitedClientToTransactionDetails","renderPipeline","Provider","amrPipelineHistory","lastUpdatedFields","rest","_objectWithoutProperties","_excluded","withHistory","renderDate","dateToDisplay","amrTransactionHistoryActions","transactionFieldsUpdatedReset","transactionFieldsUpdatedRequest","PeriodPopover","React","classnames","child","props","getTableColumns","firstName","lastName","fullName","nameUtils","getFullName","ContactType","DistributionList","HeadOfDesk","email","officePhoneNumber","mobilePhoneNumber","arrangerName","contacts","renderTitle","ArrangerPipelineLink","_ref$dealsLegalNames","_ref$requiredFeatures","requiredFeatures","tooltip","createUrl","searchParams","serializer","dealLegalNamesSerializer","qs","queryStringSerializer","serialize","RoleActionBlocker","roleBlocked","ValueBlocker","features","FeatureLink","path","lastUpdatedColumn","arrangerPipeline","dateUpdatedEst","arrangerColumn","toAllArrangersColumn","toAllArrangers","dealNameColumn","toRelatedDealsColumn","toRelatedDeals","managerColumn","onManagerClick","toAllManagersColumn","toAllManagers","transactionTypeColumn","collateralTypeColumn","nonCallPeriodEndYrsColumn","years","Number","reinvestmentPeriodEndYrsColumn","expectedTimingColumn","_arrangerPipeline$exp","dealStageColumn","_arrangerPipeline$dea","euComplianceColumn","anchorColumn","equityColumn","Equity","No","equityTitles","syndicateColumn","_arrangerPipeline$syn","_arrangerPipeline$arr","managerPresentationFileColumn","managerPresentationAccessType","DownloadDocument","loadingText","disclosureFileColumn","bankReferenceName","categoryColumn","categoryLabels","tickerColumn","_arrangerPipeline$dea2","currencyColumn","_arrangerPipeline$cur","currencyCode","nonCallPeriodEndColumn","nonCallPeriodEndDate","reinvestmentPeriodEndColumn","reinvestmentPeriodEndDate","outOfRIColumn","outOfNCColumn","vintageColumn","trusteeColumn","amrDealColumn","esgColumn","staticDealColumn","static","myBwicColumn","_x$security","currentBwic","MyBwicIcon","bwic","currentBwicColumn","_x$security2","_x$security$currentBw","_x$security$currentBw2","BwicStatusLabel","liveBidding","process","BwicProcessType","Live","isParsed","directBidding","isClearingBankParticipant","isAllToAll","bwicTypeIconVisible","BwicMonitorLookupLink","utcToLocalString","bidsDueUtc","inventoryColumn","_x$security3","inventoryCount","SecurityInventoryLink","count","lastTradedMineColumn","_x$security4","_x$security5","_x$security5$lastTrad","SecurityLastTradedDate","inventoryLastTraded","inventoryLastTradeDate","bwicLastTradedDate","lastTraded","isInventoryDate","_x$security6","_x$security7","lastTradedColumn","_x$security8","_x$security9","_x$security9$lastTrad","lastTradeDate","lastTradedColorColumn","_x$security10","_x$security11","_x$security11$lastTra","_x$security12","_x$security12$lastTra","_x$security13","_x$security13$lastTra","Color","cleansingNoticeColumns","tickerAccd","cusipAccd","isinAccd","cleansingNoticesActionColumn","_ListBuilder","isAdminOrDataEntry","ListBuilder","add","addWhen","result","apAlertOptionTooltipText","_ref$upcomingAlert","alertOptions","RadioButton","checked","EmailInfoTooltip","defaultAlertOptionToolitps","textLabels","savedFiltersDefaultDailyTooltip","savedFiltersDefaultInstantTooltip","FilterUpdatesTable","filtersStatuses","setFiltersStatuses","_ref$alertOptionToolt","alertOptionTooltips","requiredFeature","_ref$excludeColumns","excludeColumns","onColumnClick","updatedStatus","v","filterColumns","userFilter","SavedFilterDetails","_ref$singleUpdate","_ref$newTransactionUp","_ref$weeklyStatistic","StatisticsAlertOption","_ref$filterAlerts","amrArrangerPipelineFilters","renderInfoBlock","withFilters","statisticsAlertOptions","option","Weekly","renderFilterValue","filterData","FilterType","Select","Radio","radioFilter","selectedRadio","o","selectedOption","BooleanRadio","Date","DateWithYearsRange","FilterDateRangeTitle","customDateRange","customYearsRange","DateWithYearsAndTimeRange","_selectedOption","_selectedOption$from","_selectedOption2","_selectedOption2$to","_selectedOption3","_selectedOption4","fromDate","from","date","toDate","formatTitle","YearsDate","_selectedOption$selec","_options$customDateRa","yearFrom","yearTo","formattedTitle","selectedTitle","Range","deserializedFilters","deserializeFilters","renderFilterGroupText","groupKey","_filters","range","colorValues","tradedColorRange","hasRange","ColorFilterType","TradedColor","_tradedColorRange$fro","_tradedColorRange$to","filterTradedColorRange","min","max","renderColorGroupText","alphabeticalFilterNameList","Object","keys","_filter$a","_filter$b","compareStrings","filterGroups","values","filtersByGroup","arrayUtils","groupBy","userFilterData","accum","_filter$key","group","g","_g$","ImTableHeaderRadioButton","imFilterValues","partially","FilterColumnsKeys","FilterName","filterConfigValue","filterNameText","Pluralize","singular","template","FilterActionLabel","FilterItemAction","MakeDefault","ResetDefault","DiscardChanges","Delete","SetFilterForPopup","FiltersDropdownItem","hovered","onActionClick","_item$payload","payload","modified","bwicAlertOption","dealerInventoryAlertOption","isAlertTurned","renderActionLink","action","defaultState","renderHoveredState","FiltersDropDown","_ref$withAlerts","DropDownList","renderSelectedItemCallback","renderItemContentCallback","filterItem","FilterAlertsPopup","_ref$alertOptionInfo","_ref$alertOptions","defaultAlertOptions","setAlertOption","saving","setSaving","filterOptionsCount","EmailPreferencesRadioGroup","groupNameIndentifier","_renderFilterAlertsPo","_ref$withBlockedSearc","_ref$filterAlertPopup","filterAlertPopupDescription","blockerFeature","renderFilterAlertsPopup","mapFilterConfig","userConfigFilter","filterForAlert","setFilterForAlert","setFilterByReferenceName","handleFilterChange","selectedFilter","selectFilterFromConfig","handleFilterItemAction","filterConfig","FiltersManagementPopup","selectedReferenceName","_ref$showEmailNotific","showEmailNotificationsOptions","_ref$defaultAlertOpti","defaultAlertOption","renderCustomAlertOptions","defaultFilter","getDefaultFilter","mode","FilterSaveMode","Create","bwicAlert","inventoryAlert","form","setForm","setErrors","dropdownListItems","validate","Update","newErrors","renderNameInput","hasTitle","maxLength","renderInBody","_alertOptionInfo$aler","Checkbox"],"sourceRoot":""}