{"version":3,"file":"static/js/main-c90dfd18.254f7588.js","mappings":"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","sources":["components/amrPipeline/common/FormField.tsx","components/amrPipeline/common/AmrClassStatusLabel.tsx","components/amrPipeline/common/RelatedTransDropdown.tsx","components/amrPipeline/common/transactionAlerts/TransactionAlertsPopup.tsx","components/amrPipeline/common/transactionAlerts/TransactionAlertsButton.tsx","components/amrPipeline/common/documents/DocumentGroup.tsx","components/amrPipeline/common/tabs/TabContent.jsx","components/amrPipeline/common/ManagerLink.tsx","components/amrPipeline/common/section/EmptySectionContent.tsx","components/amrPipeline/common/BwicInventoryLink.tsx","components/amrPipeline/common/tabs/TabBody.jsx","components/amrPipeline/common/documents/documents-columns.tsx","components/amrPipeline/common/documents/DocumentSection.tsx","components/amrPipeline/common/analytics/AnalyticsFilter.tsx","components/amrPipeline/common/analytics/AnalyticsWidget.tsx","components/amrPipeline/common/DetailedPageLink.tsx","components/amrPipeline/common/ShowMore.tsx","components/amrPipeline/common/OverlayClassNameContent.tsx","components/amrPipeline/common/InviteClientsTransactionPopup/MailPreview/columns.tsx","components/amrPipeline/common/InviteClientsTransactionPopup/MailPreview/GeneralInfo.tsx","components/amrPipeline/common/InviteClientsTransactionPopup/MailPreview/MailPreview.tsx","components/amrPipeline/common/InviteClientsTransactionPopup/useRequestInviteClients.ts","components/amrPipeline/common/InviteClientsTransactionPopup/useRequestTransactionDetails.ts","components/amrPipeline/common/InviteClientsTransactionPopup/InviteClientsTransactionPopup.tsx","components/amrPipeline/common/ImTransactionDetailsLink.tsx","components/amrPipeline/common/TransactionHistoryLink.tsx","components/amrPipeline/common-columns.tsx","components/amrPipeline/common/documents/DownloadDocument.tsx","components/amrPipeline/common/customize-columns/CustomizeColumnsDialog.tsx","components/amrPipeline/common/Highlighter.tsx","components/amrPipeline/common/AddToPortfolioLink.tsx","components/amrPipeline/common/FilterLink.tsx","components/amrPipeline/common/FilterLinkIcon.tsx","components/amrPipeline/common/section/SectionContent.tsx","components/amrPipeline/common/SecurityBwicLink.tsx","components/amrPipeline/common/InlineAlertPanel.tsx","components/amrPipeline/common/NewDebutAmrLabel.tsx","components/amrPipeline/common/BwicMonitorLink.tsx","components/amrPipeline/common/ExportButton.tsx","components/amrPipeline/common/constants/index.ts","components/amrPipeline/common/NonAmrPeriod.tsx","components/amrPipeline/common/ImDealLookupLink.tsx","components/amrPipeline/common/documents/FileUploader.tsx","components/amrPipeline/common/FilterRelatedTransactionsIcon.tsx","components/amrPipeline/common/BankLink.tsx","components/amrPipeline/common/AutoCompleteInput.tsx","components/amrPipeline/common/SelectionPanelSearch.tsx"],"sourcesContent":["import React from 'react';\r\nimport classNames from 'classnames';\r\nimport { OnHoverTooltip } from \"../../common\";\r\nimport IconSVG from \"../../../styles/svg-icons\";\r\n\r\ninterface Props {\r\n title: string | React.ReactNode,\r\n required?: boolean,\r\n value?: any,\r\n error?: string,\r\n tooltip?: string,\r\n tooltipLabel?: boolean,\r\n children?: React.ReactNode,\r\n className?: string;\r\n capitalize?: boolean;\r\n infoTooltip?: string;\r\n}\r\n\r\nexport function FormField({ title, value = null, error = '', tooltip = '', tooltipLabel = false, children = null, required = false, className = \"\", capitalize = true, infoTooltip }: Props) {\r\n\r\n function renderTitle() {\r\n return (\r\n
\r\n {title}\r\n {required && *}\r\n {!!infoTooltip && (\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n }\r\n\r\n function renderDataItem() {\r\n return (\r\n
\r\n {!!value &&
{value}
}\r\n {children}\r\n {!!error &&
{error}
}\r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n {!!tooltip && tooltipLabel\r\n ? \r\n {renderTitle()}\r\n \r\n : renderTitle()\r\n }\r\n\r\n {!!tooltip && !tooltipLabel\r\n ? \r\n {renderDataItem()}\r\n \r\n : renderDataItem()\r\n }\r\n
\r\n );\r\n}\r\n\r\n","import * as React from 'react';\r\nimport classNames from 'classnames';\r\nimport { AmrTrancheStatus } from '../../../types/amr-pipeline/enums/AmrTrancheStatus';\r\nimport { amrTrancheStatuses } from '../../../constants/amr.tranche.statuses';\r\n\r\ninterface AmrClassStatusLabelProps {\r\n status?: AmrTrancheStatus\r\n}\r\n\r\nexport function AmrClassStatusLabel({ status }: AmrClassStatusLabelProps) {\r\n if (!status) {\r\n return null;\r\n }\r\n\r\n const statusText: string = amrTrancheStatuses.getStatusText(status);\r\n const classStatus = `label-status-${statusText.toLowerCase().replace(' ', '-')}`;\r\n\r\n return {statusText};\r\n}\r\n","import { useState } from \"react\";\r\nimport IconSVG from \"../../../styles/svg-icons\";\r\nimport { constants, routes } from \"../../../constants\";\r\nimport { ClickOutside, OnHoverTooltip, Preloader } from \"../../common\";\r\nimport { useDealTransactions } from \"../../../effects/useDealTransactions\";\r\nimport classNames from \"classnames\";\r\nimport { Table } from \"../../bidding/common/table\";\r\nimport { isRequesting } from \"../../../utils\";\r\nimport { compareDates } from \"../../../utils/compare.utils\";\r\nimport { Transaction } from \"../../../types/amr-pipeline/models/Transaction\";\r\nimport { IColumnDefinition } from \"../../bidding/common/table/types/ColumnDefinition\";\r\nimport moment from \"moment\";\r\nimport { startCase } from \"lodash\";\r\nimport { ColumnBuilder } from \"../../bidding/common/table/columns/column-builder/ColumnBuilder\";\r\n\r\nconst renderRelatedTransIcon = (isExpanded = false, disabled = false) => (\r\n \r\n);\r\n\r\nconst renderDisabledButton = () => (\r\n \r\n {renderRelatedTransIcon(false, true)}\r\n \r\n);\r\n\r\ninterface Props {\r\n dealReferenceName: string;\r\n dealLegalName: string;\r\n hasTransactions: boolean;\r\n disabled?: boolean;\r\n}\r\n\r\nconst relatedTransColumnDefinitions: IColumnDefinition[] = [\r\n {\r\n columnKey: \"type\",\r\n renderColumnHeaderContent: () => \"Trans. Type\",\r\n renderColumnContent: (transaction) =>\r\n transaction?.type ? (\r\n startCase(transaction.type)\r\n ) : (\r\n All Trans\r\n ),\r\n },\r\n {\r\n columnKey: \"closingDate\",\r\n renderColumnHeaderContent: () => \"Closing\",\r\n renderColumnContent: (transaction) =>\r\n transaction?.closingDate\r\n ? moment(transaction.closingDate).format(constants.dateFormat)\r\n : constants.emptyPlaceholder,\r\n },\r\n {\r\n columnKey: \"icon\",\r\n renderColumnHeaderContent: () => \"\",\r\n renderColumnContent: () => ,\r\n className: \"data-list-cell-xxxs\"\r\n },\r\n];\r\n\r\nconst relatedColumns = relatedTransColumnDefinitions.map((c) => {\r\n return new ColumnBuilder(c);\r\n});\r\n\r\nexport function RelatedTransDropdown({ dealLegalName, dealReferenceName, hasTransactions, disabled }: Props) {\r\n const [expanded, setExpanded] = useState(false);\r\n const { dealTransactions, requestState } = useDealTransactions(\r\n dealReferenceName,\r\n expanded\r\n );\r\n\r\n if (disabled) {\r\n return renderRelatedTransIcon(false, disabled);\r\n }\r\n\r\n if (!hasTransactions) {\r\n return renderDisabledButton();\r\n }\r\n\r\n const sortedTrans =\r\n dealTransactions?.sort((a, b) =>\r\n compareDates(b.closingDate, a.closingDate)\r\n ) || [];\r\n\r\n const onRowClick = (transaction?: Transaction) => {\r\n const transactionUrl = transaction\r\n ? routes.transactionDetailUrl(\r\n transaction.referenceName,\r\n transaction.dealReferenceName\r\n )\r\n : `${routes.AMRPipeline}/?dealsReferenceNames=${dealReferenceName}&dealsLegalNames=${dealLegalName}`;\r\n\r\n window.open(transactionUrl);\r\n };\r\n\r\n return (\r\n setExpanded(false)}\r\n >\r\n setExpanded(!expanded)}\r\n >\r\n {renderRelatedTransIcon(expanded)}\r\n \r\n {expanded && (\r\n
\r\n \r\n \r\n \r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\n","import { useState, useEffect, useMemo } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { AlertOption } from '../../../../types/email-preferences/EmailPreferences';\r\nimport { imUserConfigActions } from '../../../../actions/';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { Preloader } from '../../../common';\r\nimport { UserConfigType } from '../../../../types/user-config/UserConfigType';\r\nimport { Popup, PopupBody, PopupFooter } from '../../../controls';\r\nimport {\r\n alertOptionTooltipText,\r\n alertOptions,\r\n analyticAlertOptions,\r\n} from '../../../../constants/amr-pipeline/alertOptions';\r\nimport { SummaryDailyAlertConfig, TransactionAlertConfig } from '../../../../types/user-config/UserConfig';\r\nimport { Transaction } from '../../../../types/amr-pipeline/models/Transaction';\r\nimport { hasAnalyticsAlertsAccess } from '../../../../utils/amr-pipeline.utils';\r\nimport { EmailPreferencesRadioGroup } from '../../../profile/tabs/email-preferences/tabs/EmailPreferencesRadioGroup';\r\nimport { SubscriptionFeature } from '../../../../types/billing/SubscriptionFeature';\r\n\r\ninterface Props {\r\n transaction: Transaction;\r\n onClose: () => void;\r\n}\r\n\r\nexport const TransactionAlertsPopup = ({ transaction, onClose }: Props) => {\r\n const dispatch = useDispatch();\r\n\r\n const userCompany= useSelector((state: AppState) => state.issuanceMonitor.amrPipelineCommon.userCompany);\r\n const {\r\n referenceName: transactionReferenceName,\r\n legalNameOnDeal: transactionLegalName,\r\n dealReferenceName,\r\n } = transaction;\r\n\r\n const withAnalyticsAlertsAccess = hasAnalyticsAlertsAccess(transaction, userCompany);\r\n\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 transactionAlertConfig = useSelector(\r\n (state: AppState) => state.imUserConfig.transactionAlertConfig,\r\n );\r\n const analyticAlertConfig = useSelector(\r\n (state: AppState) => state.imUserConfig.summaryDailyAlertConfig,\r\n );\r\n\r\n const currentTransactionAlertConfig = useMemo(\r\n () => transactionAlertConfig.value.find(c => c.transactionReferenceName === transactionReferenceName),\r\n [transactionAlertConfig, transactionReferenceName]\r\n );\r\n const currentAnalyticAlertConfig = useMemo(\r\n () => analyticAlertConfig.value.find(c => c.transactionReferenceName === transactionReferenceName),\r\n [analyticAlertConfig, transactionReferenceName]\r\n );\r\n\r\n const [dealUpdatesAlertConfig, setDealUpdatesAlertConfig] = useState(currentTransactionAlertConfig);\r\n const [summaryDailyAlertConfig, setSummaryDailyAlertConfig] = useState(currentAnalyticAlertConfig);\r\n\r\n const [saving, setSaving] = useState(false);\r\n\r\n const dealUpdatesOption = currentTransactionAlertConfig?.alertOption || AlertOption.Never;\r\n const summaryDailyOption = currentAnalyticAlertConfig?.alertOption || AlertOption.Never;\r\n\r\n const selectedDealUpdatesOption = dealUpdatesAlertConfig?.alertOption || AlertOption.Never;\r\n const selectedSummaryDailyOption = summaryDailyAlertConfig?.alertOption || AlertOption.Never;\r\n\r\n const isInitialAlertsState = \r\n dealUpdatesOption === selectedDealUpdatesOption &&\r\n summaryDailyOption === selectedSummaryDailyOption;\r\n\r\n const inProgress = isUpdating || isDeleting;\r\n const isSaveDisabled = isInitialAlertsState || inProgress;\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 useEffect(() => {\r\n setDealUpdatesAlertConfig(\r\n transactionAlertConfig.value.find(c => c.transactionReferenceName === transactionReferenceName),\r\n );\r\n setSummaryDailyAlertConfig(\r\n analyticAlertConfig.value.find(c => c.transactionReferenceName === transactionReferenceName),\r\n );\r\n }, [transactionAlertConfig, analyticAlertConfig, transactionReferenceName]);\r\n\r\n const handleSave = () => {\r\n setSaving(true);\r\n\r\n const configs = [\r\n ...dealUpdatesAlertConfig ? [{ type: UserConfigType.transactionAlert, value: dealUpdatesAlertConfig }] : [],\r\n ...withAnalyticsAlertsAccess && summaryDailyAlertConfig ? [{ type: UserConfigType.summaryDailyAlerts, value: summaryDailyAlertConfig }] : [],\r\n ];\r\n\r\n dispatch(imUserConfigActions.saveTransactionAlerts(configs));\r\n };\r\n\r\n const renderAlertSection = (\r\n groupNameIndentifier: string,\r\n title: string,\r\n alertOptions: AlertOption[],\r\n selectedOption: AlertOption,\r\n onChange: (a: AlertOption) => void,\r\n description: string,\r\n alertOptionInfo?: { [key: string]: string },\r\n ) => (\r\n
\r\n \r\n
\r\n );\r\n\r\n return (\r\n \r\n Transaction Alerts\r\n {transactionLegalName}\r\n \r\n }\r\n onClose={onClose}\r\n modalClass=\"modal-email-preferences\"\r\n >\r\n \r\n {renderAlertSection(\r\n 'tranasction-updates',\r\n 'Transaction Update',\r\n alertOptions,\r\n selectedDealUpdatesOption,\r\n a =>\r\n setDealUpdatesAlertConfig({\r\n ...dealUpdatesAlertConfig!,\r\n alertOption: a,\r\n dealReferenceName,\r\n transactionReferenceName,\r\n }),\r\n 'Receive an email when the transaction is updated on Issuance Monitor.',\r\n {\r\n [AlertOption.Instant]: 'Alerts are sent once transactions are published',\r\n [AlertOption.Daily]: alertOptionTooltipText[AlertOption.Daily],\r\n },\r\n )}\r\n\r\n {withAnalyticsAlertsAccess &&\r\n renderAlertSection(\r\n 'tranasction-analytics',\r\n 'Analytics',\r\n analyticAlertOptions,\r\n selectedSummaryDailyOption,\r\n a =>\r\n setSummaryDailyAlertConfig({\r\n ...summaryDailyAlertConfig!,\r\n alertOption: (a as AlertOption.Daily) || AlertOption.Never,\r\n dealReferenceName,\r\n transactionReferenceName,\r\n }),\r\n 'Receive an email for deal statistic updates.',\r\n {\r\n [AlertOption.Daily]: alertOptionTooltipText[AlertOption.Daily],\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 IconSVG from '../../../../styles/svg-icons';\r\nimport { AlertOption } from '../../../../types/email-preferences/EmailPreferences';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { OnHoverTooltip } from '../../../common';\r\nimport classNames from 'classnames';\r\nimport { SummaryDailyAlertConfig, TransactionAlertConfig } from '../../../../types/user-config/UserConfig';\r\nimport { user } from '../../../../user';\r\nimport { SubscriptionFeature } from '../../../../types/billing/SubscriptionFeature';\r\nimport { Transaction } from '../../../../types/amr-pipeline/models/Transaction';\r\nimport { hasAnalyticsAlertsAccess } from '../../../../utils/amr-pipeline.utils';\r\n\r\ninterface Props {\r\n transaction: Transaction;\r\n withLabel?: boolean;\r\n disabled?: boolean;\r\n onClick?: () => void;\r\n}\r\n\r\nexport const TransactionAlertsButton = ({\r\n transaction,\r\n withLabel,\r\n disabled,\r\n onClick,\r\n}: Props) => {\r\n const transactionAlertConfig = useSelector(\r\n (state: AppState) => state.imUserConfig.transactionAlertConfig,\r\n );\r\n const analyticAlertConfig = useSelector(\r\n (state: AppState) => state.imUserConfig.summaryDailyAlertConfig,\r\n );\r\n const userCompany = useSelector((state: AppState) => state.issuanceMonitor.amrPipelineCommon.userCompany);\r\n \r\n const { referenceName } = transaction;\r\n\r\n const withAnalyticsAlertsAccess = hasAnalyticsAlertsAccess(transaction, userCompany);\r\n\r\n\r\n const hasIMFullAccess = user.hasFeatures(SubscriptionFeature.IssuanceMonitorFullAccess);\r\n\r\n const selectedDealUpdatesOption =\r\n (hasIMFullAccess &&\r\n transactionAlertConfig.value.find(\r\n (c) => c.transactionReferenceName === referenceName\r\n )?.alertOption) || AlertOption.Never;\r\n const selectedSummaryDailyOption =\r\n (hasIMFullAccess &&\r\n analyticAlertConfig.value.find(\r\n (c) => c.transactionReferenceName === referenceName\r\n )?.alertOption) || AlertOption.Never;\r\n\r\n const isAlertOff = withAnalyticsAlertsAccess\r\n ? selectedDealUpdatesOption === AlertOption.Never && selectedSummaryDailyOption === AlertOption.Never\r\n : selectedDealUpdatesOption === AlertOption.Never;\r\n\r\n return (\r\n
\r\n {withLabel ? (\r\n <>\r\n \r\n \r\n {withAnalyticsAlertsAccess ? (\r\n
\r\n Transaction Update:\r\n {selectedDealUpdatesOption} / Analytics:\r\n {selectedSummaryDailyOption}\r\n
\r\n ) : (\r\n \r\n {selectedDealUpdatesOption}\r\n \r\n )}\r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import * as React from 'react';\r\nimport cn from 'classnames';\r\nimport { EmptySectionContent } from '../section/EmptySectionContent';\r\nimport IconSVG from '../../../../styles/svg-icons';\r\nimport { Preloader } from '../../../common';\r\nimport { useDownloadDocument } from '../../../../effects/useDownloadDocument';\r\nimport { DownloadFile } from '../../../../types/amr-pipeline/models/DownloadedDocument';\r\nimport { Nullable } from '../../../../types/primitives/Nullable';\r\n\r\ninterface Props {\r\n title: string;\r\n itemsCount?: number;\r\n children: React.ReactNode;\r\n emptyPlaceholder?: string;\r\n downloadAllFetch: (...args: TArgs) => Promise;\r\n downloadAllArgs: TArgs;\r\n fileNameForSave: Nullable;\r\n renderAdditionalButton?: () => React.ReactNode;\r\n}\r\n\r\nexport function DocumentGroup({\r\n title,\r\n itemsCount = 0,\r\n children,\r\n downloadAllFetch,\r\n downloadAllArgs,\r\n fileNameForSave,\r\n emptyPlaceholder,\r\n renderAdditionalButton,\r\n}: Props) {\r\n const [collapsed, setCollapsed] = React.useState(false);\r\n const { handleDownload, isDownloading } = useDownloadDocument({\r\n downloadRequest: downloadAllFetch,\r\n requestArgs: downloadAllArgs,\r\n fileNameForSave,\r\n });\r\n\r\n return (\r\n
\r\n
\r\n
setCollapsed(!collapsed)}>\r\n \r\n

\r\n {title}\r\n {itemsCount}\r\n

\r\n
\r\n {renderAdditionalButton?.()}\r\n {!!itemsCount && (\r\n
\r\n {\r\n e.preventDefault();\r\n handleDownload();\r\n }}\r\n >\r\n \r\n \r\n Download All\r\n \r\n \r\n
\r\n )}\r\n
\r\n {!collapsed && (\r\n
\r\n {itemsCount || !emptyPlaceholder ? children : }\r\n
\r\n )}\r\n
\r\n );\r\n}\r\n","import React from 'react';\r\n\r\nexport function TabContent({ children }) {\r\n return (\r\n
\r\n {children}\r\n
\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { routes } from \"../../../constants/routes\";\r\nimport { OnHoverTooltip } from \"../../common\";\r\nimport { roles } from \"../../../constants\";\r\nimport { user } from \"../../../user\";\r\n\r\ninterface Props {\r\n referenceName: string;\r\n legalName: string;\r\n onClick?: () => void;\r\n}\r\n\r\nexport function ManagerLink({\r\n referenceName,\r\n legalName,\r\n onClick,\r\n}: Props) {\r\n\r\n const isMedia = user.hasRoles(roles.Media);\r\n const isLinkAvailable =\r\n !user.hasRoles(roles.Viewer, roles.ArrangersClient) || isMedia;\r\n\r\n const handleClick = (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n\r\n onClick?.();\r\n\r\n window.open(window.location.origin + routes.manageCloManagerUrl(referenceName));\r\n };\r\n\r\n return (\r\n \r\n {isLinkAvailable ? (\r\n \r\n {legalName}\r\n \r\n ) : (\r\n {legalName}\r\n )}\r\n \r\n );\r\n}\r\n","import React from 'react';\r\n\r\nexport function EmptySectionContent({ text = 'There is no information yet.' }) {\r\n return
{text}
;\r\n}\r\n","import { ClassIndicators } from '../../../types/amr-pipeline/models/ClassIndicators';\r\nimport { routes } from '../../../constants';\r\nimport { SecurityBwicLink } from './SecurityBwicLink';\r\nimport { SubscriptionFeature } from '../../../types/billing/SubscriptionFeature';\r\nimport { Currency } from '../../../types/amr-pipeline/models/Currency';\r\n\r\ntype Props = {\r\n identifier?: string;\r\n identifiers?: ClassIndicators;\r\n className?: string;\r\n disabled?: boolean;\r\n secondaryPlaceholderColor?: boolean;\r\n currency?: Currency;\r\n};\r\n\r\nexport function BwicInventoryLink({ identifiers, identifier, currency, className, secondaryPlaceholderColor }: Props) {\r\n return (\r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\n\r\nexport function TabBody({ children, className = '' }) {\r\n return (\r\n
\r\n {children}\r\n
\r\n );\r\n}\r\n","import DownloadDocument from \"./DownloadDocument\";\r\nimport { IColumnDefinition } from \"../../../bidding/common/table/types/ColumnDefinition\";\r\nimport { ColumnBuilder } from \"../../../bidding/common/table/columns/column-builder/ColumnBuilder\";\r\nimport FileIcon from \"../../../controls/FileIcon\";\r\nimport { constants, SORTING_TYPE } from \"../../../../constants\";\r\nimport moment from \"moment\";\r\nimport IconSVG from '../../../../styles/svg-icons';\r\nimport { FieldDifferenceLabel } from '../../detailed/new-issue/DifferenceLabel';\r\nimport { OriginatingTransactionDocument } from '../../../../types/amr-pipeline/models/OriginatingTransactionDocument';\r\n\r\ninterface FileWithLastDate extends OriginatingTransactionDocument {\r\n lastDate: Date\r\n}\r\n\r\nconst documentName: IColumnDefinition = {\r\n columnKey: \"name\",\r\n renderColumnHeaderContent: () => \"Name\",\r\n headerClassName: \"data-list-cell-xl-flexible\",\r\n bodyClassName: \"data-list-cell-xl-flexible\",\r\n renderColumnContent: (document, { dealReferenceName, isRemoved, handleClick }) => (\r\n handleClick(document)}\r\n >\r\n {isRemoved ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {document.name}\r\n \r\n ),\r\n sortingField: \"name\",\r\n sortingType: SORTING_TYPE.string,\r\n};\r\n\r\nconst downloadButton: IColumnDefinition = {\r\n columnKey: \"downloadButton\",\r\n renderColumnHeaderContent: () => \"\",\r\n headerClassName: \"data-list-cell-xxs-02\",\r\n bodyClassName: \"data-list-cell-xxs-02\",\r\n renderColumnContent: (document, { handleClick, isLoading }) => (\r\n handleClick(document)}\r\n >\r\n \r\n \r\n ),\r\n};\r\n\r\nconst uploadedDate: IColumnDefinition = {\r\n columnKey: \"lastDate\",\r\n renderColumnHeaderContent: () => \"Date\",\r\n headerClassName: \"data-list-cell-sm\",\r\n bodyClassName: \"data-list-cell-sm\",\r\n renderColumnContent: (document) => {\r\n const lastDate = document.executionDate || document.uploadTime;\r\n return moment(lastDate).format(constants.dateFormat);\r\n },\r\n sortingField: \"lastDate\",\r\n sortingType: SORTING_TYPE.date\r\n};\r\n\r\nconst differenceLabel: IColumnDefinition = {\r\n columnKey: \"difference\",\r\n renderColumnHeaderContent: () => \"\",\r\n headerClassName: \"data-list-cell-sm\",\r\n bodyClassName: \"data-list-cell-sm\",\r\n renderColumnContent: (document, { difference }) => (\r\n \r\n ),\r\n};\r\n\r\nexport const dealDocumentsColumns = () => {\r\n const documentsColumnDefinitions: IColumnDefinition[] = [\r\n documentName,\r\n differenceLabel,\r\n uploadedDate,\r\n downloadButton\r\n ];\r\n return documentsColumnDefinitions.map((c) => {\r\n return new ColumnBuilder(c);\r\n });\r\n};\r\n","import { AmrDocument } from '../../../../types/amr-pipeline/models/AmrDocument';\r\nimport { OriginatingTransactionDocument } from '../../../../types/amr-pipeline/models/OriginatingTransactionDocument';\r\nimport { Table } from '../../../bidding/common/table';\r\nimport { dealDocumentsColumns } from './documents-columns';\r\nimport { AmrFile } from '../../../../types/amr-pipeline/models/AmrFile';\r\nimport { DifferenceType, ObjectArrayDifference, ObjectArrayItemDifference } from '../../../../utils/differ/types';\r\nimport { DifferenceListProps, withDeletedItems } from '../../detailed/new-issue/withDeletedItems';\r\nimport { DocumentGroup } from './DocumentGroup';\r\nimport { DownloadFile } from '../../../../types/amr-pipeline/models/DownloadedDocument';\r\nimport { Nullable } from '../../../../types/primitives/Nullable';\r\nimport useDownloadDocumentList from '../../../../effects/useDownloadDocumentList';\r\nimport { amrPipelineService } from '../../../../services/amr-pipeline.service';\r\nimport { dealsService } from '../../../../services/deals.service';\r\n\r\ntype TransactionDocument = AmrDocument | OriginatingTransactionDocument;\r\n\r\ninterface DocumentGroupProps\r\n extends DifferenceListProps {\r\n title: string;\r\n dealReferenceName: string;\r\n transactionReferenceName?: string;\r\n items: TransactionDocument[];\r\n difference?: ObjectArrayDifference;\r\n downloadAllFetch: (...args: TArgs) => Promise;\r\n downloadAllArgs: TArgs;\r\n fileNameForSave: Nullable;\r\n emptyPlaceholder?: string;\r\n}\r\n\r\nfunction isRemoved(documentDifference: ObjectArrayItemDifference | undefined) {\r\n return documentDifference?.type === DifferenceType.Removed;\r\n}\r\n\r\nfunction Component({\r\n dealReferenceName,\r\n transactionReferenceName,\r\n title,\r\n items,\r\n difference,\r\n emptyPlaceholder,\r\n downloadAllFetch,\r\n downloadAllArgs,\r\n fileNameForSave,\r\n}: DocumentGroupProps) {\r\n const { loadingState, loadHandler } = useDownloadDocumentList({\r\n documents: items,\r\n downloadRequest:transactionReferenceName\r\n ? (referenceName) => amrPipelineService.getTransactionDocument(dealReferenceName, transactionReferenceName, referenceName)\r\n : (referenceName: string) => dealsService.getDealDocument(dealReferenceName, referenceName),\r\n dealReferenceName,\r\n transactionReferenceName,\r\n });\r\n\r\n async function onRowClick(document: AmrFile) {\r\n const documentDifference = getDifference(document.referenceName);\r\n\r\n if (isRemoved(documentDifference)) {\r\n return null;\r\n }\r\n\r\n loadHandler(document.referenceName, document.name);\r\n }\r\n\r\n function getDifference(referenceName: string) {\r\n // Find array item difference by item reference name\r\n // Default currentValue with previousValue for deleted documents\r\n return difference?.find(({ derivedValue }) => derivedValue?.referenceName === referenceName);\r\n }\r\n\r\n return (\r\n \r\n {\r\n const itemDifference = getDifference(item.referenceName);\r\n const isDocRemoved = isRemoved(itemDifference);\r\n\r\n return {\r\n dealReferenceName,\r\n handleClick: isDocRemoved ? () => null : onRowClick,\r\n difference: itemDifference,\r\n isRemoved: isDocRemoved,\r\n isLoading: loadingState[item.referenceName],\r\n };\r\n }}\r\n createSecurityCustomClassName={(item: AmrDocument | OriginatingTransactionDocument) => {\r\n const itemDifference = getDifference(item.referenceName);\r\n if (isRemoved(itemDifference)) {\r\n //NOTE FOR MARKUP DEVS. Please, create class for disabled document rows\r\n return 'disabled';\r\n }\r\n }}\r\n />\r\n \r\n );\r\n}\r\n\r\nexport const DocumentSection = withDeletedItems(Component);\r\n","import { isEqual } from 'lodash';\r\nimport { analyticDefaultFilters } from '../../../../constants';\r\nimport { dateRangeFilterOptions } from '../../../../constants/date-range.filter';\r\nimport { DateFilterOption } from '../../../../types/filters/DateFilterOption';\r\nimport { DateRange } from '../../../../types/filters/DateRange';\r\nimport { FilterOption } from '../../../../types/filters/FilterOption';\r\nimport { FilterDateRange } from '../../../common/filters/FilterDateRange';\r\nimport { FilterSelect } from '../../../common/filters/FilterSelect';\r\nimport { TreeSelectOption, TreeSelect } from '../../../controls/TreeSelect';\r\nimport { FilterClear, FilterPanel, FilterSection } from '../../../filters';\r\nimport { AnalyticsFilterBase } from '../../../../types/analytics/AnalyticsFilter';\r\nimport { useMemo } from 'react';\r\n\r\ninterface AnalyticsFilterProps extends AnalyticsFilterBase {\r\n data: TreeSelectOption[];\r\n tabDefinitions: { text: string, value: T }[],\r\n onChange: (value: AnalyticsFilterBase) => void;\r\n disabled?: boolean;\r\n}\r\n\r\nexport function AnalyticsFilter({\r\n data,\r\n tabDefinitions,\r\n dateOption,\r\n onChange,\r\n disabled,\r\n ...filters\r\n}: AnalyticsFilterProps) {\r\n const isFilterChanged = !isEqual({ ...filters, dateOption }, analyticDefaultFilters);\r\n\r\n const tabTypes = useMemo(() => tabDefinitions.map(x => ({\r\n ...x,\r\n selected: true,\r\n visible: true,\r\n disabled: false,\r\n })), [tabDefinitions]);\r\n\r\n const handleDateClear = () => {\r\n onChange({\r\n ...filters,\r\n dateOption: undefined,\r\n date: {\r\n },\r\n });\r\n };\r\n\r\n const handleDateOptionChange = (dateOption: DateFilterOption) => {\r\n if (dateOption?.key === dateRangeFilterOptions.Custom.key) {\r\n return onChange({\r\n ...filters,\r\n dateOption,\r\n date: {\r\n dateFrom: undefined,\r\n dateTo: undefined,\r\n }\r\n });\r\n }\r\n\r\n onChange({\r\n ...filters,\r\n dateOption,\r\n });\r\n };\r\n\r\n const handleDateChange = (dateFilterOption: DateRange) => {\r\n onChange({\r\n ...filters,\r\n date: {\r\n ...filters.date,\r\n dateFrom: dateFilterOption.from,\r\n dateTo: dateFilterOption.to,\r\n },\r\n });\r\n };\r\n\r\n const handleUsersChange = (users: string[]) => {\r\n onChange({\r\n ...filters,\r\n users,\r\n });\r\n };\r\n\r\n const handleTabsChange = (filterOption: FilterOption, checked: boolean) => {\r\n const prevValue = filters.tabs || [];\r\n const tabs = checked ? [...prevValue, filterOption.value] : prevValue.filter(x => x !== filterOption.value);\r\n\r\n onChange({\r\n ...filters,\r\n tabs,\r\n });\r\n };\r\n\r\n const handleTabsSelectAll = () => {\r\n onChange({\r\n ...filters,\r\n tabs: tabDefinitions.map(x => x.value),\r\n });\r\n };\r\n\r\n const handleTabsClearAll = () => {\r\n onChange({ ...filters, tabs: [] });\r\n };\r\n\r\n const handleReset = () => {\r\n onChange(analyticDefaultFilters);\r\n }\r\n\r\n return (\r\n \r\n \r\n {option.meta?.views} views}\r\n onChange={handleUsersChange}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n ({ ...x, selected: filters.tabs?.includes(x.value) }))}\r\n onChangeItemSelection={handleTabsChange}\r\n />\r\n \r\n \r\n \r\n );\r\n}\r\n","import { Preloader } from '../../../common';\r\nimport { DashboardNoSelectedFilters } from '../../../dashboard/DashboardNoSelectedFilters';\r\nimport { AnalyticsFilter } from './AnalyticsFilter';\r\nimport { AnalyticsFilterBase } from '../../../../types/analytics/AnalyticsFilter';\r\nimport { TreeSelectOption } from '../../../controls/TreeSelect';\r\nimport { AnalyticWidgetState } from '../../../../types/state/Analytics';\r\nimport { SubscriptionFeature } from '../../../../types/billing/SubscriptionFeature';\r\nimport { ActionBlocker } from '../../../access/ActionBlocker';\r\n\r\ninterface AnalyticWidgetProps {\r\n title: string;\r\n users: TreeSelectOption[];\r\n tabDefinitions: { text: string; value: T }[];\r\n isLoading: boolean;\r\n children: React.ReactElement;\r\n feature?: SubscriptionFeature;\r\n features?: SubscriptionFeature[];\r\n state: AnalyticWidgetState>;\r\n onFilterChange: (filterState: AnalyticsFilterBase) => void;\r\n}\r\n\r\nexport function AnalyticsWidget({\r\n title,\r\n users,\r\n tabDefinitions,\r\n children,\r\n feature,\r\n features,\r\n state,\r\n onFilterChange,\r\n}: AnalyticWidgetProps) {\r\n const { data, isLoading, filter } = state;\r\n\r\n const isDataLoaded = !!data.length && !isLoading;\r\n\r\n return (\r\n
\r\n
\r\n

{title}

\r\n \r\n {blocked => (\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n {isDataLoaded ? children : }\r\n \r\n
\r\n
\r\n );\r\n}\r\n","import React from \"react\";\r\nimport cn from \"classnames\";\r\nimport { routes } from \"../../../constants/routes\";\r\nimport { Transaction } from \"../../../types/amr-pipeline/models/Transaction\";\r\nimport { useHistory } from \"react-router\";\r\n\r\ninterface Props {\r\n transaction: Transaction;\r\n disabled?: boolean;\r\n}\r\n\r\nexport function DetailedPageLink({ transaction, disabled }: Props) {\r\n const history = useHistory();\r\n\r\n const { dealLegalName, dealReferenceName, referenceName } = transaction;\r\n\r\n const handleClick = (\r\n e: React.MouseEvent\r\n ) => {\r\n e.preventDefault();\r\n history.push(routes.transactionDetailUrl(referenceName, dealReferenceName));\r\n };\r\n\r\n return (\r\n \r\n {dealLegalName}\r\n \r\n );\r\n}\r\n","import React, { useState, ReactNode } from 'react';\r\nimport classNames from 'classnames';\r\nimport IconSVG from '../../../styles/svg-icons';\r\n\r\ninterface ShowMoreProps {\r\n defaultExpanded?: boolean;\r\n showMoreText?: string;\r\n showLessText?: string;\r\n className?: string;\r\n renderMore: () => ReactNode;\r\n renderLess: () => ReactNode;\r\n}\r\n\r\nexport const ShowMore = ({\r\n defaultExpanded = false,\r\n showMoreText = 'Show More',\r\n showLessText = 'Show Less',\r\n className = \"btn btn-ghost btn-ghost-secondary btn-sm\",\r\n renderMore,\r\n renderLess,\r\n}: ShowMoreProps) => {\r\n const [expanded, setExpanded] = useState(defaultExpanded);\r\n\r\n return (\r\n <>\r\n {expanded && renderMore()}\r\n {!expanded && renderLess()}\r\n
\r\n setExpanded(prev => !prev)}\r\n >\r\n {expanded ? showLessText : showMoreText}\r\n \r\n \r\n
\r\n \r\n )\r\n};\r\n","import React from \"react\";\r\nimport { OriginatingTransactionClassStatus } from \"../../../types/amr-pipeline/enums/OriginatingTransactionClassStatus\";\r\nimport { OriginatingTransactionClass } from \"../../../types/amr-pipeline/models/OriginatingTransactionClass\";\r\n\r\ninterface Props {\r\n transactionClass: OriginatingTransactionClass;\r\n}\r\nexport function OverlayClassNameContent({ transactionClass }: Props) {\r\n return (\r\n
\r\n {transactionClass.name}\r\n {(transactionClass as OriginatingTransactionClass)\r\n .originatingTransactionClassStatus ===\r\n OriginatingTransactionClassStatus.NotOffered && (\r\n <>\r\n
\r\n Not Offered\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 { constants } from \"../../../../../constants\";\r\nimport { amrFormatUtils, moneyUtils, numericUtils } from \"../../../../../utils\";\r\nimport { transactionClassStatusTitles } from \"../../../../../types/amr-pipeline/enums/OriginatingTransactionClassStatus\";\r\nimport { OriginatingTransCapitalStructure } from \"../../../detailed/new-issue/capital-structure/CapitalStructure\";\r\n\r\nconst mailColumnDefinitions: IColumnDefinition[] =\r\n [\r\n {\r\n columnKey: \"className\",\r\n renderColumnHeaderContent: () => \"Class\",\r\n renderColumnContent: (transactionClass) => transactionClass.name,\r\n className: \"data-list-cell-xxs-02\",\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-md\",\r\n },\r\n {\r\n columnKey: \"balance\",\r\n renderColumnHeaderContent: () => \"Balance\",\r\n renderColumnContent: (\r\n transactionClass: OriginatingTransCapitalStructure\r\n ) =>\r\n transactionClass.balance != null &&\r\n numericUtils.isNumber(transactionClass.balance)\r\n ? moneyUtils.money(transactionClass.balance)\r\n : constants.emptyPlaceholder,\r\n className: \"text-right\",\r\n },\r\n {\r\n columnKey: \"coupon\",\r\n renderColumnHeaderContent: () => \"Coupon\",\r\n renderColumnContent: (transactionClass) => transactionClass.coupon,\r\n className: \"data-list-cell-sm\",\r\n },\r\n {\r\n columnKey: \"price\",\r\n renderColumnHeaderContent: () => \"Price\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.price || constants.emptyPlaceholder,\r\n className: \"data-list-cell-xs text-right\"\r\n },\r\n {\r\n columnKey: \"guidance\",\r\n renderColumnHeaderContent: () => \"Guidance\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.guidance || constants.emptyPlaceholder,\r\n },\r\n {\r\n columnKey: \"subscription\",\r\n renderColumnHeaderContent: () => \"Subscription\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.subscription || constants.emptyPlaceholder,\r\n },\r\n {\r\n columnKey: \"originatingTransactionClassStatus\",\r\n renderColumnHeaderContent: () => \"Class Status\",\r\n renderColumnContent: (transactionClass) =>\r\n transactionClass.originatingTransactionClassStatus\r\n ? transactionClassStatusTitles[\r\n transactionClass.originatingTransactionClassStatus\r\n ]\r\n : constants.emptyPlaceholder,\r\n },\r\n ];\r\n\r\nexport const mailColumns = mailColumnDefinitions.map((c) => {\r\n return new ColumnBuilder(c);\r\n});\r\n","import { dateTimeUtils, formatUtils, moneyUtils } from \"../../../../../utils\";\r\nimport { FormField } from \"../../FormField\";\r\nimport { OriginatingTransaction } from \"../../../../../types/amr-pipeline/models/OriginatingTransaction\";\r\nimport StatusLabel from \"../../../StatusLabel\";\r\nimport { transactionStatusTitles } from \"../../../../../types/amr-pipeline/enums/TransactionStatus\";\r\nimport { collateralTypes } from \"../../../../../constants/collateral-types\";\r\nimport moment from \"moment\";\r\nimport { startCase } from \"lodash\";\r\nimport { CollateralQualityTest } from \"../../../../../types/amr-pipeline/models/CollateralQualityTest\";\r\nimport { CollateralQualityTestValue } from \"../../../../../types/amr-pipeline/enums/CollateralQualityTestValue\";\r\nimport { constants } from \"../../../../../constants\";\r\nimport { AmrTransaction } from \"../../../../../types/amr-pipeline/models/AmrTransaction\";\r\n\r\ninterface Props {\r\n transaction: OriginatingTransaction | AmrTransaction;\r\n}\r\n\r\nfunction getAssetPar(collateralQualityTests?: CollateralQualityTest[]) {\r\n const assetPar = collateralQualityTests?.find(\r\n (cqt) => cqt.value === CollateralQualityTestValue.AssetPar\r\n );\r\n\r\n return assetPar?.target\r\n ? moneyUtils.money(assetPar.target, true)\r\n : constants.emptyPlaceholder;\r\n}\r\n\r\nexport function GeneralInfo({ transaction }: Props) {\r\n const formatDateWithPeriod = (transactionDate?: Date) => {\r\n if (!transactionDate) {\r\n return constants.emptyPlaceholder;\r\n }\r\n const yearsLeft = dateTimeUtils.yrsLeftToDateFrom(\r\n transactionDate,\r\n transaction.closingDate\r\n );\r\n\r\n return `${moment(transactionDate).format(constants.dateFormat)} ${yearsLeft ? \"[\" + yearsLeft + \"]\" : \"\"\r\n }`;\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n Details\r\n \r\n \r\n {transaction.dealTicker || constants.emptyPlaceholder}\r\n \r\n \r\n {transaction.collateralManager?.legalName ||\r\n constants.emptyPlaceholder}\r\n \r\n \r\n {transaction.arranger?.legalName ||\r\n constants.emptyPlaceholder}\r\n \r\n \r\n {startCase(transaction.type)}\r\n \r\n \r\n \r\n \r\n \r\n {collateralTypes[transaction.collateralType]}\r\n \r\n \r\n {transaction.currency?.code ||\r\n constants.emptyPlaceholder}\r\n \r\n \r\n {moneyUtils.money(transaction.dealBalance) ||\r\n constants.emptyPlaceholder}\r\n \r\n
\r\n
\r\n \r\n Details\r\n \r\n \r\n {transaction.pricingDate\r\n ? moment(transaction.pricingDate).format(\r\n constants.dateFormat\r\n )\r\n : constants.emptyPlaceholder}\r\n \r\n \r\n {transaction.closingDate\r\n ? moment(transaction.closingDate).format(\r\n constants.dateFormat\r\n )\r\n : constants.emptyPlaceholder}\r\n \r\n \r\n {formatDateWithPeriod(transaction.nonCallPeriodEnd)}\r\n \r\n\r\n \r\n {formatDateWithPeriod(\r\n transaction.reinvestmentPeriodEnd\r\n )}\r\n \r\n \r\n {formatDateWithPeriod(\r\n (transaction as OriginatingTransaction)\r\n .statedMaturity\r\n )}\r\n \r\n \r\n {getAssetPar(\r\n (transaction as OriginatingTransaction)\r\n .collateralQualityTests\r\n )}\r\n \r\n \r\n {formatUtils.formatDecimal(\r\n (transaction as OriginatingTransaction).was\r\n ) || constants.emptyPlaceholder}\r\n \r\n\r\n \r\n {formatUtils.formatDecimal(\r\n (transaction as OriginatingTransaction).warf\r\n ) || constants.emptyPlaceholder}\r\n \r\n\r\n \r\n {formatUtils.formatDecimal(\r\n (transaction as OriginatingTransaction).ds\r\n ) || constants.emptyPlaceholder}\r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import { useEffect } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { routes } from '../../../../../constants';\r\nimport { OriginatingTransactionClass } from \"../../../../../types/amr-pipeline/models/OriginatingTransactionClass\";\r\nimport { Table } from \"../../../../bidding/common/table\";\r\nimport { amrFormatUtils } from \"../../../../../utils\";\r\nimport { TotalBalance } from \"../../../detailed/new-issue/capital-structure/TotalBalance\";\r\nimport { mailColumns } from \"./columns\";\r\nimport { ColumnBuilder } from \"../../../../bidding/common/table/columns/column-builder/ColumnBuilder\";\r\nimport { OriginatingTransaction } from \"../../../../../types/amr-pipeline/models/OriginatingTransaction\";\r\nimport { GeneralInfo } from \"./GeneralInfo\";\r\nimport { AmrTransaction } from \"../../../../../types/amr-pipeline/models/AmrTransaction\";\r\nimport { TransactionType } from \"../../../../../types/amr-pipeline/enums/TransactionType\";\r\nimport { CollateralQualityTest } from '../../../../../types/amr-pipeline/models/CollateralQualityTest';\r\nimport { Preloader } from '../../../../common';\r\n\r\ninterface Props {\r\n transaction: OriginatingTransaction | AmrTransaction;\r\n collateralQualityTests: CollateralQualityTest[];\r\n text: string;\r\n loading: boolean;\r\n setLoading: (status: boolean) => void;\r\n}\r\n\r\nexport function MailPreview({\r\n transaction,\r\n collateralQualityTests,\r\n text,\r\n loading,\r\n setLoading\r\n}: Props) {\r\n const { classes } = transaction;\r\n const isOriginatingTransaction = transaction.type !== TransactionType.amr;\r\n const capitalStructureTransactionClasses = isOriginatingTransaction\r\n ? (classes as OriginatingTransactionClass[]).map((tc) => {\r\n const {\r\n tranche,\r\n floaterIndex,\r\n margin,\r\n ...capitalStructureClass\r\n } = tc;\r\n const coupon = amrFormatUtils.formatInventoryCoupon(\r\n floaterIndex,\r\n margin\r\n );\r\n return { ...capitalStructureClass, ...tranche, coupon };\r\n })\r\n : [];\r\n\r\n useEffect(() => {\r\n if(isOriginatingTransaction && !collateralQualityTests) {\r\n setLoading(true)\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n return (\r\n \r\n
\r\n
\r\n

Hello,

\r\n

\r\n {transaction.arranger?.legalName} shared {transaction.dealLegalName} transaction with you.\r\n

\r\n \r\n {text}\r\n

\r\n
\r\n \r\n {isOriginatingTransaction && (\r\n []\r\n ) => (\r\n \r\n )}\r\n />\r\n )}\r\n

\r\n Please use the link below to view the transaction:\r\n

\r\n

\r\n Here will be a shareable link to the transaction\r\n

\r\n

\r\n If you do not have an account on the KTX ATS platform, you will be redirected to the registration page first.\r\n

\r\n
\r\n

Regards,

\r\n

Team KopenTech

\r\n
\r\n
\r\n
\r\n This email (including any attachments) is confidential and, by accepting this email,\r\n you agree that you will treat it as such and act or refrain from acting in accordance\r\n with applicable law. It does not constitute investment advice, is only for the use of\r\n the intended recipient and copying, redistributing or acting upon such email by unintended\r\n recipients is unauthorized and may be unlawful. Receipt by anyone other than the intended\r\n recipient is not a waiver of any protections or work-product or attorney-client privilege.\r\n If you received this email in error, please notify KopenTech, LLC (\"KopenTech\") immediately.\r\n KopenTech makes no representation or warranty as to the accuracy or completeness of the email\r\n and its contents and is not obligated to update or revise any information. This email is not an\r\n official confirmation of any transaction and is not offer to sell or the solicitation for the\r\n purchase of any security, financial instrument or interest in an investment vehicle. Such\r\n offering shall be made only by a final confidential offering circular to eligible investors.\r\n Any comments or opinions expressed in this communication do not necessarily reflect those of\r\n KopenTech or its affiliates. Emails sent to and from this address may be monitored and stored\r\n in accordance with internal policy. This email and any attachments are confidential and may\r\n be privileged or otherwise protected from disclosure. If you are not the intended recipient,\r\n please telephone or email the sender and delete this message and any attachment from your\r\n system immediately. If you are not the intended recipient you must not copy this message or\r\n attachment or disclose the contents to any other person. For more details, see the \r\n Terms and Conditions and Privacy Policy\r\n
\r\n
\r\n );\r\n}\r\n","import { useEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { notificationActions } from \"../../../../actions\";\r\nimport { amrPipelineService } from \"../../../../services/amr-pipeline.service\";\r\nimport { AmrTransaction } from \"../../../../types/amr-pipeline/models/AmrTransaction\";\r\nimport { OriginatingTransaction } from \"../../../../types/amr-pipeline/models/OriginatingTransaction\";\r\n\r\nexport const useRequestInviteClients = (\r\n transaction: OriginatingTransaction | AmrTransaction,\r\n emailList: string[],\r\n message: string,\r\n sending: boolean,\r\n setSending: (isSending: boolean) => void,\r\n onLoadSuccess: () => void\r\n) => {\r\n const { dealReferenceName, referenceName, dealLegalName } = transaction;\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n const request = async () => {\r\n try {\r\n await amrPipelineService.shareTransactionToClients(\r\n dealReferenceName,\r\n referenceName,\r\n emailList,\r\n message\r\n );\r\n onLoadSuccess();\r\n dispatch(\r\n notificationActions.notificationAddInfo(\r\n \"Transaction shared\",\r\n `${dealLegalName} transaction was shared with recipients.`\r\n )\r\n );\r\n } catch (e) {\r\n dispatch(\r\n notificationActions.notificationAddErrorMessage(\r\n \"Could not send invitation\"\r\n )\r\n );\r\n } finally {\r\n setSending(false);\r\n }\r\n };\r\n\r\n if (sending) {\r\n request();\r\n }\r\n // eslint-disable-next-line\r\n }, [sending]);\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 { CollateralQualityTest } from \"../../../../types/amr-pipeline/models/CollateralQualityTest\";\r\nimport { OriginatingTransaction } from \"../../../../types/amr-pipeline/models/OriginatingTransaction\";\r\nimport { AmrTransaction } from \"../../../../types/amr-pipeline/models/AmrTransaction\";\r\n\r\ntype PreviewTransaction = OriginatingTransaction | AmrTransaction;\r\n\r\nexport const useRequestTransactionDetails = (\r\n transactionForPreview: PreviewTransaction,\r\n updateTransactionForPreview: (trans: PreviewTransaction) => void,\r\n withGetTransaction: boolean,\r\n loading: boolean,\r\n setLoading: (isSending: boolean) => void,\r\n onLoadSuccess: (collateralQualityTest: CollateralQualityTest[]) => void,\r\n) => {\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n const request = async () => {\r\n try {\r\n let transaction = transactionForPreview;\r\n\r\n if(withGetTransaction) {\r\n transaction = await amrPipelineService.getTransaction(transactionForPreview.dealReferenceName, transactionForPreview.referenceName);\r\n updateTransactionForPreview(transaction);\r\n }\r\n\r\n const { dealReferenceName, referenceName } = transaction;\r\n const collateralQualityTest: CollateralQualityTest[] = await amrPipelineService.getCollateralQualityTest(\r\n dealReferenceName,\r\n referenceName\r\n );\r\n onLoadSuccess(collateralQualityTest);\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 { useState } from \"react\";\r\nimport { Popup, PopupBody, PopupFooter } from \"../../../controls\";\r\nimport { FlexRow, Preloader } from \"../../../common\";\r\nimport { OriginatingTransaction } from \"../../../../types/amr-pipeline/models/OriginatingTransaction\";\r\nimport { MailPreview } from \"./MailPreview/MailPreview\";\r\nimport { AmrTransaction } from \"../../../../types/amr-pipeline/models/AmrTransaction\";\r\nimport { useRequestInviteClients } from \"./useRequestInviteClients\";\r\nimport { StatusMessageSection } from \"../../../status-message/StatusMessageSection\";\r\nimport { StatusMessageSectionType } from \"../../../../types/state/NotificationState\";\r\nimport { validateEmail } from \"../../../../utils/validate-email.utils\";\r\nimport { EmailChipList } from \"../../../common/EmailChipList\";\r\nimport { useRequestTransactionDetails } from './useRequestTransactionDetails';\r\nimport { CollateralQualityTest } from \"../../../../types/amr-pipeline/models/CollateralQualityTest\";\r\n\r\nconst emailMaxCount = 500;\r\n\r\ninterface Props {\r\n transaction: OriginatingTransaction | AmrTransaction;\r\n onClose: () => void;\r\n defaultEmailList?: string[];\r\n withGetTransaction?: boolean;\r\n}\r\n\r\nexport function InviteClientsTransactionPopup({\r\n transaction,\r\n onClose,\r\n defaultEmailList = [],\r\n withGetTransaction = false,\r\n}: Props) {\r\n const [transactionForPreview, setTransactionForPreview] = useState(transaction);\r\n const [collateralQualityTests, setCollateralQualityTests] = useState((transaction as OriginatingTransaction).collateralQualityTests);\r\n const [emailList, setEmailList] = useState(defaultEmailList);\r\n const [textContent, setTextContent] = useState(\"\");\r\n const [sending, setSending] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n\r\n const { dealLegalName } = transactionForPreview;\r\n\r\n const handleClose = () => {\r\n if (!sending) {\r\n onClose();\r\n }\r\n };\r\n\r\n useRequestInviteClients(\r\n transactionForPreview,\r\n emailList,\r\n textContent,\r\n sending,\r\n setSending,\r\n onClose\r\n );\r\n\r\n useRequestTransactionDetails(\r\n transactionForPreview,\r\n setTransactionForPreview,\r\n withGetTransaction,\r\n loading,\r\n setLoading,\r\n (data: CollateralQualityTest[]) => setCollateralQualityTests(data),\r\n );\r\n\r\n const isLimitExceeded = emailList.length > emailMaxCount;\r\n const isDataInvalid = emailList.some((e) => !validateEmail(e));\r\n\r\n const renderInviteForm = () => (\r\n <>\r\n {isDataInvalid || isLimitExceeded ? (\r\n \r\n {isLimitExceeded\r\n ? `Max recipients count is ${emailMaxCount}`\r\n : \"Please fix invalid email addresses\"}\r\n \r\n ) : (\r\n \r\n Invite clients or share the deal with your team\r\n \r\n )}\r\n setEmailList(list)}\r\n allowInvalid\r\n withClearAll\r\n placeholder=\"Enter recipients or Ctrl+C / Ctrl+V emails from Excel\"\r\n className=\"email-chips-list-with-clear\"\r\n />\r\n setTextContent(e.target.value)}\r\n className=\"form-control share-transaction-message\"\r\n placeholder=\"Enter message (optional)\"\r\n />\r\n \r\n );\r\n\r\n return (\r\n \r\n Share Transaction{\" \"}\r\n {dealLegalName}\r\n \r\n }\r\n modalClass=\"modal-share-transaction\"\r\n onClose={handleClose}\r\n >\r\n \r\n
\r\n
\r\n {renderInviteForm()}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n {sending && (\r\n \r\n )}\r\n \r\n Cancel\r\n \r\n setSending(true)}\r\n disabled={isDataInvalid || !emailList.length || sending || loading || isLimitExceeded}\r\n >\r\n Send invitation\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 { ActionBlocker } from \"../../access/ActionBlocker\";\r\nimport { FeatureLink } from \"../../access/FeatureLink\";\r\nimport { RoleActionBlocker } from \"../../access/RoleActionBlocker\";\r\n\r\ninterface Props {\r\n transactionReferenceName: string;\r\n dealReferenceName: string;\r\n children?: React.ReactNode;\r\n requiredFeatures?: SubscriptionFeature[];\r\n onClick?: () => void;\r\n}\r\n\r\n\r\nexport function ImTransactionDetailsLink({\r\n transactionReferenceName, dealReferenceName, requiredFeatures, onClick, children }: Props) {\r\n\r\n return (\r\n \r\n {\r\n roleBlocked =>\r\n \r\n \r\n <>{children}\r\n \r\n \r\n }\r\n \r\n\r\n );\r\n}\r\n","import cn from 'classnames';\r\nimport { isNil } from 'lodash';\r\nimport { Link } from \"react-router-dom\";\r\nimport { routes } from \"../../../constants\";\r\nimport IconSVG from \"../../../styles/svg-icons\";\r\nimport { OnHoverTooltip } from \"../../common/OnHoverTooltip\";\r\n\r\ninterface TransactionHistoryProps {\r\n referenceName: string;\r\n dealReferenceName: string;\r\n target?: React.HTMLAttributeAnchorTarget;\r\n overlayText?: string;\r\n label?: boolean;\r\n version?: number;\r\n disabled?: boolean;\r\n onClick?: () => void;\r\n}\r\n\r\nexport const TransactionHistoryLink = ({\r\n referenceName,\r\n dealReferenceName,\r\n target = '_blank',\r\n overlayText = 'Transaction History',\r\n label = true,\r\n disabled = false,\r\n version,\r\n onClick,\r\n}: TransactionHistoryProps) =>\r\n !disabled ? (\r\n \r\n \r\n \r\n {label && Trans History }\r\n \r\n {label && !isNil(version) && V.{version}}\r\n \r\n ) : (\r\n \r\n );\r\n","import moment from 'moment';\r\nimport { pipelineColumnLabels, pipelineTooltipText, SORTING_TYPE } from '../../constants';\r\nimport { constants } from '../../constants/constants';\r\nimport IconSVG from '../../styles/svg-icons';\r\nimport { formatUtils } from '../../utils';\r\nimport { PeriodPopover } from '../amrPipeline/aggregated/PeriodPopover';\r\nimport { PipelineColumn } from '../amrPipeline/types/PipelineColumn';\r\nimport { IColumnDefinition } from '../bidding/common/table/types/ColumnDefinition';\r\nimport { OnHoverTooltip } from '../common';\r\nimport { MarkdownViewer, renderMarkdownOrEmpty } from '../common/markdown-editor';\r\nimport { Popover } from '../controls';\r\nimport { DataFromAmr } from './types/DataFromAmr';\r\nimport { ManagerLink } from './common/ManagerLink';\r\nimport { ColumnConfigKey } from '../../types/page-config/column-customizer/ColumnConfigKey';\r\nimport { bwicColumnsLabels } from '../../constants/bwicColumnsLabels';\r\n\r\n\r\nenum CommonAmrColumns {\r\n dealName = 'dealName',\r\n manager = 'manager',\r\n nonCallPeriodEnd = 'nonCallPeriodEnd',\r\n reinvestmentPeriodEnd = 'reinvestmentPeriodEnd',\r\n nonCallPeriodEndYears = 'nonCallPeriodEndYears',\r\n reinvestmentPeriodEndYears = 'reinvestmentPeriodEndYears',\r\n maturity = 'maturity',\r\n vintage = 'vintage',\r\n trustee = 'trustee',\r\n amrDeal = 'amrDeal',\r\n staticDeal = 'staticDeal',\r\n euCompliance = 'euCompliance',\r\n esg = 'esg',\r\n collateralType = 'collateralType',\r\n closingDate = 'closingDate',\r\n outOfNC = 'outOfNC',\r\n outOfRI = 'outOfRI'\r\n}\r\n\r\nexport function getAmrColumns(): { [key in CommonAmrColumns]: IColumnDefinition } {\r\n return {\r\n [PipelineColumn.dealName]: {\r\n columnKey: PipelineColumn.dealName,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.dealName],\r\n renderColumnContent: ({ dealLegalName }) => {\r\n return dealLegalName ? (\r\n {dealLegalName}\r\n ) : (\r\n constants.emptyPlaceholder\r\n );\r\n },\r\n sortingField: 'dealLegalName',\r\n sortingType: SORTING_TYPE.string,\r\n className: 'data-list-cell-xl',\r\n configKey: ColumnConfigKey.DealName\r\n },\r\n [PipelineColumn.manager]: {\r\n columnKey: PipelineColumn.manager,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.manager],\r\n renderColumnContent: ({ collateralManager }) => {\r\n if (collateralManager) {\r\n return (\r\n \r\n )\r\n }\r\n return constants.emptyPlaceholder\r\n },\r\n sortingField: 'collateralManager',\r\n sortingType: SORTING_TYPE.company,\r\n headerClassName: 'data-list-cell-xl',\r\n bodyClassName: 'data-list-cell-xl',\r\n configKey: ColumnConfigKey.CollateralManager\r\n },\r\n [PipelineColumn.closingDate]: {\r\n columnKey: PipelineColumn.closingDate,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.closingDate],\r\n renderColumnContent: ({ closingDate }) =>\r\n closingDate ? moment(closingDate).format(constants.dateFormat) : constants.emptyPlaceholder,\r\n headerClassName: 'data-list-cell-sm',\r\n bodyClassName: 'data-list-cell-sm',\r\n sortingType: SORTING_TYPE.date,\r\n sortingField: PipelineColumn.closingDate,\r\n configKey: ColumnConfigKey.ClosingDate\r\n },\r\n [PipelineColumn.nonCallPeriodEnd]: {\r\n columnKey: 'ncEnd',\r\n configKey: ColumnConfigKey.NcEnd,\r\n renderColumnHeaderContent: () => bwicColumnsLabels[ColumnConfigKey.NcEnd],\r\n renderColumnContent: ({ nonCallPeriodEnd }) => \r\n nonCallPeriodEnd ? moment(nonCallPeriodEnd).format('MMM DD, YYYY'): constants.emptyPlaceholder,\r\n className: 'data-list-cell-sm',\r\n },\r\n [PipelineColumn.nonCallPeriodEndYears]: {\r\n columnKey: PipelineColumn.nonCallPeriodEnd,\r\n renderColumnHeaderContent: () => (\r\n \r\n {pipelineColumnLabels[PipelineColumn.nonCallPeriodEndYears]}\r\n \r\n \r\n ),\r\n renderColumnContent: ({ nonCallPeriodEnd, reinvestmentPeriodEnd, nonCallPeriodEndYears }) => (\r\n <>\r\n \r\n }\r\n >\r\n \r\n {nonCallPeriodEndYears?.toFixed(2) ?? constants.emptyPlaceholder}\r\n \r\n \r\n \r\n ),\r\n sortingField: PipelineColumn.nonCallPeriodEndYears,\r\n sortingType: SORTING_TYPE.number,\r\n headerClassName: 'data-list-cell-sm text-right',\r\n bodyClassName: 'data-list-cell-sm text-right popover-column',\r\n configKey: ColumnConfigKey.NcEndYrs\r\n },\r\n [PipelineColumn.outOfNC]: {\r\n columnKey: PipelineColumn.outOfNC,\r\n renderColumnHeaderContent: () => (\r\n \r\n {pipelineColumnLabels[PipelineColumn.outOfNC]}\r\n \r\n \r\n ),\r\n renderColumnContent: ({ reinvestmentPeriodEnd, nonCallPeriodEnd, outOfNC }) => {\r\n const columnText = outOfNC == null\r\n ? constants.emptyPlaceholder\r\n : 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 configKey: ColumnConfigKey.OutOfNc\r\n },\r\n [PipelineColumn.reinvestmentPeriodEnd]: {\r\n columnKey: 'riEnd',\r\n configKey: ColumnConfigKey.RiEnd,\r\n renderColumnHeaderContent: () => bwicColumnsLabels[ColumnConfigKey.RiEnd],\r\n renderColumnContent: ({ reinvestmentPeriodEnd }) =>\r\n reinvestmentPeriodEnd ? moment(reinvestmentPeriodEnd).format(constants.dateFormat) : constants.emptyPlaceholder,\r\n className: 'data-list-cell-sm',\r\n },\r\n [PipelineColumn.reinvestmentPeriodEndYears]: {\r\n columnKey: PipelineColumn.reinvestmentPeriodEnd,\r\n renderColumnHeaderContent: () => (\r\n \r\n {pipelineColumnLabels[PipelineColumn.reinvestmentPeriodEndYears]}\r\n \r\n \r\n ),\r\n renderColumnContent: ({ reinvestmentPeriodEnd, nonCallPeriodEnd, reinvestmentPeriodEndYears }) => (\r\n <>\r\n \r\n }\r\n >\r\n \r\n {reinvestmentPeriodEndYears?.toFixed(2) ?? constants.emptyPlaceholder}\r\n \r\n \r\n \r\n ),\r\n sortingField: PipelineColumn.reinvestmentPeriodEndYears,\r\n sortingType: SORTING_TYPE.number,\r\n headerClassName: 'data-list-cell-sm text-right',\r\n bodyClassName: 'data-list-cell-sm text-right popover-column',\r\n configKey: ColumnConfigKey.RiEndYrs\r\n },\r\n [PipelineColumn.outOfRI]: {\r\n columnKey: PipelineColumn.outOfRI,\r\n renderColumnHeaderContent: () => (\r\n \r\n {pipelineColumnLabels[PipelineColumn.outOfRI]}\r\n \r\n \r\n ),\r\n renderColumnContent: ({ reinvestmentPeriodEnd, nonCallPeriodEnd, outOfRI }) => {\r\n const columnText = outOfRI == null\r\n ? constants.emptyPlaceholder\r\n : 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 configKey: ColumnConfigKey.OutOfRi\r\n },\r\n [PipelineColumn.maturity]: {\r\n columnKey: PipelineColumn.maturity,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.maturity],\r\n renderColumnContent: ({ statedMaturity, finalMaturity }) => {\r\n const maturity = statedMaturity || finalMaturity;\r\n return maturity ? moment(maturity).format(constants.dateFormat) : constants.emptyPlaceholder;\r\n },\r\n headerClassName: 'data-list-cell-sm',\r\n bodyClassName: 'data-list-cell-sm',\r\n sortingField: 'statedMaturity',\r\n sortingType: SORTING_TYPE.date,\r\n configKey: ColumnConfigKey.Maturity\r\n },\r\n [PipelineColumn.vintage]: {\r\n columnKey: PipelineColumn.vintage,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.vintage],\r\n renderColumnContent: ({ vintage }) => {\r\n return vintage ? moment(vintage).year() : constants.emptyPlaceholder;\r\n },\r\n sortingField: PipelineColumn.vintage,\r\n sortingType: SORTING_TYPE.date,\r\n configKey: ColumnConfigKey.Vintage\r\n },\r\n [PipelineColumn.trustee]: {\r\n columnKey: PipelineColumn.trustee,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.trustee],\r\n renderColumnContent: ({ trustee }) => {\r\n if (trustee) {\r\n return {trustee.legalName};\r\n }\r\n\r\n return 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 sortingType: SORTING_TYPE.company,\r\n configKey: ColumnConfigKey.Trustee\r\n },\r\n [PipelineColumn.amrDeal]: {\r\n columnKey: PipelineColumn.amrDeal,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.amrDeal],\r\n renderColumnContent: ({ amr }) => formatUtils.formatBooleanWithPlaceholder(amr),\r\n headerClassName: 'data-list-cell-sm',\r\n bodyClassName: 'data-list-cell-sm',\r\n sortingField: 'amr',\r\n sortingType: SORTING_TYPE.boolean,\r\n configKey: ColumnConfigKey.AmrDeal\r\n },\r\n [PipelineColumn.staticDeal]: {\r\n columnKey: PipelineColumn.staticDeal,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.staticDeal],\r\n renderColumnContent: transaction => formatUtils.formatBooleanWithPlaceholder(transaction.staticDeal),\r\n headerClassName: 'data-list-cell-sm',\r\n bodyClassName: 'data-list-cell-sm',\r\n sortingField: PipelineColumn.staticDeal,\r\n sortingType: SORTING_TYPE.boolean,\r\n configKey: ColumnConfigKey.StaticDeal\r\n },\r\n [PipelineColumn.euCompliance]: {\r\n columnKey: PipelineColumn.euCompliance,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.euCompliance],\r\n renderColumnContent: ({\r\n dealLegalName,\r\n euCompliance,\r\n euRiskRetentionRequirements,\r\n euDisclosureRequirements,\r\n }) => {\r\n const columnText = formatUtils.formatBooleanWithPlaceholder(euCompliance);\r\n\r\n if (euCompliance && (euRiskRetentionRequirements || euDisclosureRequirements)) {\r\n return (\r\n \r\n {dealLegalName}\r\n \r\n }\r\n actionButton={}\r\n >\r\n

EU Risk Retention Requirements

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

EU Disclosure Requirements

\r\n
{renderMarkdownOrEmpty(euDisclosureRequirements)}
\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 sortingType: SORTING_TYPE.boolean,\r\n configKey: ColumnConfigKey.EuCompliance\r\n },\r\n [PipelineColumn.esg]: {\r\n columnKey: PipelineColumn.esg,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.esg],\r\n renderColumnContent: ({ dealLegalName, esg, esgComment }) => {\r\n const columnText = 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 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 sortingType: SORTING_TYPE.boolean,\r\n configKey: ColumnConfigKey.Esg\r\n },\r\n [PipelineColumn.collateralType]: {\r\n columnKey: PipelineColumn.collateralType,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.collateralType],\r\n renderColumnContent: ({ collateralType }) => formatUtils.formatCollateralType(collateralType),\r\n headerClassName: 'data-list-cell-xs',\r\n bodyClassName: 'data-list-cell-xs',\r\n sortingField: PipelineColumn.collateralType,\r\n sortingType: SORTING_TYPE.string,\r\n configKey: ColumnConfigKey.CollateralType\r\n },\r\n };\r\n}\r\n","import classNames from 'classnames';\r\nimport React from 'react';\r\nimport { AmrFile } from '../../../../types/amr-pipeline/models/AmrFile';\r\nimport { OnHoverTooltip, Preloader } from '../../../common';\r\n\r\ninterface DownloadDocumentProps {\r\n document?: AmrFile;\r\n children: React.ReactNode;\r\n secondary?: boolean;\r\n onClick?: () => void;\r\n disabled?: boolean;\r\n isLoading?: boolean;\r\n loadingText?: boolean;\r\n tooltipOverlay?: string;\r\n}\r\n\r\nexport default function DownloadDocument({\r\n document,\r\n children,\r\n secondary = false,\r\n isLoading,\r\n loadingText,\r\n tooltipOverlay,\r\n onClick,\r\n disabled,\r\n}: DownloadDocumentProps) {\r\n const handleClick = (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n if (onClick && !disabled && !isLoading) {\r\n return onClick();\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n {isLoading ? (\r\n \r\n ) : (\r\n children\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { imUserConfigActions } from '../../../../actions/';\r\nimport { Popup, PopupBody, PopupFooter } from '../../../controls';\r\nimport { Transfer } from '../../../common/transfer/Transfer';\r\nimport { TabList, TabItem } from '../../../bidding/common/tab-list';\r\nimport { PipelineView } from '../../types/PipelineView';\r\nimport { TransferOption } from '../../../common/transfer/types';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { UserConfigState } from '../../../../types/state/UserConfigState';\r\nimport { UserConfigType } from '../../../../types/user-config/UserConfigType';\r\nimport { UserConfigBase, ColumnsConfig } from '../../../../types/user-config/UserConfig';\r\nimport { UserConfigColumn } from '../../../../types/user-config/UserConfigColumn';\r\nimport { pipelineColumnLabels } from '../../../../constants';\r\nimport { PipelineColumn } from '../../types/PipelineColumn';\r\nimport { isEqual } from 'lodash';\r\n\r\ninterface CustomizeColumnsDialogProps {\r\n defaultTab: PipelineView;\r\n onClose: () => void;\r\n}\r\n\r\ninterface TabState {\r\n options: TransferOption[];\r\n selected: TransferOption[];\r\n}\r\n\r\nconst TabConfigMap = {\r\n [PipelineView.Class]: UserConfigType.imColumnsClassTab,\r\n [PipelineView.Deal]: UserConfigType.imColumnsDealTab,\r\n};\r\n\r\nexport const CustomizeColumnsDialog = ({\r\n defaultTab,\r\n onClose,\r\n}: CustomizeColumnsDialogProps) => {\r\n const dispatch = useDispatch();\r\n const { isUpdating, isLoadingDefault, columnsConfig, columnsDefaultConfig } = useSelector(state => state.imUserConfig);\r\n const [activeTab, setActiveTab] = useState(defaultTab);\r\n\r\n const disabled = isUpdating || isLoadingDefault;\r\n\r\n const transferOptionFromColumn = (column: UserConfigColumn) => ({\r\n key: column.name,\r\n title: pipelineColumnLabels[column.name as PipelineColumn],\r\n permanent: column.required,\r\n fixed: column.fixed,\r\n order: column.order,\r\n available: column.available\r\n } as TransferOption);\r\n\r\n const deriveTabStateFromConfig = (userConfig: ColumnsConfig[], tab: PipelineView) => {\r\n const { value = [] } = userConfig.find(({ type }) => type === TabConfigMap[tab]) || {};\r\n\r\n const options = value.map(transferOptionFromColumn);\r\n\r\n const selected = value\r\n .filter(({ displayed }) => displayed)\r\n .map(transferOptionFromColumn);\r\n\r\n return {\r\n options,\r\n selected,\r\n } as TabState;\r\n };\r\n\r\n const getDefaultTabState = () => [PipelineView.Class, PipelineView.Deal]\r\n .reduce((acc, tab) => ({\r\n ...acc,\r\n [tab]: deriveTabStateFromConfig(columnsConfig, tab),\r\n }), {} as Record);\r\n\r\n const [tabState, setTabState] = useState>(getDefaultTabState());\r\n const [tabDefaultState, setTabDefaultState] = useState>(tabState);\r\n\r\n useEffect(() => {\r\n // Changed internal state after Reset\r\n setTabState((prevState) => ({\r\n ...prevState,\r\n [activeTab]: deriveTabStateFromConfig(columnsConfig, activeTab),\r\n }));\r\n }, [columnsConfig]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n if(columnsDefaultConfig.length) {\r\n setTabDefaultState({\r\n [PipelineView.Class]: deriveTabStateFromConfig(columnsDefaultConfig, PipelineView.Class),\r\n [PipelineView.Deal]: deriveTabStateFromConfig(columnsDefaultConfig, PipelineView.Deal),\r\n });\r\n } else {\r\n dispatch(imUserConfigActions.getDefaultUserColumnsConfig());\r\n }\r\n }, [columnsDefaultConfig]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const getUserConfig = (options: TransferOption[], selected: TransferOption[]) => {\r\n const selectedKeys = selected.map(({ key }) => key);\r\n\r\n const selectedColumns = selected\r\n .reduce((acc: UserConfigColumn[], option: TransferOption, index: number) => ([\r\n ...acc,\r\n {\r\n name: option.key,\r\n order: index,\r\n available: option.available,\r\n required: option.permanent === true,\r\n displayed: true,\r\n fixed: option.fixed,\r\n } as UserConfigColumn\r\n ]), []);\r\n\r\n return options\r\n .filter(option => !selectedKeys.includes(option.key))\r\n .map(option => ({\r\n name: option.key,\r\n order: 0,\r\n required: option.permanent === true,\r\n displayed: false,\r\n available: option.available,\r\n fixed: option.fixed,\r\n }))\r\n .concat(selectedColumns);\r\n };\r\n\r\n const handleSave = () => {\r\n const userConfig = [PipelineView.Class, PipelineView.Deal]\r\n .reduce((acc: UserConfigBase[], tab: PipelineView) => (\r\n tabState ? [\r\n ...acc,\r\n {\r\n type: TabConfigMap[tab],\r\n value: getUserConfig(tabState[tab].options, tabState[tab].selected),\r\n } as UserConfigBase\r\n ] : acc\r\n ), []);\r\n\r\n dispatch(imUserConfigActions.updateUserConfig(userConfig));\r\n };\r\n\r\n const handleTransferChange = (value: TransferOption[]) => {\r\n setTabState((prevState) => ({\r\n ...prevState,\r\n [activeTab]: {\r\n ...prevState[activeTab],\r\n selected: value,\r\n }\r\n }));\r\n };\r\n\r\n const handleReset = () => setTabState((prevState) => ({\r\n ...prevState,\r\n [activeTab]: tabDefaultState[activeTab],\r\n }));\r\n\r\n const checkIsConfigDefault = () => {\r\n const values = tabState[activeTab].selected.map((v, order) => ({...v, order}));\r\n const defaultValues = tabDefaultState[activeTab].selected.map((v, order) => ({...v, order}));\r\n return isEqual(values, defaultValues);\r\n };\r\n\r\n return (\r\n \r\n \r\n

\r\n There are default columns in the \"Selected Columns\" list, which you can't remove. You may adjust the table view by adding or removing additional columns from the lists. Additionally, you may change the order of the columns by dragging and dropping them in the \"Selected Columns\" list.\r\n

\r\n \r\n setActiveTab(PipelineView.Deal)}\r\n />\r\n setActiveTab(PipelineView.Class)}\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","import { findAll } from \"../../../utils/highlightWord.utils\";\r\nimport { createElement } from \"react\";\r\ninterface Props {\r\n activeClassName?: string;\r\n activeIndex?: number;\r\n activeStyle?: React.CSSProperties;\r\n autoEscape?: boolean;\r\n caseSensitive?: boolean;\r\n className?: string;\r\n findChunks?: () => {};\r\n highlightClassName?: string;\r\n highlightStyle?: React.CSSProperties;\r\n highlightTag?: string;\r\n sanitize?: (s: string) => string;\r\n searchWords: string[];\r\n textToHighlight: string;\r\n unhighlightClassName?: string;\r\n unhighlightStyle?: React.CSSProperties;\r\n}\r\n\r\nexport default function Highlighter({\r\n activeClassName = \"\",\r\n activeIndex = -1,\r\n activeStyle = {},\r\n autoEscape = false,\r\n caseSensitive = false,\r\n className = \"\",\r\n highlightClassName = \"\",\r\n highlightStyle = {},\r\n highlightTag = \"mark\",\r\n sanitize = undefined,\r\n searchWords,\r\n textToHighlight,\r\n unhighlightClassName = \"\",\r\n unhighlightStyle = {},\r\n ...rest\r\n}: Props) {\r\n const chunks = findAll({\r\n autoEscape,\r\n caseSensitive,\r\n sanitize,\r\n searchWords,\r\n textToHighlight,\r\n });\r\n const HighlightTag = highlightTag;\r\n let highlightIndex = -1;\r\n let highlightClassNames = \"\";\r\n let highlightStyles;\r\n\r\n return createElement(\"span\", {\r\n className,\r\n ...rest,\r\n children: chunks.map((chunk, index) => {\r\n const text = textToHighlight.substr(\r\n chunk.start,\r\n chunk.end - chunk.start\r\n );\r\n\r\n if (chunk.highlight) {\r\n highlightIndex++;\r\n\r\n let highlightClass = highlightClassName;\r\n\r\n const isActive = highlightIndex === +activeIndex;\r\n\r\n highlightClassNames = `${highlightClass} ${\r\n isActive ? activeClassName : \"\"\r\n }`;\r\n highlightStyles =\r\n isActive === true && activeStyle != null\r\n ? Object.assign({}, highlightStyle, activeStyle)\r\n : highlightStyle;\r\n\r\n const props = {\r\n children: text,\r\n className: highlightClassNames,\r\n key: index,\r\n style: highlightStyles,\r\n };\r\n\r\n return createElement(HighlightTag, props);\r\n } else {\r\n return createElement(\"span\", {\r\n children: text,\r\n className: unhighlightClassName,\r\n key: index,\r\n style: unhighlightStyle,\r\n });\r\n }\r\n }),\r\n });\r\n}\r\n","import IconSVG from \"../../../styles/svg-icons\";\r\nimport cn from \"classnames\";\r\nimport { constants } from \"../../../constants\";\r\nimport { ImSubscriptionActionBlocker } from \"../../amrPipeline/subscription/ImSubscriptionActionBlocker\";\r\nimport { OnHoverTooltip } from \"../../common\";\r\nimport { TransactionStatus } from \"../../../types/amr-pipeline/enums/TransactionStatus\";\r\nimport {\r\n Tooltip,\r\n TooltipPlacement,\r\n TooltipTriggerType,\r\n} from \"../../common/Tooltip\";\r\nimport { useMemo, useState } from \"react\";\r\nimport { ContextMenuItem } from \"../../controls/ContextMenuItem\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { AddToPortfolioPopup } from \"../../portfolio/add-to-portfolio/AddToPortfolioPopup\";\r\nimport { addToPortfolioActions } from \"../../../actions/add-to-portfolio.actions\";\r\nimport { Transaction } from \"../../../types/amr-pipeline/models/Transaction\";\r\nimport { Currency } from \"../../../types/enums/Currency\";\r\nimport { OriginatingTransactionClass } from \"../../../types/amr-pipeline/models/OriginatingTransactionClass\";\r\nimport { usePortfolios } from \"../../../effects/usePortfolios\";\r\nimport { AmrClass } from \"../../../types/amr-pipeline/models/AmrClass\";\r\nimport { TransactionType } from \"../../../types/amr-pipeline/enums/TransactionType\";\r\nimport { PortfolioSecurity } from \"../../../types/portfolio/PortfolioSecurity\";\r\nimport { Rating } from \"../../../types/enums/Rating\";\r\n\r\nconst AddToPortfolioIcon = () => (\r\n \r\n);\r\n\r\ninterface Identifier {\r\n ticker: string;\r\n}\r\n\r\ninterface IdentifierList extends Identifier {\r\n label: string;\r\n}\r\n\r\ninterface Props {\r\n wrapperClassName?: string;\r\n className?: string;\r\n disabled?: boolean;\r\n checkSubscription?: boolean;\r\n transaction: Transaction;\r\n transactionClass: OriginatingTransactionClass | AmrClass;\r\n withText?: boolean;\r\n withEmptyPlaceholder?: boolean;\r\n}\r\nexport function AddToPortfolioLink({\r\n wrapperClassName,\r\n className,\r\n disabled = false,\r\n checkSubscription = false,\r\n transaction,\r\n transactionClass,\r\n withText,\r\n withEmptyPlaceholder = true,\r\n}: Props) {\r\n const [isPopupVisible, setIsPopupVisible] = useState(false);\r\n const [isTooltipVisible, setIsTooltipVisible] = useState(false);\r\n const [selectedIdentifier, setSelectedIdentifier] =\r\n useState(null);\r\n const { status, currency, type } = transaction;\r\n const { rating } = transactionClass;\r\n const tranche =\r\n type === TransactionType.amr\r\n ? (transactionClass as AmrClass).class\r\n : (transactionClass as OriginatingTransactionClass).tranche;\r\n\r\n const ticker144A = tranche?.ticker144A;\r\n const tickerRegS = tranche?.tickerRegS;\r\n const tickerAccdInvCertif = tranche?.tickerAccdInvCertif;\r\n\r\n\r\n const dispatch = useDispatch();\r\n const { items: portfolios } = usePortfolios(true);\r\n\r\n const identifierList = [\r\n { ticker: ticker144A, label: \"144A\" },\r\n { ticker: tickerRegS, label: \"Reg S\" },\r\n {\r\n ticker: tickerAccdInvCertif,\r\n label: \"Acc’d Inv./Certif.\",\r\n },\r\n ].filter((c) => !!c.ticker) as IdentifierList[];\r\n\r\n const withButton = !!(\r\n status === TransactionStatus.Closed &&\r\n identifierList.length &&\r\n rating\r\n );\r\n\r\n const security = useMemo(() => {\r\n let result: PortfolioSecurity | undefined;\r\n if (withButton) {\r\n for (let i = 0; i < portfolios.length; i++) {\r\n result = portfolios[i].securities.find(\r\n (s) =>\r\n s.ticker === selectedIdentifier?.ticker ||\r\n s.ticker === ticker144A ||\r\n s.ticker === tickerRegS ||\r\n s.ticker === tickerAccdInvCertif\r\n );\r\n if (!!result) {\r\n break;\r\n }\r\n }\r\n }\r\n return result;\r\n }, [\r\n selectedIdentifier?.ticker,\r\n ticker144A,\r\n tickerRegS,\r\n tickerAccdInvCertif,\r\n portfolios,\r\n withButton,\r\n ]);\r\n\r\n if (!withButton) {\r\n return withEmptyPlaceholder ? (\r\n \r\n {constants.emptyPlaceholder}\r\n \r\n ) : null;\r\n }\r\n\r\n if (disabled) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n const handleVisibilityChange = (isVisible: boolean) =>\r\n setIsTooltipVisible(isVisible);\r\n\r\n const handleClose = () => {\r\n setIsPopupVisible(false);\r\n setSelectedIdentifier(null);\r\n dispatch(addToPortfolioActions.reset());\r\n };\r\n\r\n const renderBlockedView = () => (\r\n \r\n );\r\n const getMenuItems = () =>\r\n identifierList.map(({ ticker, label }) => (\r\n {\r\n setIsTooltipVisible(false);\r\n setIsPopupVisible(true);\r\n setSelectedIdentifier({ ticker });\r\n }}\r\n key={label}\r\n >\r\n {ticker} ({label})\r\n \r\n ));\r\n\r\n const renderTooltip = () => {\r\n const withAddedItem = !!security;\r\n return (\r\n \r\n withAddedItem ? null : (\r\n
\r\n
    {getMenuItems()}
\r\n
\r\n )\r\n }\r\n >\r\n e.stopPropagation()}>\r\n \r\n setIsPopupVisible(true)\r\n : undefined\r\n }\r\n >\r\n {withAddedItem ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {withText &&\r\n (withAddedItem ? (\r\n Added to Portfolio\r\n ) : (\r\n Add to Portfolio\r\n ))}\r\n \r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const renderPopup = () => {\r\n const isinCusip = security?.isinCusip;\r\n const ticker = security?.ticker || selectedIdentifier?.ticker;\r\n\r\n if (!isPopupVisible || !ticker) {\r\n return null;\r\n }\r\n const positionCurrency = security?.currency || currency?.code;\r\n const position = {\r\n isinCusip,\r\n securityId: security?.securityId,\r\n size: security?.size || 0,\r\n ticker,\r\n currency: positionCurrency\r\n ? (positionCurrency as Currency)\r\n : Currency.USD,\r\n rating: (security?.rating || rating) as Rating,\r\n };\r\n\r\n return (\r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n {(blocked) => (\r\n
\r\n {blocked ? (\r\n renderBlockedView()\r\n ) : (\r\n <>\r\n {renderTooltip()}\r\n {renderPopup()}\r\n \r\n )}\r\n
\r\n )}\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { routes } from \"../../../constants/routes\";\r\nimport {\r\n createAmrPipelineActions,\r\n createSearchTransactionActions,\r\n} from \"../../../actions\";\r\nimport { TopFilterTypes } from \"../../../types/dashboard/RedirectFilterTypes\";\r\nimport { OnHoverTooltip } from \"../../common\";\r\nimport { roles } from \"../../../constants\";\r\nimport { user } from \"../../../user\";\r\nimport { PipelineType } from '../../../types/amr-pipeline/enums/PipelineType';\r\nimport { createFilterActions } from \"../../../actions/filter.actions\";\r\nimport { useAppDispatch } from \"../../../effects/useAppDispatch\";\r\nimport { useHistory } from \"react-router\";\r\n\r\nexport interface FilterLinkBaseProps {\r\n referenceName: string;\r\n legalName: string;\r\n code?: string;\r\n tooltip?: string;\r\n filter: TopFilterTypes;\r\n disabled?: boolean;\r\n onClick?: () => void;\r\n}\r\n\r\ninterface FilterLinkProps extends FilterLinkBaseProps {\r\n renderContent: (isLinkAvailable: boolean, onClick: (e: React.MouseEvent) => void) => React.ReactNode;\r\n}\r\n\r\nexport function FilterLink({\r\n referenceName,\r\n legalName,\r\n filter,\r\n code,\r\n tooltip,\r\n disabled = false,\r\n onClick,\r\n renderContent,\r\n}: FilterLinkProps) {\r\n const dispatch = useAppDispatch();\r\n const history = useHistory();\r\n\r\n // Manager 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 isMedia = user.hasRoles(roles.Media);\r\n const isLinkAvailable = (!user.hasRoles(roles.Viewer) || isMedia) && !disabled;\r\n\r\n const apply = () => {\r\n dispatch(searchTransactionsActions.reset());\r\n dispatch(filterActions.redirectWithNoFilter());\r\n\r\n dispatch(\r\n filterActions.setRedirectFilters({\r\n [filter]: [{\r\n value: referenceName,\r\n text: legalName + (code ? \" (\" + code + \")\" : \"\"),\r\n }],\r\n })\r\n );\r\n };\r\n\r\n const handleClick = (\r\n e: React.MouseEvent\r\n ) => {\r\n e.preventDefault();\r\n\r\n if (!isLinkAvailable) {\r\n return;\r\n }\r\n\r\n if (history.location.pathname === routes.AMRPipeline) {\r\n if (onClick) {\r\n onClick();\r\n }\r\n\r\n dispatch(amrPipelineActions.reset());\r\n apply();\r\n dispatch(amrPipelineActions.init());\r\n } else {\r\n apply();\r\n }\r\n\r\n history.push(routes.AMRPipeline);\r\n };\r\n\r\n return (\r\n \r\n {renderContent(isLinkAvailable, handleClick)}\r\n \r\n );\r\n}\r\n","import classnames from 'classnames';\r\nimport IconSVG from '../../../styles/svg-icons';\r\nimport { FilterLink, FilterLinkBaseProps } from './FilterLink';\r\n\r\nexport function FilterLinkIcon(props: FilterLinkBaseProps) {\r\n return (\r\n \r\n \r\n }\r\n />\r\n );\r\n}\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\n\r\ninterface Props {\r\n actionBtn?: React.ReactNode\r\n title?: React.ReactNode;\r\n className?: string\r\n renderActions?: () => React.ReactNode;\r\n children: React.ReactNode\r\n}\r\n\r\nexport function SectionContent({ actionBtn = null, title, renderActions = undefined, children, className=''} : Props) {\r\n return (\r\n
\r\n
\r\n {title &&\r\n

{title}

\r\n }\r\n {actionBtn}\r\n
\r\n
\r\n {children}\r\n {\r\n typeof renderActions === 'function' &&\r\n
{renderActions()}
\r\n }\r\n
\r\n
\r\n );\r\n}\r\n\r\n","import { constants } from '../../../constants/constants';\r\nimport IconSVG from '../../../styles/svg-icons';\r\nimport { ClassIndicators } from '../../../types/amr-pipeline/models/ClassIndicators';\r\nimport cn from 'classnames';\r\nimport { OnHoverTooltip } from '../../common';\r\nimport { Link } from 'react-router-dom';\r\nimport { ActionBlocker } from '../../access/ActionBlocker';\r\nimport { SubscriptionFeature } from '../../../types/billing/SubscriptionFeature';\r\nimport { Currency as TCurrency } from '../../../types/amr-pipeline/models/Currency';\r\n\r\ntype Props = {\r\n identifier?: string;\r\n identifiers?: ClassIndicators;\r\n text?: string;\r\n className?: string;\r\n disabled?: boolean;\r\n placeholderIfEmpty?: boolean;\r\n secondaryPlaceholderColor?: boolean;\r\n checkSubscription?: boolean;\r\n route: string;\r\n tooltipText: string;\r\n iconName: string;\r\n requiredFeatures: SubscriptionFeature[];\r\n currency?: TCurrency;\r\n};\r\n\r\nexport function SecurityBwicLink({\r\n identifiers,\r\n identifier,\r\n className,\r\n placeholderIfEmpty,\r\n secondaryPlaceholderColor,\r\n disabled = false,\r\n route,\r\n tooltipText,\r\n iconName,\r\n requiredFeatures,\r\n currency\r\n}: Props) {\r\n const identifierForLink = identifier ?? getIdentifier(identifiers);\r\n\r\n if (!identifierForLink) {\r\n return placeholderIfEmpty ? (\r\n \r\n {constants.emptyPlaceholder}\r\n \r\n ) : null;\r\n }\r\n\r\n if (disabled) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n function getIdentifier(identifiers?: ClassIndicators) {\r\n if (!identifiers) {\r\n return undefined;\r\n }\r\n\r\n return identifiers.ticker144A;\r\n }\r\n\r\n const renderBlockedView = () => (\r\n \r\n );\r\n\r\n const renderTooltip = () => (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n return (\r\n \r\n {blocked => (blocked ? renderBlockedView() : renderTooltip())}\r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\n\r\ninterface InlineAlertPanelProps {\r\n isWarning?: boolean,\r\n children: any,\r\n className: string\r\n}\r\n\r\nexport function InlineAlertPanel({ isWarning = false, children, className }: InlineAlertPanelProps) {\r\n return (\r\n

\r\n {isWarning && }\r\n {children}\r\n

\r\n );\r\n}\r\n","import { TransactionStatus } from \"../../../types/amr-pipeline/enums/TransactionStatus\";\r\nimport { OriginatingTransaction } from \"../../../types/amr-pipeline/models/OriginatingTransaction\";\r\nimport { Transaction } from \"../../../types/amr-pipeline/models/Transaction\";\r\nimport { OnHoverTooltip } from \"../../common/OnHoverTooltip\";\r\n\r\ninterface NewAmrDebutLabelProps {\r\n transaction: Transaction;\r\n ignoreDebut?: boolean;\r\n}\r\n\r\nconst labelClassName = \"state-new\";\r\n\r\nexport const NewDebutAmrLabel = ({ transaction, ignoreDebut }: NewAmrDebutLabelProps) => {\r\n const { isNew, status } = transaction;\r\n const { isDebut, amr } = transaction as OriginatingTransaction;\r\n\r\n const showClosedAmr = amr && status === TransactionStatus.Closed;\r\n const showDebut = isDebut && !ignoreDebut; \r\n\r\n if (isNew) {\r\n return
new
;\r\n }\r\n\r\n if (showDebut && showClosedAmr) {\r\n return (\r\n \r\n AMR(+1)\r\n \r\n );\r\n }\r\n\r\n if (showClosedAmr) {\r\n return (\r\n \r\n AMR\r\n \r\n );\r\n }\r\n\r\n if (showDebut) {\r\n return (\r\n \r\n debut\r\n \r\n );\r\n }\r\n\r\n return null;\r\n};\r\n","import { routes } from '../../../constants';\r\nimport { ClassIndicators } from '../../../types/amr-pipeline/models/ClassIndicators';\r\nimport { Currency } from '../../../types/amr-pipeline/models/Currency';\r\nimport { SubscriptionFeature } from '../../../types/billing/SubscriptionFeature';\r\nimport { SecurityBwicLink } from './SecurityBwicLink';\r\n\r\ntype Props = {\r\n identifier?: string;\r\n identifiers?: ClassIndicators;\r\n className?: string;\r\n disabled?: boolean;\r\n secondaryPlaceholderColor?: boolean;\r\n currency?: Currency;\r\n};\r\n\r\nexport function BwicMonitorLink({ identifiers, identifier, currency, className, secondaryPlaceholderColor }: Props) {\r\n return (\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { ImSubscriptionActionBlocker } from \"../subscription/ImSubscriptionActionBlocker\";\r\nimport { Preloader } from \"../../common\";\r\nimport IconSVG from \"../../../styles/svg-icons\";\r\n\r\ninterface Props {\r\n isExportLoad: boolean;\r\n handleExport: () => void;\r\n disabled?: boolean;\r\n}\r\n\r\nexport default function ExportButton({\r\n isExportLoad,\r\n handleExport,\r\n disabled = false,\r\n}: Props) {\r\n return (\r\n \r\n {(blocked) => (\r\n \r\n \r\n \r\n Export\r\n \r\n \r\n )}\r\n \r\n );\r\n}\r\n","export const constants = {\r\n notOffered: '(N.O.)',\r\n subject: '(Subj.)'\r\n}\r\n","import * as React from 'react';\r\nimport { constants } from '../../../constants/constants';\r\nimport { Pluralize } from '../../common';\r\n\r\n\r\ninterface NonAmrPeriodProps {\r\n period?: number,\r\n emptyValue?: string\r\n}\r\n\r\nexport function NonAmrPeriod({ period, emptyValue = constants.emptyPlaceholder }: NonAmrPeriodProps) {\r\n if (!period) {\r\n return <>{emptyValue};\r\n }\r\n\r\n return (\r\n <>\r\n );\r\n}\r\n","import { roles, routes } from '../../../constants';\r\nimport { OnHoverTooltip } from '../../common';\r\nimport IconSVG from '../../../styles/svg-icons';\r\nimport { FeatureLink } from '../../access/FeatureLink';\r\nimport { SubscriptionFeature } from '../../../types/billing/SubscriptionFeature';\r\nimport { RoleAndFeatureBlocker } from '../../access/RoleAndFeatureBlocker';\r\n\r\ninterface Props {\r\n dealReferenceName: string;\r\n dealLegalName: string;\r\n children?: React.ReactNode;\r\n iconVisible?: boolean;\r\n requiredFeatures?: SubscriptionFeature[];\r\n tooltip?: string;\r\n}\r\n\r\nexport function ImDealLookupLink({\r\n dealReferenceName,\r\n dealLegalName,\r\n tooltip = \"Related Transactions\",\r\n requiredFeatures = [SubscriptionFeature.IssuanceMonitorFullAccess],\r\n iconVisible = true,\r\n children }: Props) {\r\n return (\r\n \r\n {\r\n blocked =>\r\n \r\n \r\n {iconVisible && }\r\n <>{children}\r\n \r\n \r\n }\r\n \r\n );\r\n}","import { memo, useEffect, useRef, useState } from \"react\";\r\nimport cn from \"classnames\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { DragFileZone } from \"../../../common/DragFileZone\";\r\nimport { isEqual } from \"lodash\";\r\nimport { SelectFile } from \"../../../grid/SelectFile\";\r\nimport IconSVG from \"../../../../styles/svg-icons\";\r\nimport { errorActions } from \"../../../../actions\";\r\nimport { constants, errorMessages } from \"../../../../constants\";\r\nimport { AmrFile } from \"../../../../types/amr-pipeline/models/AmrFile\";\r\nimport { amrPipelineService } from \"../../../../services/amr-pipeline.service\";\r\n\r\ninterface UploadingProgress {\r\n [fileName: string]: number;\r\n}\r\n\r\nexport interface FilesUploaderChildProps {\r\n referenceName?: string;\r\n documents: AmrFile[];\r\n progress: UploadingProgress;\r\n handleDeleteFile: (\r\n documentReferenceName: string\r\n ) => (e: React.MouseEvent) => void;\r\n}\r\n\r\ninterface Props {\r\n referenceName?: string;\r\n documents: AmrFile[];\r\n maxFileSizeInMb?: number;\r\n onChange: (documents: AmrFile[]) => void;\r\n onUploading: (uploading: boolean) => void;\r\n children: (props: FilesUploaderChildProps) => React.ReactNode;\r\n}\r\n\r\nconst acceptedExtensions = [\r\n \"csv\",\r\n \"doc\",\r\n \"docx\",\r\n \"pdf\",\r\n \"ppt\",\r\n \"pptx\",\r\n \"xls\",\r\n \"xlsx\",\r\n];\r\n\r\nfunction DocumentListComponent({\r\n referenceName,\r\n documents,\r\n maxFileSizeInMb = constants.documentMaxFilesizeInMb,\r\n children,\r\n onChange,\r\n onUploading,\r\n}: Props) {\r\n const dispatch = useDispatch();\r\n const uploadedDocuments = useRef([]);\r\n const [dragEnter, setDragEnter] = useState(false);\r\n const [progress, setProgress] = useState({});\r\n\r\n const acceptedExtensionsList = acceptedExtensions\r\n .map((extension) => `.${extension}`)\r\n .join(\", \");\r\n\r\n const onUploadDocument = async (file: File) => {\r\n try {\r\n const response = await amrPipelineService.uploadDocument(\r\n file,\r\n (progressEvent: ProgressEvent) =>\r\n setProgress((progress) => ({\r\n ...progress,\r\n [file.name]: Math.floor(\r\n (progressEvent.loaded / progressEvent.total) * 100\r\n ),\r\n }))\r\n );\r\n\r\n return response[0];\r\n } catch (e) {\r\n dispatch(errorActions.unexpectedError(e));\r\n }\r\n };\r\n\r\n const uploadFiles = async (files: File[]) => {\r\n uploadedDocuments.current = files;\r\n const uploadedFiles = await Promise.all(\r\n files.map((f) => onUploadDocument(f))\r\n );\r\n\r\n onChange([...uploadedFiles, ...documents]);\r\n uploadedDocuments.current = [];\r\n };\r\n\r\n const isUploading = Object.values(progress).some(p => p < 100);\r\n\r\n useEffect(() => { \r\n onUploading(isUploading);\r\n }, [onUploading, isUploading]);\r\n\r\n const handleDrop = (files: FileList) => {\r\n if (!files) {\r\n return;\r\n }\r\n\r\n const filesToUpload = [...files].reduce((accum, file) => {\r\n const splitFile = file.name?.split(\".\");\r\n const fileExtension = splitFile[splitFile.length - 1];\r\n\r\n const isInvalidSize = file.size > 1024 * 1024 * maxFileSizeInMb;\r\n const isInvalidExtension =\r\n acceptedExtensions &&\r\n !acceptedExtensions.some(\r\n (ext) => ext.toLowerCase() === fileExtension.toLowerCase()\r\n );\r\n\r\n if (isInvalidSize) {\r\n dispatch(\r\n errorActions.error(\r\n \"\",\r\n errorMessages.documentMaxFileSizeMessageText(\r\n maxFileSizeInMb\r\n ),\r\n errorMessages.documentMaxFileSizeMessageTitle\r\n )\r\n );\r\n return accum;\r\n }\r\n if (isInvalidExtension) {\r\n dispatch(\r\n errorActions.error(\r\n \"\",\r\n errorMessages.documentInvalidFileTypeText(\r\n fileExtension,\r\n acceptedExtensions.map((ext) => `.${ext}`).join(\",\")\r\n ),\r\n errorMessages.documentInvalidFileTypeTitle\r\n )\r\n );\r\n return accum;\r\n }\r\n return [...accum, file];\r\n }, []);\r\n\r\n uploadFiles(filesToUpload);\r\n };\r\n\r\n const handleDeleteFile =\r\n (documentReferenceName: string) =>\r\n (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n let documentList = documents;\r\n\r\n if (!referenceName) {\r\n documentList = documents.filter(\r\n (document) =>\r\n document.referenceName !== documentReferenceName\r\n );\r\n } else {\r\n documentList = documents.reduce(\r\n (accum: AmrFile[], document) => {\r\n if (document.referenceName === documentReferenceName) {\r\n return document.uploadTime\r\n ? [...accum, { ...document, remove: true }]\r\n : accum;\r\n }\r\n\r\n return [...accum, { ...document }];\r\n },\r\n []\r\n );\r\n }\r\n\r\n onChange(documentList);\r\n };\r\n\r\n const getTableData = (): AmrFile[] => {\r\n const documentsToDisplay = [\r\n ...uploadedDocuments.current,\r\n ...documents,\r\n ] as AmrFile[];\r\n\r\n return documentsToDisplay.filter(({ remove }) => !remove);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n setDragEnter(true)}\r\n onDragLeave={() => setDragEnter(false)}\r\n className=\"component-file-upload\"\r\n >\r\n
\r\n {dragEnter ? (\r\n <>Uploading...\r\n ) : (\r\n <>\r\n \r\n
\r\n
\r\n Drag & Drop file here or \r\n \r\n
\r\n \r\n Format: {acceptedExtensionsList}{\" \"}\r\n (max{\" \"}\r\n {maxFileSizeInMb}\r\n MB)\r\n \r\n
\r\n \r\n )}\r\n
\r\n \r\n {children({\r\n referenceName,\r\n documents: getTableData(),\r\n progress,\r\n handleDeleteFile,\r\n })}\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport const FileUploader = memo(\r\n DocumentListComponent,\r\n (prevProps: Props, nextProps: Props) =>\r\n isEqual(prevProps.documents, nextProps.documents)\r\n);\r\n","import { OnHoverTooltip } from '../../common';\r\nimport IconSVG from '../../../styles/svg-icons';\r\nimport { createAmrPipelineActions } from '../../../actions';\r\nimport { PipelineType } from '../../../types/amr-pipeline/enums/PipelineType';\r\nimport { useAppDispatch } from '../../../effects/useAppDispatch';\r\n\r\ninterface Props {\r\n dealLegalName: string;\r\n dealReferenceName: string;\r\n disabled?: boolean;\r\n onClick?: () => void;\r\n}\r\n\r\nexport function FilterRelatedTransactionsIcon({\r\n dealLegalName,\r\n dealReferenceName,\r\n disabled = false,\r\n onClick,\r\n}: Props) {\r\n const dispatch = useAppDispatch();\r\n const amrPipelineActions = createAmrPipelineActions(PipelineType.Deals);\r\n\r\n return (\r\n \r\n {\r\n e.stopPropagation();\r\n onClick && onClick();\r\n dispatch(\r\n amrPipelineActions.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","import React from \"react\";\r\nimport { routes } from \"../../../constants/routes\";\r\nimport { OnHoverTooltip } from \"../../common/OnHoverTooltip\";\r\nimport { user } from \"../../../user\";\r\nimport { roles } from \"../../../constants\";\r\n\r\ninterface Props {\r\n referenceName: string;\r\n legalName: string;\r\n overlayText?: string;\r\n onClick?: () => void;\r\n}\r\n\r\nexport function BankLink({ referenceName, legalName, overlayText, onClick }: Props) {\r\n const isLinkAvailable = user.hasRoles(...roles.banksAccess());\r\n\r\n const handleClick = (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n\r\n if (onClick) {\r\n onClick();\r\n }\r\n\r\n window.open(\r\n window.location.origin + routes.manageBanksUrl(referenceName)\r\n );\r\n };\r\n\r\n return (\r\n \r\n {isLinkAvailable ? (\r\n \r\n {legalName}\r\n \r\n ) : (\r\n {legalName}\r\n )}\r\n \r\n );\r\n}\r\n","import classNames from 'classnames';\r\nimport React, { useRef, useState } from 'react';\r\nimport { useEffect } from 'react';\r\nimport { constants } from '../../../constants/';\r\nimport IconSVG from '../../../styles/svg-icons';\r\nimport { EmptyPlaceholder } from '../../common';\r\nimport { AutoCompleteSourceItem } from '../types/AutoCompleteInputSourceItem';\r\nimport Highlighter from './Highlighter';\r\n\r\ninterface Props {\r\n sourceItems: AutoCompleteSourceItem[];\r\n value: string;\r\n searchTermAcceptedLength?: number;\r\n required?: boolean;\r\n maxLength?: number;\r\n emptyMessage?: string;\r\n className?: string;\r\n placeholder?: string;\r\n disabled?: boolean;\r\n pattern?: string;\r\n keyboardControl?: boolean;\r\n showNoResultsPlaceholder?: boolean;\r\n expandOnFocus?: boolean;\r\n highlightResults?: boolean;\r\n listName?: string;\r\n onChange?: (value: string) => void;\r\n onBlur?: (e: React.FocusEvent) => void;\r\n onClear?: () => void;\r\n}\r\n\r\nexport const AutoCompleteInput = ({\r\n sourceItems,\r\n pattern,\r\n required = false,\r\n searchTermAcceptedLength = 0,\r\n maxLength = 256,\r\n className = 'form-control-search',\r\n value,\r\n highlightResults = false,\r\n placeholder = '',\r\n expandOnFocus = false,\r\n disabled = false,\r\n keyboardControl = true,\r\n showNoResultsPlaceholder = true,\r\n listName = 'Suggested searches',\r\n onChange,\r\n onBlur,\r\n onClear\r\n}: Props) => {\r\n const inputRef = useRef(null);\r\n const refScrollableContainer = useRef(null);\r\n const refActiveItem = useRef(null);\r\n const [expanded, setExpanded] = useState(false);\r\n const [index, setIndex] = useState(0);\r\n const [filteredItems, setFilteredItems] = useState(sourceItems);\r\n const [focusInput, setFocusInput] = useState(false);\r\n\r\n useEffect(() => {\r\n document.addEventListener('mousedown', handleClickOutside);\r\n return () => {\r\n document.removeEventListener('mousedown', handleClickOutside);\r\n };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [expanded]);\r\n\r\n useEffect(() => {\r\n if (refScrollableContainer.current && refActiveItem.current && filteredItems.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 }, [filteredItems, index]);\r\n\r\n useEffect(() => {\r\n if (value) setFilteredItems(getFilteredItems(value));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [sourceItems]);\r\n\r\n function handleInputChange(e: React.ChangeEvent) {\r\n const value = e.target.value;\r\n setIndex(0);\r\n setFilteredItems(getFilteredItems(value));\r\n setExpanded(true);\r\n document.addEventListener('mousedown', handleClickOutside);\r\n\r\n if (onChange) onChange(value);\r\n }\r\n\r\n function handleItemSelected(item: AutoCompleteSourceItem) {\r\n setIndex(0);\r\n inputRef.current && inputRef.current.focus();\r\n setExpanded(false);\r\n onChange && onChange(item.text);\r\n }\r\n\r\n function handleOnBlur(e: React.FocusEvent) {\r\n if (onBlur) onBlur(e);\r\n setFocusInput(false);\r\n }\r\n\r\n const handleOnFocus = () => {\r\n setFocusInput(true);\r\n\r\n if (expandOnFocus) {\r\n setFilteredItems(value ? getFilteredItems(value) : sourceItems);\r\n setExpanded(true);\r\n }\r\n };\r\n\r\n function getFilteredItems(value: string) {\r\n const valueLowerCase = value.trim().toLowerCase();\r\n\r\n return sourceItems.filter(i => i.text.toLowerCase().includes(valueLowerCase) || i.synonyms?.some(s => s.toLowerCase().includes(valueLowerCase)));\r\n }\r\n\r\n function handleKeyDown(e: React.KeyboardEvent) {\r\n if (!keyboardControl) {\r\n if (e.keyCode === 13) {\r\n // enter\r\n setExpanded(false);\r\n return;\r\n }\r\n }\r\n\r\n if (filteredItems.length) {\r\n if (e.keyCode === 13) {\r\n // enter\r\n handleItemSelected(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 function renderLookupItem(item: AutoCompleteSourceItem, i: number) {\r\n if (item.hidden) {\r\n return null;\r\n }\r\n\r\n return (\r\n (refActiveItem.current = index === i ? node : refActiveItem.current)}\r\n onClick={() => handleItemSelected(item)}\r\n >\r\n \r\n {highlightResults ? (\r\n \r\n ) : (\r\n item.text\r\n )}\r\n \r\n \r\n );\r\n }\r\n\r\n function handleClickOutside(e: globalThis.MouseEvent) {\r\n if (\r\n expanded &&\r\n refScrollableContainer.current &&\r\n !refScrollableContainer.current.contains(e.target as Element) &&\r\n inputRef.current &&\r\n inputRef.current !== e.target\r\n ) {\r\n setExpanded(false);\r\n }\r\n }\r\n\r\n function handleClear() {\r\n if (inputRef.current) {\r\n inputRef.current.focus();\r\n }\r\n setFilteredItems(sourceItems);\r\n onClear && onClear();\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n {!!value &&\r\n \r\n }\r\n {((value && value.length > searchTermAcceptedLength) || expandOnFocus) && expanded && (\r\n \r\n \r\n {filteredItems.length ? (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {filteredItems.map((i, index) => renderLookupItem(i, index))}\r\n \r\n ) : (\r\n showNoResultsPlaceholder && \r\n )}\r\n
{listName}
\r\n
\r\n )}\r\n \r\n );\r\n};\r\n","import { useEffect } from \"react\";\r\nimport { SearchInput, OnHoverTooltip } from \"../../common\";\r\nimport IconSVG from \"../../../styles/svg-icons\";\r\nimport { AutoCompleteInput } from \"./AutoCompleteInput\";\r\nimport { AutoCompleteSourceItem } from \"../types/AutoCompleteInputSourceItem\";\r\n\r\ninterface Props {\r\n searchTerm: string;\r\n placeholder?: string;\r\n collapsed: boolean;\r\n showCollapseButton?: boolean;\r\n suggestedList?: AutoCompleteSourceItem[];\r\n prevRoute?: string;\r\n onSearch: (searchTerm: string) => void;\r\n onCollapseClick?: (collapsed: boolean) => void;\r\n}\r\n\r\nexport const SelectionPanelSearch = ({\r\n searchTerm,\r\n suggestedList = [],\r\n placeholder = 'Search',\r\n collapsed,\r\n showCollapseButton = true,\r\n onSearch,\r\n onCollapseClick,\r\n}: Props) => {\r\n\r\n useEffect(() => {\r\n var customEvent = document.createEvent('Events');\r\n customEvent.initEvent('resize', true, true);\r\n window.dispatchEvent(customEvent);\r\n }, [collapsed]);\r\n\r\n return (\r\n
\r\n {suggestedList ? (\r\n onSearch('')}\r\n sourceItems={suggestedList}\r\n value={searchTerm}\r\n onChange={onSearch}\r\n placeholder={placeholder}\r\n />\r\n ) : (\r\n onSearch('')}\r\n onChange={onSearch}\r\n placeholder={placeholder}\r\n />\r\n )}\r\n
\r\n {showCollapseButton && onCollapseClick && (\r\n \r\n onCollapseClick(!collapsed)}\r\n >\r\n \r\n \r\n \r\n )}\r\n
\r\n
\r\n );\r\n};\r\n"],"names":["FormField","_ref","title","_ref$value","value","_ref$error","error","_ref$tooltip","tooltip","_ref$tooltipLabel","tooltipLabel","_ref$children","children","_ref$required","required","_ref$className","className","_ref$capitalize","capitalize","infoTooltip","renderTitle","_jsxs","concat","_jsx","OnHoverTooltip","overlay","IconSVG","name","width","height","renderDataItem","classNames","wrapperClass","AmrClassStatusLabel","status","statusText","amrTrancheStatuses","getStatusText","classStatus","toLowerCase","replace","renderRelatedTransIcon","isExpanded","arguments","length","undefined","disabled","renderDisabledButton","relatedColumns","columnKey","renderColumnHeaderContent","renderColumnContent","transaction","type","startCase","closingDate","moment","format","constants","dateFormat","emptyPlaceholder","map","c","ColumnBuilder","RelatedTransDropdown","dealLegalName","dealReferenceName","hasTransactions","_useState","useState","_useState2","_slicedToArray","expanded","setExpanded","_useDealTransactions","useDealTransactions","dealTransactions","requestState","sortedTrans","sort","a","b","compareDates","ClickOutside","onClick","Preloader","inProgress","isRequesting","small","Table","dataItems","_toConsumableArray","columns","onRowClick","transactionUrl","routes","transactionDetailUrl","referenceName","AMRPipeline","window","open","TransactionAlertsPopup","onClose","dispatch","useDispatch","userCompany","useSelector","state","issuanceMonitor","amrPipelineCommon","transactionReferenceName","transactionLegalName","legalNameOnDeal","withAnalyticsAlertsAccess","hasAnalyticsAlertsAccess","isUpdating","imUserConfig","isDeleting","transactionAlertConfig","analyticAlertConfig","summaryDailyAlertConfig","currentTransactionAlertConfig","useMemo","find","currentAnalyticAlertConfig","dealUpdatesAlertConfig","setDealUpdatesAlertConfig","_useState3","_useState4","setSummaryDailyAlertConfig","_useState5","_useState6","saving","setSaving","dealUpdatesOption","alertOption","AlertOption","Never","summaryDailyOption","selectedDealUpdatesOption","selectedSummaryDailyOption","isSaveDisabled","useEffect","renderAlertSection","groupNameIndentifier","alertOptions","selectedOption","onChange","description","alertOptionInfo","EmailPreferencesRadioGroup","requiredFeature","SubscriptionFeature","IssuanceMonitorTransactionsEmailAlerts","Popup","_Fragment","modalClass","PopupBody","_objectSpread","_defineProperty","Instant","Daily","alertOptionTooltipText","analyticAlertOptions","PopupFooter","configs","UserConfigType","transactionAlert","summaryDailyAlerts","imUserConfigActions","saveTransactionAlerts","TransactionAlertsButton","_transactionAlertConf","_analyticAlertConfig$","withLabel","hasIMFullAccess","user","hasFeatures","IssuanceMonitorFullAccess","isAlertOff","DocumentGroup","_ref$itemsCount","itemsCount","downloadAllFetch","downloadAllArgs","fileNameForSave","renderAdditionalButton","_React$useState","React","_React$useState2","collapsed","setCollapsed","_useDownloadDocument","useDownloadDocument","downloadRequest","requestArgs","handleDownload","isDownloading","cn","href","e","preventDefault","fullScreen","text","EmptySectionContent","TabContent","ManagerLink","legalName","isMedia","hasRoles","roles","Media","isLinkAvailable","Viewer","ArrangersClient","location","origin","manageCloManagerUrl","_ref$text","BwicInventoryLink","identifiers","identifier","currency","secondaryPlaceholderColor","SecurityBwicLink","iconName","tooltipText","placeholderIfEmpty","route","inventory","requiredFeatures","InventoryHistoricalData","TabBody","documentName","headerClassName","bodyClassName","document","isRemoved","handleClick","DownloadDocument","FileIcon","filename","sortingField","sortingType","SORTING_TYPE","string","downloadButton","_ref2","isLoading","uploadedDate","lastDate","executionDate","uploadTime","date","differenceLabel","_ref3","difference","FieldDifferenceLabel","documentDifference","DifferenceType","Removed","DocumentSection","withDeletedItems","items","_useDownloadDocumentL","useDownloadDocumentList","documents","amrPipelineService","getTransactionDocument","dealsService","getDealDocument","loadingState","loadHandler","_x","_onRowClick","apply","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","getDifference","abrupt","stop","derivedValue","createSecurityCustomArgs","item","itemDifference","isDocRemoved","createSecurityCustomClassName","AnalyticsFilter","data","tabDefinitions","dateOption","filters","_objectWithoutProperties","_excluded","isFilterChanged","isEqual","analyticDefaultFilters","tabTypes","x","selected","visible","FilterPanel","FilterSection","TreeSelect","options","users","withSearch","renderMeta","option","_option$meta","meta","views","FilterDateRange","buttonView","acceptableOptions","dateRangeFilterOptions","ThisWeek","LastWeek","ThisMonth","LastMonth","Custom","onSelectedDateChange","key","dateFrom","dateTo","onCustomDateChange","dateFilterOption","from","to","onClearAll","customDateRange","selectedFilterOption","disabledDays","after","Date","FilterSelect","tabs","onSelectAll","_filters$tabs","includes","onChangeItemSelection","filterOption","checked","prevValue","filter","FilterClear","isShown","isDisabled","AnalyticsWidget","feature","features","onFilterChange","isDataLoaded","ActionBlocker","requireAllFeatures","blocked","DashboardNoSelectedFilters","DetailedPageLink","history","useHistory","push","ShowMore","_ref$defaultExpanded","defaultExpanded","_ref$showMoreText","showMoreText","_ref$showLessText","showLessText","renderMore","renderLess","OverlayClassNameContent","transactionClass","originatingTransactionClassStatus","OriginatingTransactionClassStatus","NotOffered","mailColumns","amrFormatUtils","formatRating","balance","numericUtils","isNumber","moneyUtils","money","coupon","price","guidance","subscription","transactionClassStatusTitles","getAssetPar","collateralQualityTests","assetPar","cqt","CollateralQualityTestValue","AssetPar","target","GeneralInfo","_transaction$collater","_transaction$arranger","_transaction$currency","formatDateWithPeriod","transactionDate","yearsLeft","dateTimeUtils","yrsLeftToDateFrom","dealTicker","collateralManager","arranger","StatusLabel","transactionStatusTitles","collateralTypes","collateralType","code","dealBalance","pricingDate","nonCallPeriodEnd","reinvestmentPeriodEnd","statedMaturity","formatUtils","formatDecimal","was","warf","ds","MailPreview","loading","setLoading","classes","isOriginatingTransaction","TransactionType","amr","capitalStructureTransactionClasses","tc","tranche","floaterIndex","margin","capitalStructureClass","formatInventoryCoupon","style","whiteSpace","renderFooterRow","TotalBalance","Link","termsAndConditions","privacyPolicy","useRequestInviteClients","emailList","message","sending","setSending","onLoadSuccess","request","shareTransactionToClients","notificationActions","notificationAddInfo","t0","notificationAddErrorMessage","finish","useRequestTransactionDetails","transactionForPreview","updateTransactionForPreview","withGetTransaction","_transaction","collateralQualityTest","getTransaction","sent","getCollateralQualityTest","errorActions","criticalError","emailMaxCount","InviteClientsTransactionPopup","_ref$defaultEmailList","defaultEmailList","_ref$withGetTransacti","setTransactionForPreview","setCollateralQualityTests","setEmailList","_useState7","_useState8","textContent","setTextContent","_useState9","_useState10","_useState11","_useState12","handleClose","isLimitExceeded","isDataInvalid","some","validateEmail","StatusMessageSection","StatusMessageSectionType","Error","Info","EmailChipList","defaultItems","list","allowInvalid","withClearAll","placeholder","maxLength","FlexRow","ImTransactionDetailsLink","RoleActionBlocker","getAllRolesExclude","roleBlocked","overrideRequiredFeatures","FeatureLink","path","TransactionHistoryLink","_ref$target","_ref$overlayText","overlayText","_ref$label","label","_ref$disabled","version","transactionHistoryUrl","isNil","getAmrColumns","_ref17","PipelineColumn","dealName","pipelineColumnLabels","configKey","ColumnConfigKey","DealName","manager","company","CollateralManager","ClosingDate","NcEnd","bwicColumnsLabels","_ref4","nonCallPeriodEndYears","pipelineTooltipText","_ref5","_nonCallPeriodEndYear","PeriodPopover","toFixed","number","NcEndYrs","outOfNC","_ref6","columnText","formatBoolean","OutOfNc","RiEnd","_ref7","reinvestmentPeriodEndYears","_ref8","_reinvestmentPeriodEn","RiEndYrs","outOfRI","_ref9","OutOfRi","maturity","_ref10","finalMaturity","Maturity","vintage","_ref11","year","Vintage","trustee","_ref12","Trustee","amrDeal","_ref13","formatBooleanWithPlaceholder","boolean","AmrDeal","staticDeal","StaticDeal","euCompliance","_ref14","euRiskRetentionRequirements","euDisclosureRequirements","Popover","actionButton","renderMarkdownOrEmpty","EuCompliance","esg","_ref15","esgComment","MarkdownViewer","Esg","_ref16","formatCollateralType","CollateralType","_ref$secondary","secondary","loadingText","tooltipOverlay","stopPropagation","TabConfigMap","PipelineView","Class","imColumnsClassTab","Deal","imColumnsDealTab","CustomizeColumnsDialog","defaultTab","_useSelector","isLoadingDefault","columnsConfig","columnsDefaultConfig","activeTab","setActiveTab","transferOptionFromColumn","column","permanent","fixed","order","available","deriveTabStateFromConfig","userConfig","tab","_ref2$value","displayed","reduce","acc","tabState","setTabState","tabDefaultState","setTabDefaultState","prevState","getDefaultUserColumnsConfig","getUserConfig","selectedKeys","selectedColumns","index","TabList","TabItem","active","Transfer","leftColumnTitle","rightColumnTitle","onReset","rightActionDisabled","values","v","defaultValues","checkIsConfigDefault","updateUserConfig","Highlighter","highlightStyles","_ref$activeClassName","activeClassName","_ref$activeIndex","activeIndex","_ref$activeStyle","activeStyle","_ref$autoEscape","autoEscape","_ref$caseSensitive","caseSensitive","_ref$highlightClassNa","highlightClassName","_ref$highlightStyle","highlightStyle","_ref$highlightTag","highlightTag","_ref$sanitize","sanitize","searchWords","textToHighlight","_ref$unhighlightClass","unhighlightClassName","_ref$unhighlightStyle","unhighlightStyle","rest","chunks","findAll","HighlightTag","highlightIndex","highlightClassNames","createElement","chunk","substr","start","end","highlight","isActive","Object","assign","props","AddToPortfolioIcon","AddToPortfolioLink","wrapperClassName","_ref$checkSubscriptio","checkSubscription","withText","_ref$withEmptyPlaceho","withEmptyPlaceholder","isPopupVisible","setIsPopupVisible","isTooltipVisible","setIsTooltipVisible","selectedIdentifier","setSelectedIdentifier","rating","class","ticker144A","tickerRegS","tickerAccdInvCertif","portfolios","usePortfolios","identifierList","ticker","withButton","TransactionStatus","Closed","security","result","i","securities","s","handleVisibilityChange","isVisible","addToPortfolioActions","reset","renderTooltip","withAddedItem","Tooltip","overlayClassName","placement","TooltipPlacement","BottomRight","onVisibleChange","trigger","TooltipTriggerType","Click","ContextMenuItem","onMouseEnter","renderPopup","isinCusip","positionCurrency","position","securityId","size","Currency","USD","AddToPortfolioPopup","ImSubscriptionActionBlocker","FilterLink","renderContent","useAppDispatch","amrPipelineActions","createAmrPipelineActions","PipelineType","Deals","searchTransactionsActions","createSearchTransactionActions","filterActions","createFilterActions","redirectWithNoFilter","setRedirectFilters","pathname","init","FilterLinkIcon","classnames","SectionContent","_ref$actionBtn","actionBtn","_ref$renderActions","renderActions","identifierForLink","getIdentifier","rel","InlineAlertPanel","_ref$isWarning","isWarning","labelClassName","NewDebutAmrLabel","ignoreDebut","isNew","isDebut","showClosedAmr","showDebut","BwicMonitorLink","allBWICs","BwicMonitorHistoricalData","ExportButton","isExportLoad","handleExport","notOffered","subject","NonAmrPeriod","period","_ref$emptyValue","emptyValue","Pluralize","count","singular","ImDealLookupLink","_ref$requiredFeatures","_ref$iconVisible","iconVisible","RoleAndFeatureBlocker","requiredRoles","issuanceMonitorAccess","acceptedExtensions","DocumentListComponent","_ref$maxFileSizeInMb","maxFileSizeInMb","documentMaxFilesizeInMb","onUploading","uploadedDocuments","useRef","dragEnter","setDragEnter","progress","setProgress","acceptedExtensionsList","extension","join","onUploadDocument","file","response","uploadDocument","progressEvent","Math","floor","loaded","total","unexpectedError","uploadFiles","_callee2","files","uploadedFiles","_context2","current","Promise","all","f","_x2","isUploading","p","handleDrop","filesToUpload","accum","_file$name","splitFile","split","fileExtension","isInvalidSize","isInvalidExtension","ext","errorMessages","documentMaxFileSizeMessageText","documentMaxFileSizeMessageTitle","documentInvalidFileTypeText","documentInvalidFileTypeTitle","DragFileZone","onFiles","onDragEnter","onDragLeave","SelectFile","remove","handleDeleteFile","documentReferenceName","documentList","FileUploader","memo","prevProps","nextProps","FilterRelatedTransactionsIcon","changeDealSelectFromTable","BankLink","banksAccess","manageBanksUrl","AutoCompleteInput","sourceItems","pattern","_ref$searchTermAccept","searchTermAcceptedLength","_ref$maxLength","_ref$highlightResults","highlightResults","_ref$placeholder","_ref$expandOnFocus","expandOnFocus","_ref$keyboardControl","keyboardControl","_ref$showNoResultsPla","showNoResultsPlaceholder","_ref$listName","listName","onBlur","onClear","inputRef","refScrollableContainer","refActiveItem","setIndex","filteredItems","setFilteredItems","focusInput","setFocusInput","handleItemSelected","focus","addEventListener","handleClickOutside","removeEventListener","container","getBoundingClientRect","top","bottom","scrollIntoView","getFilteredItems","valueLowerCase","trim","_i$synonyms","synonyms","renderLookupItem","hidden","ref","node","contains","onKeyDown","keyCode","onFocus","nonWhitespace","source","autoComplete","EmptyPlaceholder","SelectionPanelSearch","searchTerm","_ref$suggestedList","suggestedList","_ref$showCollapseButt","showCollapseButton","onSearch","onCollapseClick","customEvent","createEvent","initEvent","dispatchEvent","SearchInput"],"sourceRoot":""}