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