{"version":3,"file":"static/js/main-c90dfd18.04b5b445.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/ImExportButton.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/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 { ImSubscriptionActionBlocker } from \"../subscription/ImSubscriptionActionBlocker\";\r\nimport ExportButton from \"../../common/ExportButton\";\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 ImExportButton({\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 );\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\nimport { isinCusip } from \"../../../types/security/Security\";\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 portfolioSecurity = 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 = !!portfolioSecurity;\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 ticker = portfolioSecurity?.ticker || selectedIdentifier?.ticker;\r\n if (!isPopupVisible || !ticker || ! tranche) {\r\n return null;\r\n }\r\n\r\n const isinCusipValue = portfolioSecurity?.isinCusip || isinCusip({\r\n isin: tranche.isin144A || tranche.isinRegS || tranche.isinAccdInvCertif,\r\n cusip: tranche.cusip144A || tranche.cusipRegS || tranche.cusipAccdInvCertif,\r\n currency: currency?.code ? (currency.code as Currency) : Currency.USD\r\n });\r\n\r\n const positionCurrency = portfolioSecurity?.currency || currency?.code;\r\n const position = {\r\n isinCusip: isinCusipValue,\r\n securityId: portfolioSecurity?.securityId,\r\n size: portfolioSecurity?.size || 0,\r\n ticker,\r\n currency: positionCurrency\r\n ? (positionCurrency as Currency)\r\n : Currency.USD,\r\n rating: (portfolioSecurity?.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","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","ImExportButton","isExportLoad","handleExport","_ref$disabled","ImSubscriptionActionBlocker","ExportButton","TransactionHistoryLink","_ref$target","_ref$overlayText","overlayText","_ref$label","label","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","portfolioSecurity","result","i","securities","s","handleVisibilityChange","isVisible","addToPortfolioActions","reset","renderTooltip","withAddedItem","Tooltip","overlayClassName","placement","TooltipPlacement","BottomRight","onVisibleChange","trigger","TooltipTriggerType","Click","ContextMenuItem","onMouseEnter","renderPopup","isinCusipValue","isinCusip","isin","isin144A","isinRegS","isinAccdInvCertif","cusip","cusip144A","cusipRegS","cusipAccdInvCertif","Currency","USD","positionCurrency","position","securityId","size","AddToPortfolioPopup","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","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":""}