{"version":3,"file":"static/js/main-43dd7041.db7dd098.js","mappings":"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","sources":["actions/amr-pipeline-detailed.actions.ts","actions/amr-arranger-pipeline.actions.ts","actions/amr-transaction-history.actions.ts","actions/account.actions.js","actions/bid-on-behalf-parse.actions.ts","actions/auto-feedback-settings-actions.ts","actions/bid-placement.actions.js","actions/asset-manager.actions.ts","actions/all.bwics.actions.js","actions/banks.actions.ts","actions/amr-pipeline-common.actions.ts","actions/bd-inventory.actions.ts","actions/amr-transaction-analytics.actions.ts","actions/active-inventory-security.actions.ts","actions/bidding.actions.js","actions/bid-confirmation.actions.ts","actions/add-to-portfolio.actions.ts","actions/bd-inventory-documents.actions.ts","actions/api-operation.actions.ts","actions/amr-pipeline.actions.ts","actions/bid-on-behalf.actions.ts","actions/address.actions.ts","actions/admin-inventory-edit.actions.ts"],"sourcesContent":["import { AnyAction, Dispatch } from \"redux\";\r\nimport moment from \"moment\";\r\nimport { saveAs } from \"file-saver\";\r\nimport { ThunkDispatch } from \"redux-thunk\";\r\nimport { amrPipelineService } from \"../services/amr-pipeline.service\";\r\nimport {\r\n amrPipelineDetailedActions as actionTypes,\r\n constants,\r\n SORT,\r\n gridColumns,\r\n roles,\r\n routes\r\n} from \"../constants\";\r\nimport { errorActions } from \"./error.actions\";\r\nimport { history } from \"../history\";\r\nimport { AppState } from \"../types/state/AppState\";\r\nimport { requestCancelationController } from \"../services/request-cancelation-controller\";\r\nimport { OriginatingTransaction } from \"../types/amr-pipeline/models/OriginatingTransaction\";\r\nimport { AmrTransaction } from \"../types/amr-pipeline/models/AmrTransaction\";\r\nimport { OriginatingTransactionDocument } from \"../types/amr-pipeline/models/OriginatingTransactionDocument\";\r\nimport { pushNotificationService } from \"../services\";\r\nimport { gridActions } from \"./grid.actions\";\r\nimport { GridColumn } from \"../types/state/GridState\";\r\nimport { ioiFloaterIndexes } from \"../types/amr-pipeline/enums/IoIFloaterIndex\";\r\nimport { OriginatingTransactionClass } from \"../types/amr-pipeline/models/OriginatingTransactionClass\";\r\nimport { OriginatingTransactionClassStatus, transactionClassStatusTitles } from \"../types/amr-pipeline/enums/OriginatingTransactionClassStatus\";\r\nimport { PipelineDetailedTabTypes } from \"../components/amrPipeline/types/PipelineDetailedTabTypes\";\r\nimport { getSearchedTransactionDocuments, hasInvitedClientsAccess, hasLimitedAccess, isIoIonDisabledClass, transactionHasArrangerProSubscription } from \"../utils/amr-pipeline.utils\";\r\nimport { logger } from '../logging/logger';\r\nimport { TransactionAccessTypeCollecting } from '../types/amr-pipeline/enums/TransactionAccessType';\r\nimport { user } from \"../user\";\r\nimport { SubscriptionFeature } from \"../types/billing/SubscriptionFeature\";\r\nimport { TransactionResponse } from \"../types/amr-pipeline/models/TransactionResponse\";\r\nimport { amrCompaniesService } from '../services/amr-companies.service';\r\n\r\nexport const amrPipelineDetailedActions = {\r\n init,\r\n loadTransactions,\r\n loadInitialTransaction,\r\n transactionsSearchTermChange,\r\n searchTermChange,\r\n documentsSearchTermChange,\r\n loadTransactionDetails,\r\n storeTransactionDetails,\r\n transactionDetailsRequesting,\r\n transactionsRequesting,\r\n exportPortfolio,\r\n editIOIs,\r\n submitIOIs,\r\n showGridIOIs,\r\n readIOIsByUser,\r\n setUnreadIOIsRead,\r\n exportIOIs,\r\n showInvestorPopup,\r\n hideInvestorPopup,\r\n reset,\r\n logTabAccess,\r\n};\r\n\r\ntype TDispatch = ThunkDispatch;\r\n\r\nfunction init(dealReferenceName: string, transactionReferenceName: string, token?: string) {\r\n return async (dispatch: TDispatch, getState: () => AppState) => {\r\n const isInvitedClient = user.hasSingleRole(roles.ArrangersClient);\r\n\r\n if (token) {\r\n try {\r\n if (isInvitedClient) {\r\n await amrPipelineService.updateArrangerClient(token);\r\n } else {\r\n await amrPipelineService.logAccessToSharedTransaction(dealReferenceName, transactionReferenceName, token);\r\n }\r\n } catch (e) {\r\n dispatch(errorActions.criticalError(e));\r\n }\r\n }\r\n\r\n Promise.all([\r\n dispatch(loadTransactions()),\r\n dispatch(loadInitialTransaction(dealReferenceName, transactionReferenceName)),\r\n ]);\r\n };\r\n}\r\n\r\nfunction loadTransactions(tab: PipelineDetailedTabTypes = PipelineDetailedTabTypes.all) {\r\n return async (dispatch: Dispatch, getState: () => AppState) => {\r\n const {\r\n amrPipeline: {\r\n deals: {\r\n dealSortBy,\r\n dealSortDirection,\r\n }\r\n },\r\n amrPipelineDetailed: {\r\n offset,\r\n searchTerm,\r\n isTransactionsRequesting,\r\n }\r\n } = getState().issuanceMonitor;\r\n\r\n const filterCriteria = {\r\n ...constants.defaultTransactionsSearchCriteria,\r\n searchTerm: searchTerm?.toLowerCase().trim(),\r\n hasIois: tab === PipelineDetailedTabTypes.ioi ? true : undefined,\r\n offset,\r\n };\r\n\r\n const searchCriteria = [\r\n {\r\n field: dealSortBy,\r\n ascending: dealSortDirection === SORT.ASC,\r\n },\r\n ...constants.defaultDealOrderCriteria,\r\n ];\r\n\r\n if (isTransactionsRequesting) {\r\n requestCancelationController.abort(history.location.pathname);\r\n dispatch(transactionsRequesting(false));\r\n }\r\n\r\n try {\r\n dispatch(transactionsRequesting(true));\r\n const transactions: TransactionResponse = await amrPipelineService.getTransactionsList(\r\n filterCriteria,\r\n searchCriteria\r\n );\r\n\r\n dispatch(storeTransactions(transactions, searchTerm));\r\n dispatch(transactionsRequesting(false));\r\n } catch (e) {\r\n dispatch(errorActions.criticalError(e));\r\n if (!errorActions.isRequestCancelationError(e)) {\r\n dispatch(transactionsRequesting(false));\r\n }\r\n }\r\n };\r\n}\r\n\r\nfunction loadInitialTransaction(\r\n dealReferenceName: string,\r\n transactionReferenceName: string\r\n) {\r\n return async (dispatch: Dispatch, getState: () => AppState) => {\r\n const {\r\n issuanceMonitor: {\r\n amrPipelineDetailed: {\r\n initialTransaction\r\n }\r\n }\r\n } = getState();\r\n\r\n if (initialTransaction?.referenceName !== transactionReferenceName) {\r\n dispatch(transactionsRequesting(true));\r\n try {\r\n const transaction = await amrPipelineService.getTransaction(\r\n dealReferenceName,\r\n transactionReferenceName\r\n );\r\n\r\n if (!transaction) {\r\n history.replace(routes.transactionLimitedAccess);\r\n return;\r\n }\r\n\r\n dispatch(storeInitialTransaction(transaction));\r\n } catch (e) {\r\n if ([404, 403].includes(e.status)) {\r\n history.replace(routes.AMRPipeline);\r\n } else {\r\n dispatch(errorActions.criticalError(e));\r\n }\r\n } finally {\r\n dispatch(transactionsRequesting(false));\r\n }\r\n }\r\n };\r\n}\r\n\r\nfunction transactionsSearchTermChange(tab: PipelineDetailedTabTypes) {\r\n return async (dispatch: TDispatch, getState: () => AppState) => {\r\n const { isTransactionDetailsRequesting } = getState().issuanceMonitor.amrPipelineDetailed;\r\n if (isTransactionDetailsRequesting) {\r\n requestCancelationController.abort(history.location.pathname);\r\n dispatch(transactionDetailsRequesting(false));\r\n }\r\n dispatch(resetTransactions());\r\n dispatch(loadTransactions(tab));\r\n };\r\n}\r\n\r\nfunction resetTransactions() {\r\n return {\r\n type: actionTypes.RESET_TRANSACTIONS,\r\n };\r\n}\r\n\r\nfunction documentsSearchTermChange(\r\n searchTerm: string,\r\n transactionReferenceName: string\r\n) {\r\n return async (dispatch: Dispatch, getState: () => AppState) => {\r\n const {\r\n issuanceMonitor: {\r\n amrPipelineDetailed: {\r\n loadedTransactionsWithDetails,\r\n initialTransaction,\r\n }\r\n }\r\n } = getState();\r\n\r\n if (loadedTransactionsWithDetails) {\r\n const selectedTransaction =\r\n loadedTransactionsWithDetails?.find(\r\n (t) => t.referenceName === transactionReferenceName\r\n ) || initialTransaction;\r\n\r\n if (selectedTransaction) {\r\n const {\r\n documents,\r\n } = selectedTransaction as OriginatingTransaction;\r\n const filteredDocuments = getSearchedTransactionDocuments(documents, searchTerm);\r\n dispatch(storeDocumentsSearchResults(filteredDocuments));\r\n }\r\n }\r\n };\r\n}\r\n\r\nfunction loadTransactionDetails(\r\n dealReferenceName: string,\r\n transactionReferenceName: string,\r\n loadIOIs: boolean\r\n) {\r\n return async (dispatch: Dispatch, getState: () => AppState) => {\r\n const {\r\n issuanceMonitor: {\r\n amrPipelineDetailed: {\r\n loadedTransactionsWithDetails,\r\n initialTransaction,\r\n },\r\n amrPipelineCommon: {\r\n userCompany,\r\n },\r\n },\r\n } = getState();\r\n\r\n const hasImSubscription = user.hasFeatures(SubscriptionFeature.IssuanceMonitorFullAccess);\r\n\r\n if (loadedTransactionsWithDetails.some(t => t.referenceName === transactionReferenceName)\r\n ) {\r\n return;\r\n }\r\n\r\n dispatch(transactionDetailsRequesting(true));\r\n\r\n try {\r\n const transaction = transactionReferenceName === initialTransaction?.referenceName\r\n ? initialTransaction\r\n : await amrPipelineService.getTransaction(\r\n dealReferenceName,\r\n transactionReferenceName\r\n );\r\n\r\n const limitedAccess = hasLimitedAccess(transaction, userCompany);\r\n const limitedClientsAccess = !hasInvitedClientsAccess(transaction, userCompany);\r\n const hasArrangerProSubscription = transactionHasArrangerProSubscription(transaction);\r\n const withoutImAndArrangerProSubscriptions = !hasImSubscription && !hasArrangerProSubscription;\r\n\r\n const isMedia = user.hasRoles(roles.Media);\r\n\r\n const portfolioPromise = limitedAccess || isMedia || withoutImAndArrangerProSubscriptions\r\n ? null\r\n : amrPipelineService.getPortfolio(\r\n dealReferenceName,\r\n transactionReferenceName\r\n );\r\n\r\n const documentsPromise = limitedAccess || isMedia || withoutImAndArrangerProSubscriptions\r\n ? null\r\n : amrPipelineService.getDocuments(\r\n dealReferenceName,\r\n transactionReferenceName\r\n );\r\n\r\n const collateralQualityTestsPromise = limitedAccess\r\n ? null\r\n : amrPipelineService.getCollateralQualityTest(\r\n dealReferenceName,\r\n transactionReferenceName\r\n );\r\n\r\n const syndicateContactsPromise = amrPipelineService.getSyndicateContacts(\r\n dealReferenceName,\r\n transactionReferenceName\r\n );\r\n\r\n const ioisPromise = limitedAccess || isMedia || !loadIOIs\r\n ? null\r\n : amrPipelineService.getIOIs(\r\n dealReferenceName,\r\n transactionReferenceName\r\n );\r\n\r\n const intexFilePromise = limitedAccess || isMedia || withoutImAndArrangerProSubscriptions\r\n ? null\r\n : amrPipelineService.getIntexFile(dealReferenceName, transactionReferenceName);\r\n\r\n const managerPresentationFilePromise = limitedAccess || isMedia\r\n ? null\r\n : amrPipelineService.getManagerPresentationFile(dealReferenceName, transactionReferenceName);\r\n\r\n const disclosureFilePromise = isMedia\r\n ? null\r\n : amrPipelineService.getDisclosureFile(dealReferenceName, transactionReferenceName);\r\n\r\n const invitedClientsPromise = limitedClientsAccess\r\n ? null\r\n : amrPipelineService.getSharedClients(dealReferenceName, transactionReferenceName);\r\n\r\n const [\r\n portfolio,\r\n documents,\r\n collateralQualityTests,\r\n syndicateContacts = [],\r\n iois,\r\n intexFile,\r\n managerPresentationFile,\r\n disclosureFile,\r\n invitedClients,\r\n ] = await Promise.all([\r\n portfolioPromise,\r\n documentsPromise,\r\n collateralQualityTestsPromise,\r\n syndicateContactsPromise,\r\n ioisPromise,\r\n intexFilePromise,\r\n managerPresentationFilePromise,\r\n disclosureFilePromise,\r\n invitedClientsPromise,\r\n ]);\r\n\r\n dispatch(\r\n storeTransactionDetails(transactionReferenceName, {\r\n ...transaction,\r\n intexFile,\r\n managerPresentationFile,\r\n disclosureFile,\r\n syndicateContacts,\r\n portfolio,\r\n documents,\r\n collateralQualityTests,\r\n invitedClients,\r\n isDetailsLoaded: true\r\n })\r\n );\r\n dispatch({ type: actionTypes.STORE_IOIS, transactionReferenceName, dataItems: iois });\r\n } catch (e) {\r\n dispatch(errorActions.criticalError(e));\r\n } finally {\r\n dispatch(transactionDetailsRequesting(false));\r\n }\r\n };\r\n}\r\n\r\nfunction exportPortfolio(dealReferenceName: string, transactionReferenceName: string, dealLegalName: string) {\r\n return () => {\r\n amrPipelineService\r\n .exportPortfolio(dealReferenceName, transactionReferenceName)\r\n .then((file: { blob: Blob; type: string }) =>\r\n saveAs(\r\n file.blob,\r\n `${dealLegalName} Target Portfolio ${moment().format(\r\n constants.dateFormat\r\n )}.csv`\r\n )\r\n );\r\n };\r\n}\r\n\r\nfunction exportIOIs(dealReferenceName: string, transactionReferenceName: string, excludeRemovedClass?: boolean) {\r\n return () => {\r\n amrPipelineService\r\n .exportIOIs(dealReferenceName, transactionReferenceName, excludeRemovedClass)\r\n .then((file: { blob: Blob; type: string }) =>\r\n saveAs(file.blob, `${dealReferenceName} IOIs ${moment().format(constants.dateFormat)}.xlsx`),\r\n );\r\n };\r\n}\r\n\r\nfunction showGridIOIs(transactionReferenceName: string) {\r\n return async (dispatch: TDispatch, getState: () => AppState) => {\r\n const {\r\n issuanceMonitor: {\r\n amrPipelineDetailed: {\r\n loadedTransactionsWithDetails,\r\n initialTransaction\r\n }\r\n }\r\n } = getState();\r\n\r\n const currentTransaction = (loadedTransactionsWithDetails?.find(t => t.referenceName === transactionReferenceName) as OriginatingTransaction) || initialTransaction;\r\n const dataItems = currentTransaction.iois.filter(ioi => !ioi.isDeleted && !isIoIonDisabledClass(ioi, currentTransaction.classes)) ?? [];\r\n\r\n const classReferenceNameColumn = {\r\n ...gridColumns.classReferenceName,\r\n selectSourceItemsCallback: () =>\r\n currentTransaction.classes?.map(c => ({\r\n key: c.referenceName,\r\n title:\r\n c.originatingTransactionClassStatus &&\r\n c.originatingTransactionClassStatus !==\r\n OriginatingTransactionClassStatus.Open\r\n ? `${c.name} (${\r\n transactionClassStatusTitles[\r\n c.originatingTransactionClassStatus\r\n ]\r\n })`\r\n : c.name,\r\n disabled:\r\n c.originatingTransactionClassStatus === OriginatingTransactionClassStatus.NotOffered ||\r\n c.originatingTransactionClassStatus === OriginatingTransactionClassStatus.Subject,\r\n })),\r\n updateDependencyColumnsCallback: (index: number) =>\r\n updateReadOnlyIOIColumns(index, transactionReferenceName),\r\n };\r\n\r\n const floaterIndexColumn: GridColumn = {\r\n ...gridColumns.ioiFloaterIndex,\r\n type: 'select',\r\n selectSourceItemsCallback: () => ioiFloaterIndexes\r\n };\r\n\r\n const columns = gridColumns.iois().map((c) => {\r\n if (c.name === gridColumns.classReferenceName.name) {\r\n return classReferenceNameColumn;\r\n }\r\n\r\n if (c.name === gridColumns.ioiFloaterIndex.name) {\r\n return floaterIndexColumn;\r\n }\r\n\r\n return c;\r\n }\r\n );\r\n\r\n dispatch(editIOIs(true));\r\n dispatch(gridActions.reset());\r\n dispatch(gridActions.init(dataItems, columns, 100, 25));\r\n };\r\n}\r\n\r\nfunction updateReadOnlyIOIColumns(\r\n gridItemIndex: number,\r\n transactionReferenceName: string\r\n) {\r\n return async (dispatch: TDispatch, getState: () => AppState) => {\r\n const {\r\n issuanceMonitor: {\r\n amrPipelineDetailed: {\r\n loadedTransactionsWithDetails,\r\n initialTransaction\r\n },\r\n },\r\n } = getState();\r\n\r\n const currentTransaction = loadedTransactionsWithDetails?.find(\r\n (t) => t.referenceName === transactionReferenceName\r\n ) as OriginatingTransaction || initialTransaction as OriginatingTransaction;\r\n\r\n const availableClassesForIOIs = currentTransaction.classes;\r\n\r\n const { dataItems } = getState().grid;\r\n const row = dataItems[gridItemIndex];\r\n\r\n if (availableClassesForIOIs) {\r\n const className = row.classReferenceName\r\n const selectedClass = availableClassesForIOIs.find(\r\n (f) => f.name === className\r\n );\r\n const propsShouldBeUpdated = [\r\n \"floaterIndex\",\r\n \"guidance\",\r\n \"subscription\",\r\n \"balance\",\r\n ];\r\n if (selectedClass) {\r\n propsShouldBeUpdated.forEach(\r\n (v) => (row[v] = selectedClass[v as keyof OriginatingTransactionClass])\r\n );\r\n dispatch(gridActions.deleteRow(gridItemIndex));\r\n row.ioiRatings = `${\r\n selectedClass.expectedRatingMoodys ||\r\n constants.emptyPlaceholder\r\n }/${\r\n selectedClass.expectedRatingSnP ||\r\n constants.emptyPlaceholder\r\n }/${\r\n selectedClass.expectedRatingFitch ||\r\n constants.emptyPlaceholder\r\n }/${\r\n selectedClass.expectedRatingKbra ||\r\n constants.emptyPlaceholder\r\n }/${\r\n selectedClass.expectedRatingDbrs ||\r\n constants.emptyPlaceholder\r\n }`;\r\n\r\n dispatch(gridActions.insertDataItems(row, gridItemIndex));\r\n }\r\n }\r\n };\r\n}\r\n\r\nfunction submitIOIs(dealReferenceName: string, transactionReferenceName: string, dealLegalName: string, activeTab?: PipelineDetailedTabTypes) {\r\n return async (dispatch: TDispatch, getState: () => AppState) => {\r\n dispatch(gridActions.validate());\r\n\r\n const grid = getState().grid;\r\n const isAnyIoI = grid.dataItems.some((i: {draft: boolean}) => !i.draft);\r\n\r\n if (grid.isValid || !isAnyIoI) {\r\n dispatch(ioisSubmitting(true));\r\n\r\n try {\r\n const ioisForSubmit = grid.dataItems.filter((item: { draft: boolean }) => !item.draft) ?? [];\r\n const notificationSubj =\r\n ioisForSubmit.length\r\n ? `IOIs have been submitted for ${dealLegalName}`\r\n : `All IOIs have been deleted for ${dealLegalName}`;\r\n const notificationBody = ioisForSubmit.length\r\n ? `Your IOIs for ${dealLegalName} have been submitted and can be accessed by arranger.`\r\n : `All of your IOIs for ${dealLegalName} have been deleted.`;\r\n\r\n await amrPipelineService.submitIOIs(dealReferenceName, transactionReferenceName, ioisForSubmit);\r\n\r\n pushNotificationService.sendNotification(\r\n \"SendNotification\",\r\n notificationSubj,\r\n notificationBody\r\n );\r\n\r\n const iois = await amrPipelineService.getIOIs(\r\n dealReferenceName,\r\n transactionReferenceName\r\n );\r\n\r\n if (activeTab === PipelineDetailedTabTypes.ioi) {\r\n dispatch(resetTransactions());\r\n dispatch(loadTransactions(activeTab));\r\n }\r\n\r\n dispatch({type: actionTypes.STORE_IOIS, transactionReferenceName, dataItems: iois});\r\n\r\n dispatch(editIOIs(false));\r\n } catch(e) {\r\n dispatch(errorActions.error(e));\r\n } finally {\r\n dispatch(ioisSubmitting(false));\r\n }\r\n }\r\n };\r\n}\r\n\r\nfunction showInvestorPopup(referenceName: string) {\r\n return async (dispatch: TDispatch) => {\r\n try {\r\n const [company, members] = await Promise.all([\r\n amrCompaniesService.getCompanyInfo(referenceName),\r\n amrCompaniesService.getMembersList(referenceName),\r\n ]);\r\n let companyWithMembers = { company, members };\r\n\r\n dispatch({\r\n type: actionTypes.SHOW_INVESTOR_POPUP,\r\n company: companyWithMembers,\r\n isPopupVisible: true,\r\n });\r\n } catch (e) {\r\n dispatch(errorActions.unexpectedError(e));\r\n }\r\n };\r\n}\r\n\r\nfunction hideInvestorPopup() {\r\n return {\r\n type: actionTypes.SHOW_INVESTOR_POPUP,\r\n isCompanyPopupVisible: false,\r\n };\r\n}\r\n\r\nfunction editIOIs(isEdit: boolean) {\r\n return {\r\n type: actionTypes.EDIT_IOIS,\r\n isEdit,\r\n };\r\n}\r\n\r\nfunction readIOIsByUser(dealReferenceName: string, transactionReferenceName: string, ioisReferenceNames: string[]) {\r\n return async (dispatch: Dispatch) => {\r\n try {\r\n await amrPipelineService.readIOIsByUser(dealReferenceName, transactionReferenceName, ioisReferenceNames);\r\n } catch (error) {\r\n dispatch(errorActions.criticalError(error));\r\n }\r\n };\r\n}\r\n\r\nfunction setUnreadIOIsRead(transactionReferenceName: string) {\r\n return {\r\n type: actionTypes.SET_UNREAD_IOIS_READ,\r\n transactionReferenceName,\r\n };\r\n}\r\n\r\n\r\nfunction searchTermChange(searchTerm: string) {\r\n return {\r\n type: actionTypes.SEARCH_TERM_CHANGE,\r\n searchTerm,\r\n };\r\n}\r\n\r\nfunction storeTransactions(\r\n transactions: TransactionResponse,\r\n searchTerm: string,\r\n tab?: PipelineDetailedTabTypes\r\n) {\r\n return {\r\n type: actionTypes.STORE_TRANSACTIONS,\r\n transactions,\r\n searchTerm,\r\n tab\r\n };\r\n}\r\n\r\nfunction storeInitialTransaction(\r\n transaction: AmrTransaction | OriginatingTransaction\r\n) {\r\n return {\r\n type: actionTypes.STORE_INITIAL_TRANSACTION,\r\n transaction,\r\n };\r\n}\r\n\r\nfunction storeTransactionDetails(\r\n transactionReferenceName: string,\r\n transaction: OriginatingTransaction | AmrTransaction\r\n) {\r\n return {\r\n type: actionTypes.STORE_TRANSACTION_DETAILS,\r\n transactionReferenceName,\r\n transaction,\r\n };\r\n}\r\n\r\nfunction storeDocumentsSearchResults(\r\n filteredDocuments: OriginatingTransactionDocument[]\r\n) {\r\n return {\r\n type: actionTypes.STORE_DOCUMENTS_SEARCH_RESULTS,\r\n filteredDocuments,\r\n };\r\n}\r\n\r\nfunction transactionsRequesting(isRequesting: boolean) {\r\n return {\r\n type: actionTypes.TRANSACTIONS_REQUESTING_STATE,\r\n isRequesting,\r\n };\r\n}\r\n\r\nfunction transactionDetailsRequesting(isRequesting: boolean) {\r\n return {\r\n type: actionTypes.TRANSACTION_DETAILS_REQUESTING_STATE,\r\n isRequesting,\r\n };\r\n}\r\n\r\nfunction ioisSubmitting(isSubmitting: boolean) {\r\n return {\r\n type: actionTypes.TRANSACTION_DETAILS_IOIS_SUBMITTING,\r\n isSubmitting,\r\n };\r\n}\r\n\r\nfunction reset() {\r\n return {\r\n type: actionTypes.RESET,\r\n };\r\n}\r\n\r\nfunction logTabAccess(dealReferenceName: string, transactionReferenceName: string, tabAccessType: TransactionAccessTypeCollecting) {\r\n return async () => {\r\n try {\r\n await amrPipelineService.logTabAccess(dealReferenceName, transactionReferenceName, tabAccessType);\r\n } catch (error) {\r\n logger.exception(error, 'Error tracking transaction tab access');\r\n }\r\n };\r\n}\r\n","import { ActionType, createAction } from 'typesafe-actions';\r\nimport { RequestState } from '../constants/request-state';\r\nimport { ArrangerPipeline } from '../types/amr-pipeline/models/ArrangerPipeline';\r\nimport { Deal } from '../types/amr-pipeline/models/Deal';\r\nimport { ArrangerPipelineStatistic } from '../types/amr-pipeline/models/ArrangerPipelineStatistic';\r\nimport { CollateralType } from '../types/amr-pipeline/enums/CollateralType';\r\n\r\nconst initFilter = createAction('amrArrangerPipeline/INIT_FILTER');\r\n\r\nconst applyFilterAndSearch = createAction('amrArrangerPipeline/APPLY_FILTER_AND_SEARCH');\r\n\r\nconst resetFilter = createAction('amrArrangerPipeline/RESET_FILTER');\r\n\r\nconst arrangerPipelinesRequest = createAction('amrArrangerPipeline/REQUEST');\r\n\r\nconst resetPipelines = createAction('amrArrangerPipeline/RESET_PIPELINES');\r\n\r\nconst dealsRequest = createAction(\r\n 'amrArrangerPipeline/DEALS_REQUEST',\r\n resolve => (searchTerm: string) => resolve({ searchTerm }),\r\n);\r\nconst dealsResponse = createAction(\r\n 'amrArrangerPipeline/DEALS_RESPONSE',\r\n resolve => (requestState: RequestState, deals?: Deal[]) => resolve({ requestState, deals }),\r\n);\r\n\r\nconst dealsSearchResponse = createAction(\r\n 'amrArrangerPipeline/DEALS_SEARCH_RESPONSE',\r\n resolve => (requestState: RequestState, arrangerPipelineDeals?: Partial[]) =>\r\n resolve({ requestState, arrangerPipelineDeals }),\r\n);\r\n\r\nconst selectDealsFromSearch = createAction(\r\n 'amrArrangerPipeline/SELECT_DEALS_FROM_SEARCH',\r\n resolve => (dealsLegalNames: string[]) => resolve({ dealsLegalNames }),\r\n);\r\n\r\nconst resetDeals = createAction('amrArrangerPipeline/RESET_DEALS');\r\n\r\nconst arrangerPipelinesResponse = createAction(\r\n 'amrArrangerPipeline/RESPONSE',\r\n resolve => (requestState: RequestState, arrangerPipelines?: ArrangerPipeline[], nonVisibleCount?: number) =>\r\n resolve({ requestState, arrangerPipelines, nonVisibleCount }),\r\n);\r\n\r\nconst submitArrangerPipeline = createAction('amrArrangerPipeline/CREATE');\r\nconst sortingChange = createAction(\r\n 'amrArrangerPipeline/SORTING_CHANGE',\r\n resolve => (sortBy: string, sortDirection: string) => resolve({ sortBy, sortDirection }),\r\n);\r\n\r\nconst edit = createAction('amrArrangerPipeline/EDIT');\r\n\r\nconst setEditLoadingStatus = createAction(\r\n 'amrArrangerPipeline/SET_EDIT_LOADING_STATUS',\r\n resolve => (isLoading: boolean) => resolve({ isLoading }),\r\n);\r\n\r\nconst submitArrangerPipelineStatus = createAction(\r\n 'amrArrangerPipeline/SUBMIT_STATUS',\r\n resolve => (isSubmitted: boolean) => resolve({ isSubmitted }),\r\n);\r\n\r\nconst changeDealReferenceName = createAction(\r\n 'amrArrangerPipeline/EDIT/CHANGE_DEAL_REFERENCE_NAME',\r\n resolve => (dealReferenceName: string | null) => resolve({ dealReferenceName }),\r\n);\r\n\r\nconst changeDealLegalName = createAction(\r\n 'amrArrangerPipeline/EDIT/CHANGE_DEAL_LEGAL_NAME',\r\n resolve => (dealLegalName: string | null) => resolve({ dealLegalName }),\r\n);\r\n\r\nconst updateFields = createAction(\r\n 'amrArrangerPipeline/EDIT/UPDATE_FIELDS',\r\n resolve => (collateralManagerReferenceName: string, collateralType: CollateralType) =>\r\n resolve({ collateralManagerReferenceName, collateralType }),\r\n);\r\n\r\nconst setAnyPipelineExists = createAction(\r\n 'amrArrangerPipeline/SET_ANY_PIPELINE_EXISTS',\r\n resolve => (anyPipelineExists: boolean) => resolve({ anyPipelineExists }),\r\n);\r\n\r\nconst checkIfArrangerPipelineExist = createAction('amrArrangerPipeline/CHECK_IF_ARRANGER_PIPELINE_EXIST');\r\n\r\nconst exportPipelines = createAction('amrArrangerPipeline/EXPORT');\r\n\r\nconst exportLoad = createAction(\r\n 'amrArrangerPipeline/EXPORT_LOAD',\r\n resolve => (isLoading: boolean) => resolve({ isLoading }),\r\n);\r\n\r\nconst reset = createAction('amrArrangerPipeline/RESET');\r\n\r\nconst arrangerPipelineStatisticRequest = createAction('amrArrangerPipeline/STATISTIC_REQUEST');\r\nconst arrangerPipelineStatisticResponse = createAction(\r\n 'amrArrangerPipeline/STATISTIC_RESPONSE',\r\n resolve => (summary: ArrangerPipelineStatistic) => resolve({ summary }),\r\n);\r\n\r\nconst deleteArrangerPipeline = createAction('amrArrangerPipeline/DELETE', resolve => (referenceName: string) => resolve({ referenceName }));\r\n\r\nexport type TArrangerPipelineActions = ActionType<\r\n | typeof applyFilterAndSearch\r\n | typeof resetFilter\r\n | typeof arrangerPipelinesRequest\r\n | typeof arrangerPipelinesResponse\r\n | typeof reset\r\n | typeof sortingChange\r\n | typeof resetPipelines\r\n | typeof submitArrangerPipeline\r\n | typeof exportPipelines\r\n | typeof dealsRequest\r\n | typeof dealsResponse\r\n | typeof resetDeals\r\n | typeof submitArrangerPipelineStatus\r\n | typeof exportLoad\r\n | typeof setAnyPipelineExists\r\n | typeof changeDealLegalName\r\n | typeof dealsSearchResponse\r\n | typeof selectDealsFromSearch\r\n | typeof edit\r\n | typeof setEditLoadingStatus\r\n | typeof arrangerPipelineStatisticRequest\r\n | typeof arrangerPipelineStatisticResponse\r\n | typeof deleteArrangerPipeline\r\n\r\n>;\r\n\r\nexport const amrArrangerPipelineActions = {\r\n reset,\r\n resetFilter,\r\n applyFilterAndSearch,\r\n arrangerPipelinesRequest,\r\n arrangerPipelinesResponse,\r\n submitArrangerPipeline,\r\n resetPipelines,\r\n sortingChange,\r\n initFilter,\r\n exportPipelines,\r\n edit,\r\n setEditLoadingStatus,\r\n dealsRequest,\r\n dealsResponse,\r\n resetDeals,\r\n submitArrangerPipelineStatus,\r\n changeDealReferenceName,\r\n changeDealLegalName,\r\n exportLoad,\r\n setAnyPipelineExists,\r\n dealsSearchResponse,\r\n selectDealsFromSearch,\r\n checkIfArrangerPipelineExist,\r\n arrangerPipelineStatisticRequest,\r\n arrangerPipelineStatisticResponse,\r\n updateFields,\r\n deleteArrangerPipeline,\r\n};\r\n","import { createAction } from 'typesafe-actions';\r\nimport { AutoCompleteSourceItem } from '../components/amrPipeline/types/AutoCompleteInputSourceItem';\r\nimport { RequestState } from '../constants/request-state';\r\nimport { Contact } from '../types/amr-pipeline/models/Contact';\r\nimport { PipelineHistoryItem } from '../types/state/PipelineHistoryState';\r\n\r\ninterface TransactionDetails {\r\n syndicateContacts: Contact[];\r\n}\r\n\r\nconst transactionHistoryRequest = createAction(\r\n 'amrPipelineTransactionHistory/REQUEST',\r\n resolve => (dealReferenceName: string, transactionReferenceName: string) => resolve({ dealReferenceName, transactionReferenceName })\r\n);\r\n\r\nconst transactionHistoryResponse = createAction(\r\n 'amrPipelineTransactionHistory/RESPONSE',\r\n resolve => (requestState: RequestState, transactionsHistory?: PipelineHistoryItem[], allHistoryClassesList?: AutoCompleteSourceItem[]) => resolve({ requestState, transactionsHistory, allHistoryClassesList })\r\n);\r\n\r\nconst loadTransactionDetais = createAction(\r\n 'amrPipelineTransactionHistory/loadTransactionDetais',\r\n resolve => (version: number, dealReferenceName: string, transactionReferenceName: string, companyReferenceName?: string) =>\r\n resolve({ version, dealReferenceName, transactionReferenceName, companyReferenceName })\r\n);\r\n\r\nconst storeTransactionDetais = createAction(\r\n 'amrPipelineTransactionHistory/storeTransactionDetais',\r\n resolve => (version: number, transactionDetails: TransactionDetails) =>\r\n resolve({ version, transactionDetails })\r\n);\r\n\r\nconst reset = createAction(\r\n 'amrPipelineTransactionHistory/RESET',\r\n resolve => () => resolve()\r\n);\r\n\r\nconst transactionFieldsUpdatedRequest = createAction(\r\n 'amrPipelineTransactionFieldsUpdated/REQUEST',\r\n resolve => (dealReferenceName: string, transactionReferenceName: string, classReferenceName?: string,) =>\r\n resolve({ dealReferenceName, transactionReferenceName, classReferenceName })\r\n);\r\n\r\nconst transactionFieldsUpdatedResponse = createAction(\r\n 'amrPipelineTransactionFieldsUpdated/RESPONSE',\r\n resolve => (\r\n requestState: RequestState,\r\n lastUpdatedFields?: {\r\n guidance?: Date;\r\n subscription?: Date;\r\n },\r\n ) => resolve({ requestState, lastUpdatedFields })\r\n);\r\n\r\nconst transactionFieldsUpdatedReset = createAction('amrPipelineTransactionFieldsUpdated/RESET');\r\n\r\nexport const amrTransactionHistoryActions = {\r\n transactionHistoryRequest,\r\n transactionHistoryResponse,\r\n loadTransactionDetais,\r\n storeTransactionDetais,\r\n reset,\r\n transactionFieldsUpdatedRequest,\r\n transactionFieldsUpdatedResponse,\r\n transactionFieldsUpdatedReset,\r\n};\r\n","import FingerprintJS from '@fingerprintjs/fingerprintjs'\r\nimport { accountActions as actionTypes, errorMessages, routes } from '../constants';\r\nimport {\r\n allBWICSActions,\r\n amrPipelineCommonActions,\r\n bwicHistoryActions,\r\n companiesActions,\r\n manageParsedBwicsActions,\r\n notificationActions,\r\n portfolioActions,\r\n profileActions\r\n} from '.';\r\nimport { accountService } from '../services';\r\nimport { jsonUtils, stringUtils } from '../utils';\r\nimport { verifyIdentityActions } from './verify.identity.actions';\r\nimport { logger } from '../logging/logger';\r\nimport { userProfilePhotoActions } from './user-profile-photo.actions';\r\nimport { salesRepresentativeActions } from './sales-representative.actions';\r\nimport { bidOnBehalfActions } from './bid-on-behalf.actions';\r\nimport { imUserConfigActions } from './im-user-config.actions';\r\nimport { resetLiveBiddingDataRequestState } from '../effects/data-accessors/useLiveBiddingData';\r\nimport { resetSettlementAgentAgreementsRequestState } from '../effects/useSettlementAgentAgreements';\r\nimport { history } from '../history';\r\n\r\nexport const accountActions = {\r\n login,\r\n loginSuccess,\r\n resetPassword,\r\n resetPasswordReset,\r\n setUpPassword,\r\n passwordValidationFailure,\r\n setUpPasswordInit,\r\n setUpPasswordReset,\r\n changePhoneNumber,\r\n changePhoneNumberReset,\r\n changePassword,\r\n changePasswordReset,\r\n resetStore,\r\n refreshAuthentication,\r\n getFingerprint\r\n};\r\n\r\nasync function getFingerprint() {\r\n try {\r\n const fpPromise = FingerprintJS.load()\r\n const fp = await fpPromise\r\n const result = await fp.get()\r\n const components = { ...result.components };\r\n\r\n delete components.audio;\r\n delete components.canvas;\r\n delete components.cookiesEnabled;\r\n delete components.touchSupport;\r\n delete components.fontPreferences;\r\n delete components.screenFrame;\r\n delete components.screenResolution;\r\n\r\n return FingerprintJS.hashComponents(components);\r\n } catch (e) {\r\n logger.exception(e, 'Login: Could not get client fingerprint');\r\n return ''\r\n }\r\n}\r\n\r\nfunction login(email, password, pathname = '/') {\r\n return async dispatch => {\r\n const fingerprint = await getFingerprint();\r\n\r\n dispatch(loading(true));\r\n\r\n accountService.login(email, password, fingerprint)\r\n .then(success)\r\n .catch(error => dispatch(failure(error)))\r\n .finally(() => dispatch(loading(false)));\r\n\r\n function success(response) {\r\n\r\n if (response.roles) {\r\n dispatch(loginSuccess(response, pathname));\r\n } else {\r\n const { smsAllowed, phoneText } = response;\r\n dispatch(verifyIdentityActions.verify(email, smsAllowed ? phoneText : undefined, pathname));\r\n }\r\n }\r\n };\r\n\r\n function failure(error) {\r\n return dispatch => {\r\n if (error.status === 400) {\r\n dispatch({ type: actionTypes.LOGIN_FAILURE, error: { errorMessage: errorMessages.signInFailed } });\r\n } else if (error.status !== 500) {\r\n dispatch(notificationActions.notificationAddErrorMessage(errorMessages.unexpectedError));\r\n } else {\r\n dispatch({ type: actionTypes.LOGIN_FAILURE, error: { errorMessage: errorMessages.unexpectedError } });\r\n }\r\n }\r\n\r\n }\r\n}\r\n\r\nfunction loginSuccess(user, pathname) {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.LOGIN_SUCCESS, user });\r\n dispatch(userProfilePhotoActions.fetchUserImage(user.id));\r\n dispatch(salesRepresentativeActions.loadUserSalesRepresentatives());\r\n dispatch(amrPipelineCommonActions.registerUser());\r\n\r\n history.replace(pathname || routes.root);\r\n };\r\n}\r\n\r\nfunction loading(isLoading) {\r\n return {\r\n type: actionTypes.LOGIN_LOADING,\r\n isLoading\r\n };\r\n}\r\n\r\nfunction resetPassword(email) {\r\n return dispatch => {\r\n accountService\r\n .resetPassword(email)\r\n .then(success, failure);\r\n\r\n function success() {\r\n history.replace(routes.forgotPasswordFinished, { isFinished: true });\r\n }\r\n\r\n function failure() {\r\n dispatch({\r\n type: actionTypes.RESET_PASSWORD_FAILURE,\r\n errorMessage: errorMessages.unexpectedError\r\n });\r\n }\r\n };\r\n}\r\n\r\nfunction resetPasswordReset() {\r\n return { type: actionTypes.RESET_PASSWORD_RESET };\r\n}\r\n\r\nfunction setUpPasswordInit(email, resetToken) {\r\n return dispatch => {\r\n if (stringUtils.isNullOrWhiteSpace(email) ||\r\n stringUtils.isNullOrWhiteSpace(resetToken)) {\r\n dispatch(setupPasswordLinkExpired());\r\n } else {\r\n dispatch(setuPasswordInitComplete(email, resetToken));\r\n }\r\n };\r\n}\r\n\r\nfunction setuPasswordInitComplete(email, resetToken) {\r\n return {\r\n type: actionTypes.SETUP_PASSWORD_INIT_COMPLETE,\r\n email,\r\n resetToken\r\n };\r\n}\r\n\r\nfunction setUpPassword(newPassword, confirmPassword) {\r\n return (dispatch, getState) => {\r\n const { email, resetToken } = getState().authentication;\r\n if (stringUtils.isNullOrWhiteSpace(email) ||\r\n stringUtils.isNullOrWhiteSpace(resetToken)) {\r\n return dispatch(setUpPasswordFailure({ errorMessage: errorMessages.setupPasswordLinkInvalid }));\r\n }\r\n\r\n const model = {\r\n email,\r\n resetToken,\r\n newPassword,\r\n confirmPassword\r\n };\r\n\r\n accountService\r\n .setUpPassword(model)\r\n .then(success, failure);\r\n\r\n function success(isLinkValid) {\r\n if (isLinkValid) {\r\n history.replace(routes.setPasswordFinished, { isFinished: true });\r\n } else {\r\n dispatch(setupPasswordLinkExpired());\r\n }\r\n }\r\n\r\n function failure(e) {\r\n if (e.message && e.message.length > 0) {\r\n const json = jsonUtils.tryParse(e.message);\r\n const errorMessage = json ? formatErrorsFromJson(json) : e.message;\r\n dispatch(setUpPasswordFailure({ errorMessage }));\r\n } else {\r\n dispatch(setUpPasswordFailure({ errorMessage: errorMessages.unexpectedError }));\r\n }\r\n }\r\n };\r\n}\r\n\r\nfunction setupPasswordLinkExpired() {\r\n return history.replace(routes.setPasswordExpired, { isExpired: true });\r\n}\r\n\r\nfunction passwordValidationFailure(errorMessage) {\r\n return dispatch => dispatch(setUpPasswordFailure({ errorMessage }));\r\n}\r\n\r\nfunction setUpPasswordFailure(error) {\r\n return {\r\n type: actionTypes.SETUP_PASSWORD_FAILURE,\r\n error\r\n };\r\n}\r\n\r\nfunction setUpPasswordReset() {\r\n return { type: actionTypes.SETUP_PASSWORD_RESET };\r\n}\r\n\r\nfunction changePhoneNumber(phone) {\r\n return (dispatch) => {\r\n accountService\r\n .changePhoneNumber(phone)\r\n .then(success, failure);\r\n\r\n function success() {\r\n dispatch(profileActions.savePhoneNumber(phone));\r\n dispatch(profileActions.toggleEditPhoneMode(false));\r\n }\r\n\r\n function failure(e) {\r\n if (e.status === 400) {\r\n const json = jsonUtils.tryParse(e.message);\r\n const errorMessage = json ? formatErrorsFromJson(json) : e.message;\r\n dispatch(profileActions.savePhoneNumberFailure(errorMessage));\r\n } else {\r\n dispatch(profileActions.savePhoneNumberFailure(errorMessages.unexpectedError));\r\n }\r\n }\r\n };\r\n}\r\n\r\nfunction changePhoneNumberReset() {\r\n return { type: actionTypes.CHANGE_PHONE_NUMBER_RESET };\r\n}\r\n\r\nfunction changePassword(currentPassword, newPassword, confirmPassword) {\r\n return async dispatch => {\r\n const deviceId = await getFingerprint();\r\n\r\n const model = {\r\n currentPassword,\r\n newPassword,\r\n confirmPassword,\r\n deviceId\r\n };\r\n\r\n accountService\r\n .changePassword(model)\r\n .then(success)\r\n .catch(failure);\r\n\r\n function success() {\r\n dispatch({ type: actionTypes.CHANGE_PASSWORD_SUCCESS });\r\n }\r\n\r\n function failure(e) {\r\n if (e.status === 400) {\r\n dispatch({\r\n type: actionTypes.CHANGE_PASSWORD_FAILURE,\r\n error: { errorMessage: errorMessages.wrongCurrentPassword }\r\n });\r\n } else {\r\n dispatch({\r\n type: actionTypes.CHANGE_PASSWORD_FAILURE,\r\n error: { errorMessage: errorMessages.unexpectedError }\r\n });\r\n }\r\n }\r\n };\r\n}\r\n\r\nfunction changePasswordReset() {\r\n return { type: actionTypes.CHANGE_PASSWORD_RESET };\r\n}\r\n\r\nfunction resetStore() {\r\n return dispatch => {\r\n sessionStorage.clear();\r\n dispatch(allBWICSActions.reset());\r\n dispatch(manageParsedBwicsActions.reset(true));\r\n dispatch(portfolioActions.reset(true));\r\n dispatch(companiesActions.reset());\r\n dispatch(profileActions.reset());\r\n dispatch(userProfilePhotoActions.reset());\r\n dispatch(bidOnBehalfActions.reset());\r\n dispatch(imUserConfigActions.reset());\r\n dispatch(bwicHistoryActions.reset());\r\n dispatch(amrPipelineCommonActions.reset());\r\n\r\n resetLiveBiddingDataRequestState();\r\n resetSettlementAgentAgreementsRequestState();\r\n };\r\n}\r\n\r\nfunction refreshAuthentication() {\r\n return { type: actionTypes.LOGIN_REFRESH_AUTHENTICATION };\r\n}\r\n\r\n\r\n//TO DO: Code refactoring required\r\nfunction formatErrorsFromJson(json) {\r\n const keys = Object.keys(json);\r\n\r\n return keys\r\n .map(k => json[k].join(' '))\r\n .join(' ');\r\n}\r\n","import { AnyAction } from \"redux\";\r\nimport { ThunkDispatch } from \"redux-thunk\";\r\nimport { entries, values } from \"lodash\";\r\nimport { history } from '../history';\r\nimport { AppState } from \"../types/state/AppState\";\r\nimport { GridColumn, GridDataItem, GridUploadStatus } from '../types/state/GridState';\r\nimport { errorActions } from './error.actions';\r\nimport { gridActions } from './grid.actions';\r\nimport { errorMessages, constants, createCompanyBobColumn } from '../constants';\r\nimport { bidOnBehalfService } from '../services/bid-on-behalf.service';\r\nimport { BidOnBehalfFileUploadResultItem } from \"../types/bid-on-behalf/BidOnBehalfFileUploadResultItem\";\r\nimport { arrayUtils } from \"../utils/array.utils\";\r\nimport { BidOnBehalfParseResultItem } from \"../types/state/BidOnBehalfState\";\r\nimport { apiUtils } from \"../utils/api.utils\";\r\nimport { notificationActions } from \"./notification.actions\";\r\nimport { dealerListPanelActions } from \"./dealer-list-panel.actions\";\r\nimport { bidOnBehalfActions } from \"./bid-on-behalf.actions\";\r\nimport { formatUtils } from \"../utils/format.utils\";\r\nimport { LocationStateBuilder } from \"../types/state/ui/LocationState\";\r\nimport { getSecuritiesWithLatestBids } from \"../selectors\";\r\nimport { BwicPosition } from \"../types/bwic/BwicPosition\";\r\nimport { Bid } from \"../types/bidding/Bid\";\r\nimport { bidOnBehalfUtils } from \"../utils\";\r\nimport { biddingUtils } from \"../utils\";\r\n\r\nexport const bidOnBehalfParseActions = {\r\n uploadFile,\r\n parseClipboard,\r\n addCompany,\r\n deleteItemsWithErrors,\r\n removeUnknownCompanyColumns,\r\n saveBids\r\n}\r\n\r\ntype TDispatch = ThunkDispatch;\r\n\r\nfunction uploadFile(file: File) {\r\n return (dispatch: TDispatch, getState: () => AppState) => {\r\n const { position, upload, mountedKey, headers, dataItems } = getState().grid;\r\n const { process } = getState().bidding.bwic;\r\n\r\n if (upload.status === GridUploadStatus.Uploading) return;\r\n\r\n const extension = (file.name.split('.').pop() || '').toLowerCase();\r\n\r\n if (extension !== 'csv' && extension !== 'xlsx') {\r\n return dispatch(errorActions.error(\r\n null,\r\n errorMessages.invalidFileType,\r\n 'Invalid file type.'\r\n ));\r\n\r\n } else if (file.size > constants.gridFileUploadMaximumSize * 1024 * 1024) {\r\n return dispatch(errorActions.error(\r\n null,\r\n errorMessages.fileSizeLimitExceeded(constants.gridFileUploadMaximumSize),\r\n 'The file is too big.'\r\n ));\r\n }\r\n\r\n if (position?.editing) {\r\n dispatch(gridActions.applyOrCancelEdit());\r\n }\r\n\r\n bidOnBehalfService\r\n .uploadFile(file, progress)\r\n .then(success)\r\n .catch(failure);\r\n\r\n dispatch(gridActions.setUploadState(GridUploadStatus.Uploading, 0, file.name));\r\n\r\n function success(fileUploadResult?: BidOnBehalfFileUploadResultItem[]) {\r\n const currentMountedKey = getState().grid.mountedKey;\r\n\r\n if (mountedKey === currentMountedKey && fileUploadResult && fileUploadResult?.length) {\r\n const { securities } = getState().sellerBidding;\r\n const acceptedTickers = apiUtils.normalize(securities, s => normalizeUppercase(s.ticker), s => s.trade != null);\r\n const result = fileUploadResult?.filter(x =>\r\n x.shortCode?.trim() && // Skip empty company short codes\r\n !acceptedTickers[normalizeUppercase(x.ticker)] // Skip traded positions\r\n ).map(x => {\r\n const level = x.level?.trim()\r\n return {\r\n level: level ? formatUtils.formatBid(Number(level), level) : '',\r\n shortCode: normalizeUppercase(x.shortCode),\r\n ticker: normalizeUppercase(x.ticker)\r\n }\r\n });\r\n\r\n if (!result?.length) {\r\n dispatch(\r\n notificationActions.notificationAddErrorMessageModal(\r\n \"The data was copied incorrectly and could not be parsed by the system. Please copy the data by selecting the Ticker and Broker-Dealer Shortcode columns.\",\r\n \"Incorrect copied data\")\r\n );\r\n dispatch(gridActions.setUploadState(GridUploadStatus.None));\r\n return;\r\n }\r\n\r\n const bidsByTicker: BidOnBehalfFileUploadResultItem[][] = [\r\n ...arrayUtils\r\n .groupBy(result, item => normalizeUppercase(item.ticker))\r\n .values()\r\n ];\r\n\r\n const acceptedCompanyShortCodes = apiUtils.normalize(\r\n getState().bidOnBehalf.companies,\r\n c => normalizeUppercase(c.code),\r\n () => true\r\n );\r\n const companyShortCodes = result.map(x => x.shortCode!);\r\n const newDataItems: BidOnBehalfParseResultItem[] = bidsByTicker.map(x => ({\r\n ticker: x[0].ticker,\r\n ...apiUtils.normalize(x, item => item.shortCode ?? '', item => item.level)\r\n }));\r\n\r\n dispatch(addDataItems(newDataItems, dataItems));\r\n dispatch(addColumns(\r\n companyShortCodes,\r\n headers,\r\n acceptedCompanyShortCodes,\r\n bidOnBehalfUtils.isBidDecreaseDisabled(process),\r\n getSecuritiesWithLatestBids({ securities })\r\n ));\r\n dispatch(gridActions.validate());\r\n setTimeout(() => dispatch(gridActions.setUploadState(GridUploadStatus.None)), 500);\r\n }\r\n }\r\n\r\n function failure(e: Error) {\r\n dispatch(gridActions.setUploadState(GridUploadStatus.None));\r\n const currentMountedKey = getState().grid.mountedKey;\r\n if (mountedKey === currentMountedKey) {\r\n dispatch(errorActions.unexpectedError(e));\r\n }\r\n }\r\n\r\n function progress(e: any) {\r\n const currentMountedKey = getState().grid.mountedKey;\r\n if (e.lengthComputable && mountedKey === currentMountedKey) {\r\n var percentComplete = (e.loaded / e.total) * 100;\r\n dispatch(gridActions.setUploadState(GridUploadStatus.Uploading, percentComplete, file.name));\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction parseClipboard(text: string) {\r\n return (dispatch: TDispatch, getState: () => AppState) => {\r\n const { mountedKey, headers, dataItems } = getState().grid;\r\n\r\n dispatch(gridActions.dataProcessing(true));\r\n\r\n bidOnBehalfService\r\n .parseClipboard(text)\r\n .then(success)\r\n .catch(failure)\r\n .finally(() => dispatch(gridActions.dataProcessing(false)));\r\n\r\n function success(parseResult: string[][]) {\r\n const currentMountedKey = getState().grid.mountedKey;\r\n if (mountedKey === currentMountedKey && parseResult?.length) {\r\n dispatch(applyClipboardParseResult(parseResult, headers, dataItems.filter(i => !i.draft)));\r\n dispatch(gridActions.validate());\r\n }\r\n }\r\n\r\n function failure(e: Error) {\r\n dispatch(gridActions.setUploadState(GridUploadStatus.None));\r\n const currentMountedKey = getState().grid.mountedKey;\r\n if (mountedKey === currentMountedKey) {\r\n dispatch(errorActions.unexpectedError(e));\r\n }\r\n }\r\n };\r\n}\r\n\r\nfunction validateDecreaseBid(bidDecreaseDisabled: boolean, securities: BwicPosition[], c: string) {\r\n return (editingBid: number, dataItem: GridDataItem) => {\r\n if (bidDecreaseDisabled) {\r\n const position = securities.find((s: BwicPosition) => s.ticker.localeCompare(dataItem.ticker as string, undefined, { sensitivity: 'accent' }) === 0);\r\n if (position) {\r\n const bid = position.bids?.find((b: Bid) => b.company.code.localeCompare(c, undefined, { sensitivity: 'accent' }) === 0);\r\n if (bid && Number(editingBid) < bid.value) {\r\n return errorMessages.valueCannotBeLess;\r\n }\r\n }\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nfunction addColumns(\r\n companyShortCodes: string[],\r\n existingColumns: GridColumn[],\r\n acceptedCompanes: { [companyCode: string]: boolean },\r\n bidDecreaseDisabled: boolean,\r\n securities: BwicPosition[]) {\r\n return (dispatch: TDispatch) => {\r\n const sanitized = companyShortCodes.filter(c => c?.trim()).map(c => c?.trim());\r\n const newShortCodeColumns: GridColumn[] = arrayUtils\r\n .distinct(sanitized, code => code)\r\n .filter(c => !existingColumns.some(ec => ec.name.localeCompare(c, undefined, { sensitivity: 'accent' }) === 0))\r\n .map(c =>\r\n createCompanyBobColumn(\r\n c.toUpperCase(),\r\n validateDecreaseBid(bidDecreaseDisabled, securities, c),\r\n acceptedCompanes[c] == null ? 'Company is not found' : undefined) as GridColumn\r\n );\r\n\r\n if (newShortCodeColumns.length) {\r\n const selectBdColumn = existingColumns[existingColumns.length - 1];\r\n const tickerAndShortCodeColumns = existingColumns.slice(0, -1);\r\n\r\n dispatch(gridActions.setColumns([...tickerAndShortCodeColumns, ...newShortCodeColumns, selectBdColumn]));\r\n }\r\n };\r\n}\r\n\r\nfunction addDataItems(dataItems: BidOnBehalfParseResultItem[], existingDataItems: BidOnBehalfParseResultItem[]) {\r\n return (dispatch: TDispatch) => {\r\n const isTickerEquals = (a?: string, b?: string) =>\r\n (a ?? '').trim().localeCompare((b ?? '').trim(), undefined, { sensitivity: 'accent' }) === 0;\r\n\r\n const newItems = dataItems\r\n .filter(i =>\r\n values(i).some(v => v) && ( // not empty\r\n !i.ticker?.trim() ||\r\n !existingDataItems.some(ei => isTickerEquals(ei.ticker, i.ticker))\r\n )\r\n );\r\n const updatedItems = existingDataItems\r\n .map(ei => {\r\n const sameTickerItem: BidOnBehalfParseResultItem | undefined = dataItems.find(i => i.ticker && isTickerEquals(i.ticker, ei.ticker));\r\n return sameTickerItem ? { ...ei, ...sameTickerItem } : ei;\r\n });\r\n const items = updatedItems.concat(newItems);\r\n\r\n dispatch(gridActions.clear());\r\n dispatch(gridActions.addDataItems(items));\r\n };\r\n}\r\n\r\nfunction normalizeUppercase(value?: string) {\r\n return value?.trim().toUpperCase() ?? '';\r\n}\r\n\r\nfunction applyClipboardParseResult(\r\n parseResult: string[][],\r\n columns: GridColumn[],\r\n dataItems: GridDataItem[]) {\r\n return (dispatch: TDispatch, getState: () => AppState) => {\r\n const { companies } = getState().bidOnBehalf;\r\n const { securities } = getState().sellerBidding;\r\n const { process } = getState().bidding.bwic;\r\n\r\n const acceptedCompanyShortCodes = apiUtils.normalize(companies, c => normalizeUppercase(c.code), () => true);\r\n\r\n if (!parseResult?.length || !companies?.length || !securities.length || !process) return;\r\n\r\n const hasCompanyCodes = parseResult[0]\r\n .filter(cc => cc)\r\n .some(cc => acceptedCompanyShortCodes[normalizeUppercase(cc)]);\r\n const acceptedTickers = apiUtils.normalize(securities, s => normalizeUppercase(s.ticker), s => s.trade != null);\r\n const hasTickers = parseResult.some(([ticker]) => acceptedTickers[normalizeUppercase(ticker)] != null);\r\n\r\n if (!hasCompanyCodes || !hasTickers) {\r\n return dispatch(\r\n notificationActions.notificationAddErrorMessageModal(\r\n \"The data was copied incorrectly and could not be parsed by the system. Please copy the data by selecting the Ticker and Broker-Dealer Shortcode columns.\",\r\n \"Incorrect copied data\")\r\n );\r\n }\r\n\r\n const [[, ...companyCodesRaw], ...dataRows] = parseResult.filter(row => row.some(x => x));\r\n const companyCodes = companyCodesRaw.map(c => c!.trim().toUpperCase());\r\n const parsedDataItems: BidOnBehalfParseResultItem[] =\r\n dataRows\r\n .map(([ticker, ...bids]) => ({\r\n ticker: normalizeUppercase(ticker),\r\n ...apiUtils.normalize(\r\n bids.filter((b, index) => companyCodes[index]?.trim()), // skip bid if company short code is not specified\r\n (_, index) => companyCodes[index],\r\n bid => acceptedTickers[normalizeUppercase(ticker)] || !bid?.trim() ? '' : formatUtils.formatBid(Number(bid?.trim()), bid?.trim())) // Skip bids if traded\r\n }));\r\n\r\n dispatch(addDataItems(parsedDataItems, dataItems));\r\n dispatch(addColumns(\r\n companyCodes,\r\n columns,\r\n acceptedCompanyShortCodes,\r\n bidOnBehalfUtils.isBidDecreaseDisabled(process),\r\n getSecuritiesWithLatestBids({ securities })\r\n ))\r\n };\r\n}\r\n\r\nfunction addCompany(companyCode: string) {\r\n return (dispatch: TDispatch, getState: () => AppState) => {\r\n const headers = getState().grid.headers;\r\n const { process } = getState().bidding.bwic;\r\n const { securities } = getState().sellerBidding;\r\n\r\n dispatch(gridActions.addColumn(\r\n createCompanyBobColumn(companyCode.toUpperCase(), validateDecreaseBid(bidOnBehalfUtils.isBidDecreaseDisabled(process), getSecuritiesWithLatestBids({ securities }), companyCode)),\r\n headers.length - 1));\r\n dispatch(gridActions.moveColumnData('selectBd', companyCode));\r\n dispatch(gridActions.validate());\r\n };\r\n}\r\n\r\nfunction deleteItemsWithErrors() {\r\n return (dispatch: TDispatch, getState: () => AppState) => {\r\n const dataItems: GridDataItem[] =\r\n getState().grid.dataItems.filter((x: GridDataItem) => !x.draft)\r\n\r\n const resetInvalidBids = (dataItem: GridDataItem): GridDataItem => {\r\n const columnsToReset = apiUtils.normalize(dataItem.errors ?? [], e => e.columnName, () => '');\r\n const clear = {\r\n ...dataItem,\r\n ...columnsToReset,\r\n };\r\n\r\n delete clear['errors'];\r\n return clear;\r\n }\r\n\r\n const withoutErrors = dataItems\r\n .filter(x => !x.errors?.some(e => e.columnName === 'ticker'))\r\n .map(x => x.errors?.length ? resetInvalidBids(x) : x)\r\n .map(x => ({ ...x, selectBd: undefined }))\r\n\r\n dispatch(gridActions.clear());\r\n if (withoutErrors.length) {\r\n dispatch(gridActions.addDataItems(withoutErrors))\r\n }\r\n };\r\n}\r\n\r\nfunction removeUnknownCompanyColumns() {\r\n return (dispatch: TDispatch, getState: () => AppState) => {\r\n const columns = getState().grid.headers;\r\n const companies = getState().bidOnBehalf.companies;\r\n\r\n const acceptedCompanyShortCodes = apiUtils.normalize(\r\n companies,\r\n c => c.code?.toUpperCase() ?? '',\r\n () => true\r\n );\r\n\r\n columns\r\n .filter(c => c.name !== 'ticker' && c.name !== 'selectBd' && !acceptedCompanyShortCodes[c.name?.trim()?.toUpperCase()])\r\n .forEach(c => dispatch(gridActions.removeColumn(c.name)));\r\n };\r\n}\r\n\r\nfunction saveBids() {\r\n return (dispatch: TDispatch, getState: () => AppState) => {\r\n dispatch(gridActions.validate());\r\n\r\n const isValid = getState().grid.isValid;\r\n if (!isValid) return;\r\n\r\n history.replace({\r\n ...history.location,\r\n state: new LocationStateBuilder().resetPopup().result()\r\n });\r\n\r\n\r\n const companies = getState().bidOnBehalf.companies;\r\n const positions = getState().sellerBidding.securities;\r\n\r\n getState().grid.dataItems\r\n .filter((i: GridDataItem) => !i.draft)\r\n .forEach((i: GridDataItem) =>\r\n entries(i)\r\n .forEach(([shortCode, bid]) => {\r\n const company = companies.find(c => c.code.localeCompare(shortCode, undefined, { sensitivity: 'accent' }) === 0);\r\n const position = positions.find(p => p.ticker.localeCompare(i.ticker!, undefined, { sensitivity: 'accent' }) === 0);\r\n const originalBid = position?.bids?.find(b => b.company.id === company?.id);\r\n\r\n if (company && position && bid && (!originalBid || originalBid.value !== Number(bid))) {\r\n if (getState().dealerListPanel.companyHiddenState[biddingUtils.getBidCompanyIdentifier({ company })]) {\r\n dispatch(dealerListPanelActions.toggleCompanyVisible(biddingUtils.getBidCompanyIdentifier({ company })));\r\n }\r\n\r\n dispatch(bidOnBehalfActions.editBid(position.id, company.id, formatUtils.formatBid(Number(bid)), true));\r\n }\r\n })\r\n );\r\n };\r\n}\r\n","import { AnyAction } from 'redux';\r\nimport { ThunkAction, ThunkDispatch } from 'redux-thunk';\r\nimport { autoFeedbackSettingsActions as actionTypes } from '../constants';\r\nimport { AutoFeedbackSettings } from '../types/models/AutoFeedbackSettings';\r\nimport { blastMessageService, bwicService } from '../services';\r\nimport { errorActions } from './error.actions';\r\nimport { controlPanelActions } from './control-panel.actions';\r\nimport { TradeStatus } from '../types/trades/TradeStatus';\r\nimport { getLatestStage1Bids, getSecuritiesWithLatestBids } from '../selectors';\r\nimport { biddingUtils, numericUtils } from '../utils';\r\nimport { BwicPosition } from '../types/bwic/BwicPosition';\r\nimport { Bid } from '../types/bidding/Bid';\r\nimport { feedbackTypes } from '../constants/bidding';\r\nimport { AppState } from '../types/state/AppState';\r\nimport { Bwic } from '../types/bwic/Bwic';\r\nimport { CompanySlim } from '../types/company/CompanySlim';\r\nimport { BlastMessage } from '../types/blast-message/BlastMessage';\r\nimport { BwicProcessType } from '../types/models/Process';\r\nimport { OpenBiddingStatus } from '../types/enums/OpenBiddingStatus';\r\nimport { BidLevel } from '../types/bidding/BidLevel';\r\nimport moment from 'moment';\r\nimport dateTimeUtils from '../utils/dateTime.utils';\r\nimport { calculateStage2Participants } from '../utils/stage2-participants-calculator';\r\nimport { BidRequestType } from '../types/bidding/BidRequest';\r\n\r\nexport const autoFeedbackSettingsActions = {\r\n showAutoFeedbackSettingsPanel,\r\n toggleAutoFeedbackSettingsPanel,\r\n toggleAutofeedback\r\n}\r\n\r\ntype TDispatch = ThunkDispatch;\r\ntype TAction = ThunkAction;\r\n\r\nfunction toggleAutofeedback() {\r\n return (dispatch: TDispatch, getState: () => any): void => {\r\n const { bwic } = getState().bidding;\r\n const settings: AutoFeedbackSettings = bwic.autoFeedbackConfiguration;\r\n\r\n const autoFeedbackSettings = {\r\n onPlatform: !settings.onPlatform,\r\n offPlatform: !settings.offPlatform\r\n };\r\n\r\n dispatch(saveAutoFeedbackSettings(bwic.referenceName, autoFeedbackSettings));\r\n };\r\n}\r\n\r\nfunction saveAutoFeedbackSettings(\r\n bwicReferenceName: string,\r\n settings: AutoFeedbackSettings\r\n): TAction {\r\n return (dispatch: TDispatch, getState: () => AppState): void => {\r\n const bwic: Bwic = getState().bidding.bwic;\r\n\r\n if (bwic) {\r\n dispatch(saving(true));\r\n\r\n bwicService\r\n .saveAutoFeedbackConfiguration(bwicReferenceName, settings)\r\n .then(saved)\r\n .catch(() => errorActions.unexpectedError())\r\n .finally(() => dispatch(saving(false)));\r\n }\r\n\r\n function saved() {\r\n dispatch(storeSettings(settings));\r\n\r\n const isTopXStage2 =\r\n bwic.process.type === BwicProcessType.TopX &&\r\n bwic.process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended;\r\n\r\n if (settings.onPlatform && settings.onPlatform) {\r\n\r\n const securities = getState().sellerBidding.securities\r\n .filter(s => s.trade == null || s.trade.status === TradeStatus.rejected);\r\n\r\n const blastMessage: BlastMessage = { companyMessages: [] };\r\n\r\n securities.forEach((s: BwicPosition) => {\r\n if (isTopXStage2) {\r\n addTopXStage2BlastMessageItems(blastMessage, s, bwic);\r\n } else {\r\n addBlastMessageItems(blastMessage, s, bwic.companies)\r\n }\r\n });\r\n\r\n let shouldSendBlastMessage = true;\r\n if (bwic.process.autoFeedbackDelay) {\r\n const autoFeedbackDelayMinutes = dateTimeUtils.parseTimeSpan(bwic.process.autoFeedbackDelay).totalMinutes;\r\n if (autoFeedbackDelayMinutes) {\r\n const bwicBidsDueDatePlusAutoFeedbackDelay = moment\r\n .utc(bwic.bidsDueUtc)\r\n .add(autoFeedbackDelayMinutes, 'minutes')\r\n shouldSendBlastMessage = moment().isSameOrAfter(bwicBidsDueDatePlusAutoFeedbackDelay);\r\n }\r\n }\r\n\r\n if (shouldSendBlastMessage && blastMessage.companyMessages.some(m => m.positionMessages.length > 0)) {\r\n dispatch(sendBlastMessage(bwic.referenceName, blastMessage));\r\n }\r\n }\r\n }\r\n };\r\n}\r\n\r\nfunction addTopXStage2BlastMessageItems(message: BlastMessage, security: BwicPosition, bwic: Bwic) {\r\n const [{ bids }] = getSecuritiesWithLatestBids({ securities: [security] }); // Take latest bids to build actual top rate\r\n const bidsByLevel = biddingUtils.groupBidsByLevel(bids);\r\n\r\n // Send feedack to Top [x] participaants\r\n bidsByLevel\r\n .slice(0, bwic.process.topX!.improverCount) // Take top x\r\n .forEach((group, index) => {\r\n const level = index as BidLevel;\r\n let feedback: number | undefined;\r\n switch (level) {\r\n case BidLevel.Best: feedback = group.length === 1 ? feedbackTypes.best : feedbackTypes.tiedForBest; break;\r\n case BidLevel.Cover: feedback = feedbackTypes.cover; break;\r\n case BidLevel.Third: feedback = feedbackTypes.third; break;\r\n case BidLevel.Fourth: feedback = feedbackTypes.fourth; break;\r\n case BidLevel.Fifth: feedback = feedbackTypes.fifth; break;\r\n default: feedback = undefined;\r\n }\r\n\r\n if (feedback != null) {\r\n group.forEach(b => addBlastMessageItem(message, security.id, b.company.id, b, feedback));\r\n }\r\n });\r\n\r\n // Send 'Not in top [x]' to participants who passed to stage 2 but out of top [x]\r\n const stage2Participants = calculateStage2Participants(getLatestStage1Bids(security.bids ?? []), bwic.process);\r\n bidsByLevel\r\n .slice(bwic.process.topX!.improverCount, bidsByLevel.length) // Out of top x\r\n .forEach(group =>\r\n group.forEach(b => {\r\n if (stage2Participants[biddingUtils.getBidCompanyIdentifier(b)]) {\r\n addBlastMessageItem(message, security.id, b.company.id, b, feedbackTypes.outOfTop3);\r\n }\r\n })\r\n )\r\n}\r\n\r\nfunction addBlastMessageItems(message: BlastMessage, security: BwicPosition, participants: CompanySlim[]) {\r\n const [{ bids }] = getSecuritiesWithLatestBids({ securities: [security] }); // Take latest bids\r\n const [best, cover, third, ...notInTop3] = biddingUtils.groupBidsByLevel(bids);\r\n const hasManyBestBids = best?.length > 1;\r\n\r\n (best || []).forEach(b => addBlastMessageItem(\r\n message,\r\n security.id,\r\n b.company.id,\r\n b,\r\n hasManyBestBids ? feedbackTypes.tiedForBest : feedbackTypes.best));\r\n\r\n cover && cover.forEach(b => addBlastMessageItem(message, security.id, b.company.id, b, feedbackTypes.cover));\r\n third && third.forEach(b => addBlastMessageItem(message, security.id, b.company.id, b, feedbackTypes.third));\r\n\r\n if (notInTop3 && notInTop3.length) {\r\n notInTop3.flat().forEach(b => addBlastMessageItem(message, security.id, b.company.id, b, feedbackTypes.outOfTop3));\r\n }\r\n\r\n // Send 'bid or pass' to participants without bids\r\n participants\r\n .filter(p => !security.bids?.some(b => biddingUtils.getBidCompanyIdentifier(b) === String(p.id)))\r\n .forEach(p => addBlastMessageItem(message, security.id, p.id, undefined, undefined, BidRequestType.BidOrPass));\r\n}\r\n\r\nfunction addBlastMessageItem(\r\n message: BlastMessage,\r\n positionId: number,\r\n brokerDealerCompanyId: number,\r\n bid?: Bid,\r\n feedbackType?: number,\r\n bidRequestType?: number) {\r\n let companyMessages = message.companyMessages.find(c =>\r\n c.brokerDealerCompanyId === brokerDealerCompanyId &&\r\n numericUtils.numberOrDefault(c.buyerPseudoOrderNumber) === numericUtils.numberOrDefault(bid?.buyerPseudoOrderNumber)\r\n );\r\n\r\n if (!companyMessages) {\r\n companyMessages = {\r\n brokerDealerCompanyId,\r\n buyerPseudoOrderNumber: bid?.buyerPseudoOrderNumber,\r\n positionMessages: []\r\n };\r\n\r\n message.companyMessages.push(companyMessages);\r\n }\r\n\r\n companyMessages.positionMessages.push({\r\n positionId,\r\n feedbackBidId: bid?.id,\r\n feedbackType,\r\n bidRequestType\r\n });\r\n}\r\n\r\nfunction sendBlastMessage(bwicReferenceName: string, message: BlastMessage) {\r\n return async (dispatch: TDispatch) => {\r\n dispatch(blastMessageSendingState(true));\r\n\r\n try {\r\n await blastMessageService.send(bwicReferenceName, message);\r\n } catch (e) {\r\n dispatch(errorActions.unexpectedError(e));\r\n } finally {\r\n dispatch(blastMessageSendingState(false));\r\n }\r\n }\r\n}\r\n\r\nfunction blastMessageSendingState(isSending: boolean) {\r\n return {\r\n type: actionTypes.AUTO_FEEDBACK_BLAST_MESSAGE_SENDING,\r\n isSending\r\n };\r\n}\r\n\r\nfunction saving(isSaving: boolean): AnyAction {\r\n return {\r\n type: actionTypes.AUTO_FEEDBACK_SETTINGS_SAVING,\r\n isSaving\r\n };\r\n}\r\n\r\nfunction storeSettings(settings: AutoFeedbackSettings): AnyAction {\r\n return {\r\n type: actionTypes.AUTO_FEEDBACK_SETTINGS_STORE,\r\n settings\r\n };\r\n}\r\n\r\nfunction toggleAutoFeedbackSettingsPanel(): TAction {\r\n return (dispatch: TDispatch, getState: () => any) => {\r\n const visible: boolean = getState().sellerBidding.autoFeedbackSettingsVisible;\r\n\r\n dispatch(showAutoFeedbackSettingsPanel(!visible));\r\n };\r\n}\r\n\r\nfunction showAutoFeedbackSettingsPanel(visible: boolean): TAction {\r\n return (dispatch: TDispatch, getState: () => AppState) => {\r\n if (visible) {\r\n dispatch(controlPanelActions.hide());\r\n }\r\n\r\n const { autoFeedbackSettingsVisible } = getState().sellerBidding;\r\n if (autoFeedbackSettingsVisible !== visible) {\r\n dispatch({\r\n type: actionTypes.AUTO_FEEDBACK_SETTINGS_PANEL_VISIBLE,\r\n visible\r\n });\r\n }\r\n };\r\n}\r\n","import { createAction } from 'typesafe-actions';\r\nimport { bidPlacementActions as actionTypes } from '../constants';\r\nimport { stringUtils, formatUtils, biddingUtils } from '../utils';\r\n\r\nconst setBidCanSubmit = createAction(actionTypes.SET_BID_CAN_SUBMIT, resolve => positionId => resolve({ positionId }));\r\nconst storeCanSubmitPositionFlag = createAction(actionTypes.BID_PLACEMENT_SET_BID_CAN_SUBMIT,\r\n resolve => (positionId, canSubmit) => resolve({ positionId, canSubmit })\r\n);\r\nconst revert = createAction(actionTypes.REVERT, resolve => positionId => resolve({ positionId }));\r\nconst revertAll = createAction(actionTypes.REVERT_ALL);\r\nconst commissionChangeAction = createAction(actionTypes.COMMISSION_CHANGE,\r\n resolve => (positionId, commission, error) => resolve({ positionId, commission, error })\r\n);\r\n\r\nexport const bidPlacementActions = {\r\n bidChange,\r\n axedChange,\r\n finalChange,\r\n passChange,\r\n revert,\r\n revertAll,\r\n validateSingle,\r\n validate,\r\n formatBid,\r\n setBidCanSubmit,\r\n storeCanSubmitPositionFlag,\r\n commissionChange\r\n}\r\n\r\nfunction bidChange(positionId, bid) {\r\n return (dispatch, getState) => {\r\n const editBid = getState().brokerDealerBidding.editBid[positionId];\r\n\r\n dispatch({\r\n type: actionTypes.BID_PLACEMENT_BID_CHANGE,\r\n positionId,\r\n bid\r\n });\r\n\r\n if (stringUtils.isNullOrWhiteSpace(bid)) {\r\n dispatch(setBidErrors([{ positionId, errors: {} }]));\r\n } else if (editBid && editBid.errors) {\r\n dispatch(validateSingle(positionId));\r\n }\r\n\r\n dispatch(setBidCanSubmit(positionId));\r\n };\r\n}\r\n\r\nfunction formatBid(positionId) {\r\n return (dispatch, getState) => {\r\n const position = getState().brokerDealerBidding.securities.find(s => s.id === positionId);\r\n const edit = getState().brokerDealerBidding.editBid[positionId];\r\n\r\n if (!position || !edit || edit.pass || edit.value == null) return;\r\n\r\n dispatch({\r\n type: actionTypes.BID_PLACEMENT_BID_CHANGE,\r\n positionId,\r\n bid: edit.value ? formatUtils.formatBid(edit.value) : undefined\r\n });\r\n\r\n dispatch(validateSingle(positionId));\r\n dispatch(setBidCanSubmit(positionId));\r\n };\r\n}\r\n\r\nfunction axedChange(positionId, axed) {\r\n return dispatch => {\r\n dispatch({\r\n type: actionTypes.BID_PLACEMENT_AXED_CHANGE,\r\n positionId,\r\n axed\r\n });\r\n\r\n dispatch(setBidCanSubmit(positionId));\r\n };\r\n}\r\n\r\nfunction finalChange(positionId, final) {\r\n return dispatch => {\r\n dispatch({\r\n type: actionTypes.BID_PLACEMENT_FINAL_CHANGE,\r\n positionId,\r\n final\r\n });\r\n\r\n dispatch(setBidCanSubmit(positionId));\r\n };\r\n}\r\n\r\nfunction passChange(positionId, pass) {\r\n return dispatch => {\r\n dispatch({\r\n type: actionTypes.BID_PLACEMENT_PASS_CHANGE,\r\n positionId,\r\n pass\r\n });\r\n\r\n dispatch(setBidCanSubmit(positionId));\r\n };\r\n}\r\n\r\nfunction validateSingle(positionId) {\r\n return (dispatch, getState) => {\r\n const { securities, editBid } = getState().brokerDealerBidding;\r\n const { process } = getState().bidding.bwic;\r\n const position = securities.find(s => s.id === positionId);\r\n\r\n if (position != null) {\r\n const currentBid = biddingUtils.getCurrentBid(position.bids);\r\n const errors = biddingUtils.validateBid(\r\n currentBid,\r\n editBid[positionId],\r\n process,\r\n position.openBiddingStage2Level\r\n );\r\n dispatch(setBidErrors([{ positionId, errors }]));\r\n }\r\n };\r\n}\r\n\r\nfunction validate() {\r\n return (dispatch, getState) => {\r\n const { securities, editBid } = getState().brokerDealerBidding;\r\n const { process } = getState().bidding.bwic;\r\n\r\n const validationResult = securities\r\n .filter(s => editBid[s.id] && editBid[s.id].canSubmit)\r\n .map(s => {\r\n const currentBid = biddingUtils.getCurrentBid(s.bids);\r\n const errors = biddingUtils.validateBid(\r\n currentBid,\r\n editBid[s.id],\r\n process,\r\n s.openBiddingStage2Level\r\n );\r\n\r\n return {\r\n positionId: s.id,\r\n errors\r\n };\r\n });\r\n\r\n dispatch(setBidErrors(validationResult));\r\n };\r\n}\r\n\r\nfunction setBidErrors(errors) {\r\n return {\r\n type: actionTypes.BID_PLACEMENT_SET_BID_ERRORS,\r\n errors\r\n };\r\n}\r\n\r\nfunction commissionChange(positionId, commission, error){\r\n return dispatch => {\r\n dispatch(commissionChangeAction(positionId, commission, error));\r\n dispatch(setBidCanSubmit(positionId));\r\n }\r\n}","import { ActionType, createAction } from \"typesafe-actions\";\r\nimport { RequestState } from \"../constants/request-state\";\r\nimport { CompanySlim } from \"../types/company/CompanySlim\";\r\n\r\nconst request = createAction('entities/asset-manager/REQUEST');\r\nconst requestResult = createAction('entities/asset-manager/REQUEST_RESULT',\r\n resolve => (requestState: RequestState, companies: CompanySlim[] = []) =>\r\n resolve({ requestState, companies })\r\n);\r\n\r\nexport type TAssetManagerActionType =\r\n ActionType<\r\n typeof request |\r\n typeof requestResult\r\n >;\r\n\r\nexport const assetManagerActions = {\r\n request,\r\n requestResult\r\n}\r\n","import moment from \"moment\";\r\nimport { saveAs } from 'file-saver';\r\nimport { isNil, noop } from \"lodash\";\r\nimport { allBWICSActions as actionTypes } from '../constants';\r\nimport { bwicService } from '../services';\r\nimport { errorActions, searchSecuritiesActions } from '.';\r\nimport { queryStringSerializer } from '../utils/filtering';\r\nimport {\r\n identifiers, ratings, statuses, multipleCurrencies, dateFrom, dateTo, types, sizeFrom, sizeTo, collateralTypes,\r\n esg, euCompliance, staticDeals, reinvestmentEndFrom, reinvestmentEndTo, nonCallEndFrom, nonCallEndTo,\r\n collateralManagers, mixedDateRange, trustees, amr, outOfNC, outOfRI, sorting, color, colorFrom, colorTo,\r\n} from '../utils/filtering/serializers/serializer.definitions';\r\nimport { controlPanelActions } from './control-panel.actions';\r\nimport { isRequestCancelationError } from './error.actions';\r\nimport { AllBwicsTab } from '../components/allBWICS/AllBwicsTab';\r\nimport { BwicFilterType } from '../types/filters/FilterState';\r\nimport { createFilterActions } from './filter.actions';\r\nimport { isRequesting, numericUtils } from '../utils';\r\nimport { dateRangeFilterOptions } from '../constants/date-range.filter';\r\nimport { convertToApiCriteria, getDateOptionByRange, getYearsRange } from '../utils/filtering/filter.utils';\r\nimport { selectedDateOptions } from '../utils/amr-pipeline-filter.utils';\r\nimport { PageConfigType } from \"../types/page-config/PageConfigType\";\r\nimport { user } from \"../user\";\r\nimport { SubscriptionFeature } from \"../types/billing/SubscriptionFeature\";\r\nimport { DeserializeCommandHandler } from \"../utils/filtering/serializers/DeserializeCommand\";\r\nimport { bwicMonitorFilters } from \"../types/state/AllBwicsState\";\r\nimport { RequestState } from \"../constants/request-state\";\r\nimport { history } from \"../history\";\r\nimport { ColorFilterType } from \"../types/bwic/Color\";\r\n\r\nexport const allBWICSActions = {\r\n init,\r\n reset,\r\n searchBwics,\r\n setMyBWICsFlag,\r\n setActiveBwic,\r\n setBwicCollapsed,\r\n setCollapseAll,\r\n exportBwics,\r\n loadNextPage,\r\n liveBiddingStage2Expired,\r\n addPositionBids,\r\n sortChanged,\r\n advancedFilterBlocked\r\n};\r\n\r\nfunction init(myBwicsOnly, isAllToAll, filterQueryString, bwicMonitorTab) {\r\n return dispatch => {\r\n dispatch(setMyBWICsFlag(myBwicsOnly));\r\n dispatch(setAllToAllBwicsFlag(isAllToAll));\r\n dispatch(setDefaultFilter(filterQueryString, bwicMonitorTab));\r\n dispatch(searchBwics(bwicMonitorTab, true));\r\n };\r\n}\r\n\r\nfunction getFilterState(state, bwicMonitorTab) {\r\n switch (bwicMonitorTab) {\r\n case AllBwicsTab.Buy:\r\n return state.bwicMonitorBuy;\r\n case AllBwicsTab.Sell:\r\n return state.bwicMonitorSell;\r\n default:\r\n return state.bwicMonitor\r\n }\r\n}\r\n\r\nfunction getFilterType(bwicMonitorTab) {\r\n switch (bwicMonitorTab) {\r\n case AllBwicsTab.Buy:\r\n return BwicFilterType.BwicMonitorBuy;\r\n case AllBwicsTab.Sell:\r\n return BwicFilterType.BwicMonitorSell;\r\n default:\r\n return BwicFilterType.BwicMonitor\r\n }\r\n}\r\n\r\nfunction setDefaultFilter(filterQueryString, bwicMonitorTab) {\r\n return (dispatch, getState) => {\r\n const queryString = filterQueryString && filterQueryString.trim();\r\n const filterType = getFilterType(bwicMonitorTab);\r\n const filterActions = createFilterActions(filterType);\r\n dispatch(filterActions.resetFilter());\r\n dispatch(filterActions.resetFiltersVisibility());\r\n let defaultConfigFilter;\r\n\r\n dispatch(advancedFilterBlocked(false)); // reset blocked state\r\n\r\n const canUseSavedFilters = user.hasFeatures(SubscriptionFeature.BwicMonitorSavedFilters);\r\n\r\n if (filterType === BwicFilterType.BwicMonitor && canUseSavedFilters) {\r\n const filters = getState().entities.pageConfig.configs?.[PageConfigType.BwicMonitorAll]?.filters;\r\n defaultConfigFilter = filters?.find(filter => filter.default)\r\n }\r\n\r\n const filterState = getFilterState(getState().filters, bwicMonitorTab);\r\n // Call init after all dynamic filters (managers, broker-dealers) have already been loaded.\r\n const filterToInit = filterState.initialFilter ? filterState.initialFilter : filterState.filter;\r\n\r\n dispatch(filterActions.init({\r\n ...filterToInit,\r\n date: bwicMonitorTab === AllBwicsTab.All\r\n ? bwicMonitorFilters.defaultFilters().date\r\n : filterToInit.date\r\n }))\r\n\r\n const canUseHistoricalData = user.hasFeatures(SubscriptionFeature.BwicMonitorHistoricalData);\r\n\r\n if (queryString?.length) {\r\n let from, to, sizeMin, sizeMax, maturityFrom, maturityTo, vintageFrom, vintageTo, closingFrom, closingTo,\r\n trusteesValues, amrValue, ratingsValues, statusValues, currencyValues, collateralTypeValues,\r\n managerValues, euComplianceValue, esgValue, staticDealValue, sortBy, colors, colorRangeFrom, colorRangeTo;\r\n\r\n const collateralManagerReferenceNames = getState()\r\n .entities\r\n .collateralManagers\r\n .items\r\n .map(x => x.referenceName);\r\n\r\n dispatch(filterActions.resetFilter());\r\n\r\n function applyRadio(flag, key) {\r\n if (flag && key) {\r\n dispatch(filterActions.filterVisibilityChange(key));\r\n dispatch(filterActions.filterRadioChange(true, key));\r\n }\r\n }\r\n\r\n const [ncEndSerializers, getNcEndDeserializeResult] = mixedDateRange('nonCallEndFrom', 'nonCallEndTo');\r\n const [riEndSerializers, getRiEndDeserializeResult] = mixedDateRange('reinvestmentEndFrom', 'reinvestmentEndTo');\r\n\r\n const identifieList = [];\r\n\r\n const serializers = [\r\n identifiers(list => list.forEach(i => identifieList.push(i))),\r\n dateFrom(date => from = date),\r\n dateTo(date => to = date),\r\n ratings(ratings => ratingsValues = ratings),\r\n statuses(statuses => statusValues = statuses),\r\n multipleCurrencies(currencies => currencyValues = currencies),\r\n sizeFrom(min => sizeMin = min),\r\n sizeTo(max => sizeMax = max),\r\n collateralTypes(types => collateralTypeValues = types),\r\n esg(value => esgValue = value),\r\n euCompliance(value => euComplianceValue = value),\r\n staticDeals(value => staticDealValue = value),\r\n ...ncEndSerializers,\r\n ...riEndSerializers,\r\n collateralManagers(managers => managerValues = managers, collateralManagerReferenceNames),\r\n dateFrom(value => maturityFrom = value, 'maturityFrom'),\r\n dateTo(value => maturityTo = value, 'maturityTo'),\r\n dateFrom(value => vintageFrom = value, 'vintageFrom'),\r\n dateTo(value => vintageTo = value, 'vintageTo'),\r\n dateFrom(value => closingFrom = value, 'closingFrom'),\r\n dateTo(value => closingTo = value, 'closingTo'),\r\n trustees(values => trusteesValues = values),\r\n amr(value => amrValue = value),\r\n sorting(value => sortBy = value),\r\n color(values => colors = values.map(c => +c)),\r\n colorFrom(value => colorRangeFrom = value),\r\n colorTo(value => colorRangeTo = value)\r\n ];\r\n\r\n queryStringSerializer.deserialize(queryString, serializers);\r\n\r\n const ncEndDeserializeResult = getNcEndDeserializeResult();\r\n const riEndDeserializeResult = getRiEndDeserializeResult();\r\n\r\n const canUseAdvancedFilters = user.hasFeatures(SubscriptionFeature.BwicMonitorAvancedFilters);\r\n\r\n const identifiersCommand = {\r\n canExecute: () => canUseAdvancedFilters,\r\n shouldExecute: () => !!identifieList.length,\r\n execute: () => identifieList.forEach(i => dispatch(searchSecuritiesActions.addSearchItem(i)))\r\n };\r\n const ncEnd = {\r\n canExecute: () => canUseAdvancedFilters,\r\n shouldExecute: () => !!ncEndDeserializeResult?.dates || !!ncEndDeserializeResult?.years,\r\n execute: () => dispatch(filterActions.filterDateQueryStringDeserialized('nonCallEnd', ncEndDeserializeResult))\r\n };\r\n const riEnd = {\r\n canExecute: () => canUseAdvancedFilters,\r\n shouldExecute: () => !!riEndDeserializeResult?.dates || !!riEndDeserializeResult?.years,\r\n execute: () => dispatch(filterActions.filterDateQueryStringDeserialized('reinvestmentEnd', riEndDeserializeResult))\r\n };\r\n const ratingsCommand = {\r\n shouldExecute: () => !!ratingsValues,\r\n execute: () => ratingsValues.forEach(r => dispatch(filterActions.filterSelectChange(r, 'ratings')))\r\n };\r\n const statusesCommand = {\r\n shouldExecute: () => !!statusValues,\r\n execute: () => statusValues.forEach(s => dispatch(filterActions.filterSelectChange(Number(s), 'statuses')))\r\n };\r\n const currencies = {\r\n shouldExecute: () => !!currencyValues,\r\n execute: () => currencyValues.forEach(c => dispatch(filterActions.filterSelectChange(c, 'currency')))\r\n };\r\n const callatTypes = {\r\n shouldExecute: () => !!collateralTypeValues,\r\n execute: () => collateralTypeValues.forEach(t => dispatch(filterActions.filterSelectChange(t, 'collateralType')))\r\n };\r\n const managers = {\r\n shouldExecute: () => !!managerValues,\r\n execute: () => managerValues.forEach(m => dispatch(filterActions.filterSelectChange(m, 'managers')))\r\n };\r\n const size = {\r\n shouldExecute: () => numericUtils.isNumber(sizeMin) || numericUtils.isNumber(sizeMax),\r\n execute: () => dispatch(filterActions.changeRangeFilter({ from: sizeMin, to: sizeMax }, 'size'))\r\n };\r\n\r\n const selectedDateOption = getDateOptionByRange(dateRangeFilterOptions.All, from, to);\r\n const date = {\r\n canExecute: () =>\r\n canUseHistoricalData ||\r\n (selectedDateOption.key === dateRangeFilterOptions.TodayAndUpcoming.key && bwicMonitorTab === AllBwicsTab.All),\r\n shouldExecute: () => !!from || !!to,\r\n execute: () => {\r\n if (selectedDateOption.key === dateRangeFilterOptions.All.key) {\r\n selectedDateOption.default = true;\r\n }\r\n dispatch(filterActions.filterDateSelectOption(selectedDateOption, 'date'));\r\n dispatch(filterActions.filterDateSelectCustomRange({ from, to }, 'date'));\r\n }\r\n };\r\n const euComplianceCommand = {\r\n canExecute: () => canUseAdvancedFilters,\r\n shouldExecute: () => !!euComplianceValue,\r\n execute: () => applyRadio(euComplianceValue, 'euCompliance')\r\n };\r\n const esgCommand = {\r\n canExecute: () => canUseAdvancedFilters,\r\n shouldExecute: () => !!esgValue,\r\n execute: () => applyRadio(esgValue, 'esg')\r\n };\r\n const staticDeal = {\r\n canExecute: () => canUseAdvancedFilters,\r\n shouldExecute: () => !!staticDealValue,\r\n execute: () => applyRadio(staticDealValue, 'staticDeal')\r\n };\r\n const trusteesCommand = {\r\n canExecute: () => canUseAdvancedFilters,\r\n shouldExecute: () => !!trusteesValues?.length,\r\n execute: () => {\r\n dispatch(filterActions.filterVisibilityChange('trustees'));\r\n trusteesValues.forEach(name => dispatch(filterActions.filterSelectChange(name, 'trustees')));\r\n }\r\n };\r\n const maturity = {\r\n canExecute: () => canUseAdvancedFilters,\r\n shouldExecute: () => !isNil(maturityFrom) || !isNil(maturityTo),\r\n execute: () => {\r\n dispatch(filterActions.makeFilterVisible('maturity'));\r\n const filterOption = getDateOptionByRange(dateRangeFilterOptions.ThisWeek, maturityFrom, maturityTo);\r\n dispatch(filterActions.filterDateSelectOption(filterOption, 'maturity'));\r\n dispatch(\r\n filterActions.filterDateSelectCustomRange({ from: maturityFrom, to: maturityTo }, 'maturity')\r\n );\r\n }\r\n };\r\n const vintage = {\r\n canExecute: () => canUseAdvancedFilters,\r\n shouldExecute: () => !isNil(vintageFrom) || !isNil(vintageTo),\r\n execute: () => {\r\n dispatch(filterActions.makeFilterVisible('vintage'));\r\n const filterOption = getDateOptionByRange(dateRangeFilterOptions.ThisWeek, vintageFrom, vintageTo);\r\n dispatch(filterActions.filterDateSelectOption(filterOption, 'vintage'));\r\n dispatch(\r\n filterActions.filterDateSelectCustomRange({ from: vintageFrom, to: vintageTo }, 'vintage'),\r\n );\r\n }\r\n };\r\n const closing = {\r\n canExecute: () => canUseAdvancedFilters,\r\n shouldExecute: () => !isNil(closingFrom) || !isNil(closingTo),\r\n execute: () => {\r\n dispatch(filterActions.makeFilterVisible('closing'));\r\n const filterOption = getDateOptionByRange(dateRangeFilterOptions.ThisWeek, closingFrom, closingTo);\r\n dispatch(filterActions.filterDateSelectOption(filterOption, 'closing'));\r\n dispatch(\r\n filterActions.filterDateSelectCustomRange({ from: closingFrom, to: closingTo }, 'closing'),\r\n );\r\n }\r\n };\r\n const arm = {\r\n canExecute: () => canUseAdvancedFilters,\r\n shouldExecute: () => !isNil(amrValue),\r\n execute: () => {\r\n dispatch(filterActions.filterVisibilityChange('amr'));\r\n dispatch(filterActions.filterRadioChange(amrValue, 'amr'));\r\n }\r\n };\r\n\r\n const isTradedSelected = colors?.some(c => c === ColorFilterType.Traded);\r\n let isTradedColorSelected = colors?.some(c => c === ColorFilterType.TradedColor);\r\n\r\n if(isTradedSelected && isTradedColorSelected) {\r\n colors = colors.filter(c => c !== ColorFilterType.TradedColor);\r\n isTradedColorSelected = false;\r\n }\r\n\r\n const colorCommand = {\r\n canExecute: () => canUseAdvancedFilters,\r\n shouldExecute: () => !!colors?.length,\r\n execute: () => {\r\n dispatch(filterActions.makeFilterVisible('color'));\r\n dispatch(filterActions.makeFilterVisible('tradedColor'));\r\n colors.forEach(s => dispatch(filterActions.filterSelectChange(Number(s), 'color')))\r\n }\r\n };\r\n\r\n const colorRangeCommand = {\r\n canExecute: () => canUseAdvancedFilters,\r\n shouldExecute: () => isTradedColorSelected && (!isNil(colorRangeFrom) || !isNil(colorRangeTo)),\r\n execute: () => dispatch(filterActions.changeRangeFilter({ from: colorRangeFrom, to: colorRangeTo }, 'tradedColor'))\r\n };\r\n\r\n const sortByCommand = {\r\n canExecute: () => user.hasFeatures(SubscriptionFeature.BwicMonitorSorting),\r\n shouldExecute: () => !!sortBy,\r\n execute: () => dispatch(sortFieldChanged(sortBy))\r\n }\r\n\r\n const isAllCommandsExecuted =\r\n new DeserializeCommandHandler()\r\n .addCommand(identifiersCommand)\r\n .addCommand(ratingsCommand)\r\n .addCommand(statusesCommand)\r\n .addCommand(currencies)\r\n .addCommand(callatTypes)\r\n .addCommand(managers)\r\n .addCommand(size)\r\n .addCommand(date)\r\n .addCommand(euComplianceCommand)\r\n .addCommand(esgCommand)\r\n .addCommand(staticDeal)\r\n .addCommand(trusteesCommand)\r\n .addCommand(maturity)\r\n .addCommand(vintage)\r\n .addCommand(closing)\r\n .addCommand(arm)\r\n .addCommand(ncEnd)\r\n .addCommand(riEnd)\r\n .addCommand(sortByCommand)\r\n .addCommand(colorCommand)\r\n .addCommand(colorRangeCommand)\r\n .process()\r\n\r\n if (!isAllCommandsExecuted) {\r\n dispatch(advancedFilterBlocked(true));\r\n }\r\n } else if (defaultConfigFilter) {\r\n dispatch(filterActions.selectFilterFromConfig(defaultConfigFilter));\r\n } else if (canUseHistoricalData) { // Skip settings \"TodayAndUpcomming\" because it is set by default in the filter state\r\n dispatch(filterActions.filterDateSelectOption({\r\n ...dateRangeFilterOptions.TodayAndUpcoming,\r\n from: moment().toDate(),\r\n to: null\r\n }, 'date'));\r\n dispatch(filterActions.filterDateSelectCustomRange({ from: moment().toDate(), to: null }, 'date'));\r\n }\r\n };\r\n}\r\n\r\nfunction advancedFilterBlocked(blocked) {\r\n return {\r\n type: actionTypes.ADVANCED_FILTER_BLOCKED,\r\n blocked\r\n }\r\n}\r\n\r\nfunction resetSummary() {\r\n return { type: actionTypes.RESET_SUMMARY }\r\n}\r\n\r\nfunction searchBwics(bwicMonitorTab, applyFilter = false, isSearchTermChange = false) {\r\n return (dispatch, getState) => {\r\n const { isNextPageRequesting, advancedFilterBlocked, summary } = getState().allBWICS;\r\n const filterType = getFilterType(bwicMonitorTab);\r\n const filterActions = createFilterActions(filterType);\r\n\r\n if (advancedFilterBlocked) return;\r\n\r\n if (!isNextPageRequesting) {\r\n dispatch(resetPaging());\r\n dispatch(bwicsSearchProgress(RequestState.request));\r\n dispatch(controlPanelActions.hide());\r\n }\r\n\r\n const isFilterChanged = applyFilter || isSearchTermChange;\r\n\r\n if(isFilterChanged && summary){\r\n dispatch(resetSummary());\r\n }\r\n\r\n const { currentPageNumber, pageSize, myBwicsOnly, isAllToAll, sortBy } = getState().allBWICS;\r\n const { searchTermItems } = getState().searchSecurities;\r\n const filterState = getFilterState(getState().filters, bwicMonitorTab);\r\n const lastAppliedFilter = filterState.lastAppliedFilter\r\n const filter = (!applyFilter && lastAppliedFilter) || filterState.filter;\r\n const criteria = getFilterCriteria(filter, searchTermItems, myBwicsOnly, isAllToAll);\r\n const requestingPage = isNextPageRequesting ? currentPageNumber + 1 : currentPageNumber;\r\n\r\n bwicService\r\n .searchBwics(criteria, requestingPage, pageSize, sortBy, isFilterChanged)\r\n .then(success, failure)\r\n .finally(() => {\r\n dispatch(nextPageRequesting(false));\r\n })\r\n\r\n function success({ totalRecordNumber, result, ...summaryProps }) {\r\n // Manually add filters to support query string serialization\r\n criteria.currency = filter.currency.filter.filter(c => c.selected).map(c => c.value);\r\n criteria.nonCallEndFrom = criteria.nonCallEndFromYear ?? criteria.nonCallEndFromDate;\r\n criteria.nonCallEndTo = criteria.nonCallEndToYear ?? criteria.nonCallEndToDate;\r\n criteria.reinvestmentEndFrom = criteria.reinvestmentEndFromYear ?? criteria.reinvestmentEndFromDate;\r\n criteria.reinvestmentEndTo = criteria.reinvestmentEndToYear ?? criteria.reinvestmentEndToDate;\r\n criteria.collateralManagers = criteria.managers;\r\n\r\n const { color = {} } = criteria;\r\n criteria.color = color.filters;\r\n criteria.colorFrom = color.min;\r\n criteria.colorTo = color.max;\r\n\r\n if (applyFilter) {\r\n dispatch(filterActions.applyFilter());\r\n }\r\n\r\n dispatch(bwicsSearchProgress(RequestState.success));\r\n dispatch(redirectWithFilterArguments(criteria, sortBy));\r\n dispatch({\r\n type: actionTypes.BWICS_SEARCH_COMPLETE,\r\n bwics: result || [],\r\n totalRecordNumber,\r\n isNextPageRequesting,\r\n summary: isFilterChanged ? summaryProps : undefined\r\n });\r\n }\r\n\r\n function failure(e) {\r\n if (!isRequestCancelationError(e)) {\r\n dispatch(bwicsSearchProgress(RequestState.failure));\r\n dispatch(errorActions.criticalError(e));\r\n }\r\n }\r\n };\r\n}\r\n\r\nfunction redirectWithFilterArguments(filter, sortBy) {\r\n return () => {\r\n const serializers = [\r\n identifiers(), ratings(), statuses(), multipleCurrencies(), dateFrom(), collateralManagers(),\r\n dateTo(), types(), sizeFrom(), sizeTo(), collateralTypes(), esg(), euCompliance(),\r\n staticDeals(), reinvestmentEndFrom(), reinvestmentEndTo(), nonCallEndFrom(), nonCallEndTo(),\r\n dateFrom(noop, 'maturityFrom'), dateTo(noop, 'maturityTo'), dateFrom(noop, 'vintageFrom'),\r\n dateTo(noop, 'vintageTo'), dateFrom(noop, 'closingFrom'), dateTo(noop, 'closingTo'),\r\n trustees(), amr(), outOfNC(), outOfRI(), color(), colorFrom(), colorTo()\r\n ];\r\n\r\n if (user.hasFeatures(SubscriptionFeature.BwicMonitorSorting)) {\r\n serializers.push(sorting())\r\n }\r\n\r\n const queryString = queryStringSerializer.serialize({ ...filter, sortBy }, serializers);\r\n\r\n if (queryString) {\r\n history.replace(history.location.pathname + '?' + queryString);\r\n }\r\n };\r\n}\r\n\r\nfunction getFilterCriteria(filter, isinCusipsAndTickers, myBwicsOnly, isAllToAll) {\r\n const defaultDateRange = { dateFrom: undefined, dateTo: undefined };\r\n\r\n const selectedCurrencies = filter.currency.filter.filter(c => c.selected).map(c => c.value);\r\n const nonCallEndYears = getYearsRange(filter.nonCallEnd);\r\n const nonCallEndDates = selectedDateOptions(filter.nonCallEnd);\r\n const reinvestmentEndYears = getYearsRange(filter.reinvestmentEnd);\r\n const reinvestmentEndDates = selectedDateOptions(filter.reinvestmentEnd);\r\n\r\n const maturityRange = filter.maturity?.filter.selectedOption\r\n ? convertToApiCriteria(filter.maturity.filter.selectedOption, filter.maturity.filter.options)\r\n : defaultDateRange;\r\n const vintageRange = filter.vintage?.filter.selectedOption\r\n ? convertToApiCriteria(filter.vintage.filter.selectedOption, filter.vintage.filter.options)\r\n : defaultDateRange;\r\n const closingRange = filter.closing?.filter.selectedOption\r\n ? convertToApiCriteria(filter.closing.filter.selectedOption, filter.closing.filter.options)\r\n : defaultDateRange;\r\n\r\n return {\r\n isinCusipsAndTickers,\r\n myBwicsOnly,\r\n isAllToAll,\r\n statuses: filter.statuses.filter.filter(f => f.selected).map(f => f.value),\r\n ratings: filter.ratings.filter.filter(r => r.selected).map(r => r.value),\r\n currency: selectedCurrencies.length && selectedCurrencies.length === 1 ? selectedCurrencies[0] : undefined,\r\n collateralTypes: filter.collateralType?.filter.filter(c => c.selected).map(c => c.value),\r\n managers: filter.managers?.filter.filter(c => c.selected).map(c => c.value),\r\n esg: filter.esg?.filter.selectedOption,\r\n staticDeals: filter.staticDeal?.filter.selectedOption,\r\n euCompliance: filter.euCompliance?.filter.selectedOption,\r\n nonCallEndFromYear: nonCallEndYears?.from,\r\n nonCallEndToYear: nonCallEndYears?.to,\r\n nonCallEndFromDate: nonCallEndDates?.from,\r\n nonCallEndToDate: nonCallEndDates?.to,\r\n reinvestmentEndFromYear: reinvestmentEndYears?.from,\r\n reinvestmentEndToYear: reinvestmentEndYears?.to,\r\n reinvestmentEndFromDate: reinvestmentEndDates?.from,\r\n reinvestmentEndToDate: reinvestmentEndDates?.to,\r\n sizeFrom: filter.size.filter.from,\r\n sizeTo: filter.size.filter.to,\r\n ...convertToApiCriteria(filter.date.filter.selectedOption, filter.date.filter.options),\r\n maturityFrom: maturityRange.dateFrom,\r\n maturityTo: maturityRange.dateTo,\r\n vintageFrom: vintageRange.dateFrom,\r\n vintageTo: vintageRange.dateTo,\r\n closingFrom: closingRange.dateFrom,\r\n closingTo: closingRange.dateTo,\r\n trustees: filter.trustees?.filter.filter(f => f.selected).map(f => f.value),\r\n amr: filter.amr?.filter.selectedOption,\r\n outOfNC: filter.outOfNC?.filter.selectedOption,\r\n outOfRI: filter.outOfRI?.filter.selectedOption,\r\n color: filter.color?.filter.some(r => r.selected) ? {\r\n filters: filter.color.filter.filter(r => r.selected).map(r => r.value),\r\n min: numericUtils.isNumber(filter.tradedColor.filter.from) ? Number(filter.tradedColor.filter.from) : undefined,\r\n max: numericUtils.isNumber(filter.tradedColor.filter.to) ? Number(filter.tradedColor.filter.to) : undefined,\r\n }: undefined\r\n };\r\n}\r\n\r\nfunction setAllToAllBwicsFlag(isAllToAll) {\r\n return {\r\n type: actionTypes.ALL_TO_ALL,\r\n isAllToAll\r\n };\r\n}\r\n\r\nfunction setMyBWICsFlag(myBwicsOnly) {\r\n return {\r\n type: actionTypes.MY_BWICS,\r\n myBwicsOnly\r\n };\r\n}\r\n\r\nfunction bwicsSearchProgress(status) {\r\n return {\r\n type: actionTypes.BWICS_SEARCH_PROGRESS,\r\n status\r\n };\r\n}\r\n\r\nfunction setBwicCollapsed(referenceName, collapsed) {\r\n return (dispatch, getState) => {\r\n dispatch({\r\n type: actionTypes.SET_BWIC_COLLAPSED_STATE,\r\n bwic: {\r\n referenceName,\r\n collapsed\r\n }\r\n });\r\n\r\n const { bwics, collapseAll } = getState().allBWICS;\r\n const collapsedCount = bwics.filter(b => b.collapsed).length;\r\n if (collapsedCount === bwics.length && !collapseAll) {\r\n dispatch(setCollapseAll(true));\r\n } else if (collapsedCount === 0 && collapseAll) {\r\n dispatch(setCollapseAll(false));\r\n }\r\n };\r\n}\r\n\r\nfunction setCollapseAll(collapseAll) {\r\n return {\r\n type: actionTypes.SET_COLLAPSE_ALL,\r\n collapseAll\r\n };\r\n}\r\n\r\nfunction setActiveBwic(bwicReferenceName) {\r\n return dispatch => {\r\n dispatch({\r\n type: actionTypes.SET_ACTIVE_BWIC,\r\n bwicReferenceName\r\n });\r\n };\r\n}\r\n\r\nfunction setExportingBwicStatus(status) {\r\n return { type: actionTypes.ALL_BWICS_SET_EXPORTING_STATUS, payload: { status } }\r\n}\r\n\r\nfunction exportBwics(bwicMonitorTab) {\r\n return (dispatch, getState) => {\r\n const { currentPageNumber, pageSize, myBwicsOnly, isAllToAll, sortBy } = getState().allBWICS;\r\n const { searchTermItems } = getState().searchSecurities;\r\n const filterState = getFilterState(getState().filters, bwicMonitorTab);\r\n const lastAppliedFilter = filterState.lastAppliedFilter\r\n const criteria = getFilterCriteria(lastAppliedFilter, searchTermItems, myBwicsOnly, isAllToAll);\r\n criteria.isGroupView = true;\r\n\r\n dispatch(setExportingBwicStatus(true));\r\n bwicService\r\n .exportBwics(criteria, currentPageNumber, pageSize, sortBy)\r\n .then(file => saveAs(file.blob, file.name))\r\n .catch((e) => errorActions.unexpectedError(e))\r\n .finally(() => dispatch(setExportingBwicStatus(false)));\r\n };\r\n}\r\n\r\nfunction reset() {\r\n return { type: actionTypes.RESET };\r\n}\r\n\r\nfunction resetPaging() {\r\n return {\r\n type: actionTypes.ALL_BWICS_RESET_PAGING\r\n };\r\n}\r\n\r\nfunction nextPageRequesting(isRequesting) {\r\n return {\r\n type: actionTypes.ALL_BWICS_NEXT_PAGE_REQUESTING,\r\n isRequesting\r\n }\r\n}\r\n\r\nfunction loadNextPage(bwicMonitorTab) {\r\n return (dispatch, getState) => {\r\n const { searchInProgress, isNextPageRequesting } = getState().allBWICS;\r\n\r\n if (!isRequesting(searchInProgress) && !isNextPageRequesting) {\r\n dispatch(nextPageRequesting(true));\r\n dispatch(searchBwics(bwicMonitorTab));\r\n }\r\n }\r\n}\r\n\r\nfunction liveBiddingStage2Expired(positionId) {\r\n return {\r\n type: actionTypes.LIVE_BIDDING_STAGE2_EXPIRED,\r\n positionId\r\n };\r\n}\r\n\r\nfunction addPositionBids(bwicReferenceName, positionId, bids) {\r\n return {\r\n type: actionTypes.ADD_POSITION_BIDS,\r\n bwicReferenceName,\r\n positionId,\r\n bids\r\n }\r\n}\r\n\r\nfunction sortFieldChanged(sortBy) {\r\n return {\r\n type: actionTypes.SORTING_CHANGED,\r\n sortBy\r\n }\r\n}\r\n\r\nfunction sortChanged(sortBy, bwicMonitorTab) {\r\n return (dispatch) => {\r\n dispatch(sortFieldChanged(sortBy))\r\n dispatch(searchBwics(bwicMonitorTab))\r\n }\r\n}\r\n","import { ActionType, createAction } from 'typesafe-actions';\r\nimport { Bank } from '../types/banks/Bank';\r\nimport { BankDetailed } from '../types/banks/BankDetailed';\r\nimport { ManagersTransactionAggregated } from '../types/banks/ManagersTransactionAggregated';\r\nimport { ManagersTransactionCountFilterValues } from '../types/banks/ManagersTransactionCountFilterValues';\r\nimport { CompanyEvent } from '../types/banks/CompanyEvent';\r\nimport { BankSyndicateContacts } from '../types/banks/BankSyndicateContacts';\r\nimport { BrokerDealerSave } from '../types/banks/BrokerDealerSave';\r\nimport { RequestState } from '../constants/request-state';\r\nimport { BankAccessType } from '../types/amr-pipeline/enums/BankAccessType';\r\nimport { BankAnalyticsFilter } from '../types/analytics/AnalyticsFilter';\r\nimport { BankClientActivity, BankProfileView } from '../types/amr-pipeline/models/BankSession';\r\nimport { TreeSelectOption } from '../components/controls/TreeSelect';\r\nimport { BankAnalytics } from '../types/banks/BankAnalytics';\r\nimport { ExportManagersTransQueryParams } from '../services/banks.service';\r\n\r\nconst getBanks = createAction(\r\n 'banks/get/REQUEST',\r\n resolve => (userCompanyReferenceName?: string) => resolve({ userCompanyReferenceName })\r\n);\r\n\r\nconst getBanksResult = createAction('banks/get/REQUEST_RESULT',\r\n resolve => (banks: Bank[]) => resolve({ banks })\r\n);\r\n\r\nconst getBankDetails = createAction(\r\n 'banks/getOne/REQUEST',\r\n resolve => (referenceName: string) => resolve({ referenceName }),\r\n);\r\n\r\nconst getBankDetailsResult = createAction(\r\n 'banks/getOne/REQUEST_RESULT',\r\n resolve => (\r\n referenceName: string,\r\n bankDetails: BankDetailed,\r\n aggregatedManagerTransactions: ManagersTransactionAggregated[],\r\n syndicateContacts: BankSyndicateContacts,\r\n companyEvents: CompanyEvent[],\r\n ) => resolve({\r\n referenceName,\r\n bankDetails,\r\n aggregatedManagerTransactions,\r\n syndicateContacts,\r\n companyEvents,\r\n }),\r\n);\r\n\r\nconst managersTransactionCountFilter = createAction(\r\n 'banks/managersTransactionCount/FILTER',\r\n resolve => (filter: ManagersTransactionCountFilterValues) => resolve(filter),\r\n);\r\n\r\nconst managersTransactionCountFilterResult = createAction(\r\n 'banks/managersTransactionCount/FILTER_RESULT',\r\n resolve => (aggregatedManagerTransactions: ManagersTransactionAggregated[]) =>\r\n resolve(aggregatedManagerTransactions),\r\n);\r\n\r\nconst exportTransactionCountRequest = createAction(\r\n 'banks/managersTransactionCount/EXPORT',\r\n resolve => (\r\n legalName: string,\r\n referenceName: string,\r\n params: ExportManagersTransQueryParams\r\n ) => resolve({legalName, referenceName, params}),\r\n);\r\n\r\nconst exportTransactionCountResponse = createAction(\r\n 'banks/managersTransactionCount/EXPORT_RESPONSE'\r\n);\r\n\r\nconst editBank = createAction('banks/EDIT');\r\n\r\nconst editBankReset = createAction('banks/EDIT_RESET');\r\n\r\nconst updateBank = createAction(\r\n 'banks/upodate/REQUEST',\r\n resole => (\r\n referenceName: string,\r\n formData: {\r\n events: CompanyEvent[];\r\n headOfDesk?: BrokerDealerSave;\r\n headOfTrading?: BrokerDealerSave;\r\n }\r\n ) => resole({\r\n referenceName,\r\n formData,\r\n }),\r\n);\r\n\r\nconst updateBankResult = createAction(\r\n 'banks/upodate/RESULT',\r\n resole => (\r\n requestState: RequestState,\r\n result?: {\r\n syndicateContacts: BankSyndicateContacts,\r\n events: CompanyEvent[]\r\n }\r\n ) => resole({\r\n requestState,\r\n result,\r\n }),\r\n);\r\n\r\nconst setBankForAlertPopup = createAction(\r\n 'banks/alerts/SET_BANK_FOR_ALERT_POPUP',\r\n resolve => (referenceName?: string) => resolve({ referenceName }),\r\n);\r\n\r\nconst logUserActivity = createAction(\r\n 'banks/logUserActivity/REQUEST',\r\n resolve => (companyReferenceName: string, accessType: BankAccessType) =>\r\n resolve({ companyReferenceName, accessType })\r\n);\r\n\r\nconst analyticsInit = createAction(\r\n 'banks/analytics/INIT',\r\n (resolve) => (companyReferenceName: string) => resolve({ companyReferenceName })\r\n);\r\n\r\nconst analyticsInitResponse = createAction(\r\n 'banks/analytics/INIT/RESPONSE',\r\n (resolve) =>\r\n (data: {\r\n users: TreeSelectOption[];\r\n analytics: BankAnalytics;\r\n numberOfHiddenItems: number;\r\n }) =>\r\n resolve(data)\r\n);\r\n\r\nconst analyticsReset = createAction('banks/analytics/RESET');\r\n\r\nconst clientsActivityRequest = createAction(\r\n 'banks/clientsActivity/REQUEST',\r\n resolve => (\r\n companyReferenceName: string,\r\n startDate?: Date,\r\n endDate?: Date,\r\n ) => resolve({\r\n companyReferenceName,\r\n startDate,\r\n endDate,\r\n })\r\n);\r\n\r\nconst clientsActivityResponse = createAction(\r\n 'banks/clientsActivity/RESPONSE',\r\n resolve => (data: BankClientActivity[], numberOfHiddenItems: number) => resolve({ data, numberOfHiddenItems })\r\n);\r\n\r\nconst clientsActivityFilterChange = createAction(\r\n 'banks/clientsActivity/FILTER_CHANGE',\r\n resolve => (filter: BankAnalyticsFilter) => resolve(filter),\r\n);\r\n\r\nconst profileViewHistoryRequest = createAction(\r\n 'banks/profileViewHistory/REQUEST',\r\n resolve => (companyReferenceName: string, startDate?: Date | null, endDate?: Date | null) =>\r\n resolve({\r\n companyReferenceName,\r\n startDate,\r\n endDate,\r\n }),\r\n);\r\n\r\nconst profileViewHistoryResponse = createAction(\r\n 'banks/profileViewHistory/RESPONSE',\r\n resolve => (data: BankProfileView[], numberOfHiddenItems: number) => resolve({ data, numberOfHiddenItems }),\r\n);\r\n\r\nconst profileViewHistoryFilterChange = createAction(\r\n 'banks/profileViewHistory/FILTER_CHANGE',\r\n resolve => (filter: BankAnalyticsFilter) => resolve(filter),\r\n);\r\n\r\nconst profileViewHistoryFilterByBar = createAction(\r\n 'banks/profileViewHistory/FILTER_BY_BAR',\r\n resolve => (\r\n companyReferenceName: string,\r\n accessType: BankAccessType,\r\n date: Date\r\n ) => resolve({\r\n companyReferenceName,\r\n accessType,\r\n date\r\n }),\r\n);\r\n\r\nconst reset = createAction('banks/RESET');\r\n\r\n\r\nexport type TBanksActions = ActionType;\r\n\r\nexport const banksActions = {\r\n getBanks,\r\n getBanksResult,\r\n getBankDetails,\r\n getBankDetailsResult,\r\n managersTransactionCountFilter,\r\n managersTransactionCountFilterResult,\r\n exportTransactionCountRequest,\r\n exportTransactionCountResponse,\r\n editBank,\r\n editBankReset,\r\n updateBank,\r\n updateBankResult,\r\n setBankForAlertPopup,\r\n logUserActivity,\r\n analyticsInit,\r\n analyticsInitResponse,\r\n analyticsReset,\r\n clientsActivityRequest,\r\n clientsActivityResponse,\r\n clientsActivityFilterChange,\r\n profileViewHistoryRequest,\r\n profileViewHistoryResponse,\r\n profileViewHistoryFilterChange,\r\n profileViewHistoryFilterByBar,\r\n reset,\r\n};\r\n","import { createAction } from 'typesafe-actions';\r\nimport { Company } from '../types/amr-pipeline/models/Company';\r\n\r\nconst loadUserCompanyRequest = createAction('amrPipelineCommon/userCompany/REQUEST');\r\nconst loadUserCompanyResponse = createAction(\r\n 'amrPipelineCommon/userCompany/RESPONSE',\r\n resolve => (userCompany: Company) => resolve({ userCompany })\r\n);\r\n\r\nconst loadUserCompanyError = createAction('amrPipelineCommon/userCompany/ERROR');\r\n\r\nconst registerUser = createAction('amrPipelineCommon/REGISTER_USER');\r\n\r\nconst redirectInvitedClientToTransactionDetails = createAction(\r\n 'amrPipelineCommon/REDIRECT_INVITED_CLIENT'\r\n);\r\n\r\nconst reset = createAction('amrPipelineCommon/RESET');\r\n\r\nexport const amrPipelineCommonActions = {\r\n loadUserCompanyRequest,\r\n loadUserCompanyResponse,\r\n loadUserCompanyError,\r\n registerUser,\r\n redirectInvitedClientToTransactionDetails,\r\n reset\r\n};\r\n","import { createAction } from 'typesafe-actions';\r\nimport { RequestState } from '../constants/request-state';\r\nimport { InventoryPosition } from '../types/inventory/InventoryPosition';\r\nimport { InventoryPositionStatus } from '../types/inventory/InventoryPositionStatus';\r\n\r\nconst loadBdInventory = createAction('bd-inventory/LOAD_BD_INVENTORY');\r\n\r\nconst request = createAction('entities/bd-inventory/REQUEST');\r\nconst requestResult = createAction(\r\n 'entities/bd-inventory/REQUEST_RESULT',\r\n resolve => (requestState: RequestState, response: { inventorySecurities: InventoryPosition[], lockModifiedDate: Date } | {}) =>\r\n resolve({ requestState, response })\r\n);\r\nconst inventoryStatusChange = createAction(\r\n 'entities/bd-inventory/INVENTORY_STATUS_CHANGE',\r\n resolve => (inventoryPositionId: number, status: InventoryPositionStatus) => resolve({ inventoryPositionId, status })\r\n);\r\nconst init = createAction('bd-inventory/INIT');\r\nconst requestInventoryExistFlag = createAction('bd-inventory/INVENTORY_EXIST_REQUEST');\r\nconst inventoryExistFlag = createAction(\r\n 'bd-inventory/INVENTORY_EXIST_FLAG',\r\n resolve => (exist: boolean) => resolve({ exist })\r\n);\r\nconst pushInventory = createAction(\r\n 'entities/bd-inventory/PUSH_INVENTORY',\r\n resolve => (data: { lockModifiedDate: Date, updatedInventorySecurities: InventoryPosition[] }) => resolve({ data })\r\n);\r\n\r\nconst resetEntities = createAction('entities/bd-inventory/RESET');\r\nconst reset = createAction('bd-inventory/RESET');\r\nconst exportInventoryRequest = createAction(\r\n 'bd-inventory/EXPORT_INVENTORY_REQUEST',\r\n resolve => (sortField: string, sortDirection: string) => resolve({ sortField, sortDirection })\r\n);\r\nconst exportInventoryResponse = createAction('bd-inventory/EXPORT_INVENTORY_RESPONSE');\r\nconst requestSendEmail = createAction(\r\n 'bd-inventory/SEND_EMAIL',\r\n resolve => (params: { selectedDealerEmail: boolean, selectedBloombergEmail: boolean }) => resolve(params)\r\n);\r\nconst toggleVisibleAddBloombergEmailForm = createAction('bd-inventory/TOGGLE_VISIBLE_ADD_BLOOMBERG_EMAIL_FORM');\r\nconst addBloombergEmailRequest = createAction(\r\n 'bd-inventory/ADD_BLOOMBERG_EMAIL_REQUEST',\r\n resolve => (email: string) => resolve({ email })\r\n);\r\nconst addBloombergEmailResponse = createAction('bd-inventory/ADD_BLOOMBERG_EMAIL_RESPONSE');\r\n\r\nconst applyFilter = createAction('bd-inventory/FILTER_APPLY');\r\nconst clearFilter = createAction('bd-inventory/FILTER_CLEAR');\r\nconst advancedFilterBlocked = createAction('bd-inventory/ADVANCED_FILTER_BLOCKED', resolve => (blocked: boolean) => resolve({ blocked }));\r\n\r\nexport const bdInventoryActions = {\r\n init,\r\n requestInventoryExistFlag,\r\n inventoryExistFlag,\r\n loadBdInventory,\r\n request,\r\n resetEntities,\r\n requestResult,\r\n inventoryStatusChange,\r\n pushInventory,\r\n applyFilter,\r\n clearFilter,\r\n reset,\r\n exportInventoryRequest,\r\n exportInventoryResponse,\r\n requestSendEmail,\r\n toggleVisibleAddBloombergEmailForm,\r\n addBloombergEmailRequest,\r\n addBloombergEmailResponse,\r\n advancedFilterBlocked\r\n};\r\n","import { createAction } from \"typesafe-actions\";\r\nimport { TreeSelectOption } from '../components/controls/TreeSelect';\r\nimport { TransactionAccessType } from '../types/amr-pipeline/enums/TransactionAccessType';\r\nimport {\r\n TransactionClientActivity,\r\n TransactionViewHistory,\r\n} from '../types/amr-pipeline/models/TransactionSession';\r\nimport { DocumentDownloadsStatistic } from '../types/amr-pipeline/models/DocumentDownloadsStatistic';\r\nimport { TransactionVersion } from \"../types/amr-pipeline/models/TransactionVersion\";\r\nimport { TransactionAnalyticsFilter } from '../types/analytics/AnalyticsFilter';\r\n\r\ninterface AnalyticsInitResponse {\r\n documentDownloads: DocumentDownloadsStatistic[];\r\n totalDocumentsDownloads: number;\r\n recentTransactionViews: number;\r\n totalTransactionViews: number;\r\n daysInMarket: number;\r\n versions: TransactionVersion[];\r\n clientsActivity: TransactionClientActivity[];\r\n users: TreeSelectOption[];\r\n}\r\n\r\nconst analyticsInit = createAction(\r\n \"amrPipelineTransactionAnalytics/INIT\",\r\n (resolve) => (dealReferenceName: string, transactionReferenceName: string) =>\r\n resolve({ dealReferenceName, transactionReferenceName })\r\n);\r\n\r\nconst analyticsInitResponse = createAction(\r\n \"amrPipelineTransactionAnalytics/INIT/RESPONSE\",\r\n (resolve) => (analytics: AnalyticsInitResponse) => resolve(analytics)\r\n);\r\n\r\nconst clientsActivityRequest = createAction(\r\n 'amrPipelineTransactionAnalytics/clientsActivity/REQUEST',\r\n resolve => (\r\n dealReferenceName: string,\r\n transactionReferenceName: string,\r\n startDate?: Date,\r\n endDate?: Date,\r\n ) => resolve({\r\n dealReferenceName,\r\n transactionReferenceName,\r\n startDate,\r\n endDate,\r\n })\r\n);\r\n\r\nconst clientsActivityResponse = createAction(\r\n 'amrPipelineTransactionAnalytics/clientsActivity/RESPONSE',\r\n resolve => (data: TransactionClientActivity[]) => resolve({ data })\r\n);\r\n\r\nconst transactionViewHistoryRequest = createAction(\r\n 'amrPipelineTransactionAnalytics/transactionViewHistory/REQUEST',\r\n resolve => (dealReferenceName: string, transactionReferenceName: string, startDate?: Date, endDate?: Date) =>\r\n resolve({\r\n dealReferenceName,\r\n transactionReferenceName,\r\n startDate,\r\n endDate,\r\n }),\r\n);\r\n\r\nconst transactionViewHistoryResponse = createAction(\r\n 'amrPipelineTransactionAnalytics/transactionViewHistory/RESPONSE',\r\n resolve => (data: TransactionViewHistory[]) => resolve({ data }),\r\n);\r\n\r\nconst clientsActivityFilterChange = createAction(\r\n 'amrPipelineTransactionAnalytics/clientsActivity/FILTER_CHANGE',\r\n resolve => (filter: TransactionAnalyticsFilter) => resolve(filter),\r\n);\r\n\r\nconst transactionViewHistoryFilterChange = createAction(\r\n 'amrPipelineTransactionAnalytics/transactionViewHistory/FILTER_CHANGE',\r\n resolve => (filter: TransactionAnalyticsFilter) => resolve(filter),\r\n);\r\n\r\nconst transactionViewHistoryFilterByBar = createAction(\r\n 'amrPipelineTransactionAnalytics/transactionViewHistory/FILTER_BY_BAR',\r\n resolve => (\r\n dealReferenceName: string,\r\n transactionReferenceName: string,\r\n accessType: TransactionAccessType,\r\n date: Date\r\n ) => resolve({\r\n dealReferenceName,\r\n transactionReferenceName,\r\n accessType,\r\n date\r\n }),\r\n);\r\n\r\nconst reset = createAction('amrPipelineTransactionAnalytics/RESET');\r\n\r\nexport const amrTransactionAnalyticsActions = {\r\n analyticsInit,\r\n analyticsInitResponse,\r\n clientsActivityRequest,\r\n clientsActivityResponse,\r\n transactionViewHistoryRequest,\r\n transactionViewHistoryResponse,\r\n clientsActivityFilterChange,\r\n transactionViewHistoryFilterChange,\r\n transactionViewHistoryFilterByBar,\r\n reset,\r\n};\r\n","import { createAction } from \"typesafe-actions\";\r\n\r\nconst requestActiveInventorySecurities = createAction(\"entities/active-inventories-securities/REQUEST\");\r\n\r\nconst requestActiveInventorySecuritiesSuccess = createAction('entities/active-inventories-securities/REQUEST_SUCCESS',\r\n resolve => (securityIds: number[]) => resolve({ securityIds }))\r\n\r\nconst requestActiveInventorySecuritiesError = createAction(\"entities/active-inventories-securities/REQUEST_ERROR\");\r\n\r\nconst reset = createAction(\"entities/active-inventories-securities/RESET\");\r\n\r\nexport const activeInventorySecurityActions = {\r\n requestActiveInventorySecurities,\r\n requestActiveInventorySecuritiesSuccess,\r\n requestActiveInventorySecuritiesError,\r\n reset\r\n}\r\n","import { biddingActions as actionTypes, roles, routes } from '../constants';\r\nimport { bwicService, companiesService } from '../services';\r\nimport {\r\n errorActions,\r\n sellerBiddingActions,\r\n brokerDealerBiddingActions,\r\n otherSellerBiddingActions,\r\n rulesActions,\r\n bwicHistoryActions\r\n} from '.';\r\nimport { user } from '../user';\r\nimport { controlPanelActions } from './control-panel.actions';\r\nimport { RequestState } from '../constants/request-state';\r\nimport { BwicVisitorType } from '../types/state/BiddingState';\r\nimport { BwicStatus } from '../types/enums/BwicStatus';\r\nimport { history } from '../history';\r\n\r\n\r\nexport const biddingActions = {\r\n init,\r\n reset,\r\n bwicStatusChange,\r\n loadBwicParticipants,\r\n liveBiddingStage2TimeoutEnd,\r\n loading\r\n};\r\n\r\nfunction init(referenceName) {\r\n return async dispatch => {\r\n dispatch(loading(true));\r\n\r\n try {\r\n const bwicPromise = bwicService.getByReferenceName(referenceName);\r\n const userCompanyPromise = companiesService.getCurrentUserCompany();\r\n\r\n const userCompany = await userCompanyPromise;\r\n const bwic = await bwicPromise;\r\n\r\n const visitorType = getBiddingVisitorType(bwic, userCompany);\r\n\r\n dispatch({\r\n type: actionTypes.BIDDING_STORE_VISITOR_TYPE,\r\n visitorType,\r\n userCompany\r\n });\r\n\r\n dispatch(bwicHistoryActions.init(bwic.referenceName, bwic.actionHistory));\r\n dispatch(storeOriginalBwic(bwic));\r\n await dispatch(initVisitorState(visitorType, bwic));\r\n\r\n } catch (e) {\r\n dispatch(errorActions.criticalError(e));\r\n } finally {\r\n dispatch(loading(false));\r\n }\r\n };\r\n}\r\n\r\nfunction bwicStatusChange(bwicReferenceName, nextStatus) {\r\n return (dispatch, getState) => {\r\n const { bwic, visitorType } = getState().bidding;\r\n\r\n const isBwicMatch = bwic && bwic.referenceName === bwicReferenceName;\r\n if (!isBwicMatch) return;\r\n\r\n const isScheduled = bwic.status === BwicStatus.scheduled;\r\n const isNextBidding = nextStatus === BwicStatus.bidding;\r\n const isAllToAllBuyer = bwic.isAllToAll && visitorType === BwicVisitorType.Buyer;\r\n if (isScheduled && isNextBidding && isAllToAllBuyer) {\r\n // Change bwic status in store for all-to-all bidding bwic on buyer screen\r\n return dispatch({\r\n type: actionTypes.BIDDING_BWIC_STATUS_CHANGE,\r\n nextStatus\r\n });\r\n }\r\n\r\n dispatch(reset());\r\n dispatch(init(bwicReferenceName));\r\n };\r\n}\r\n\r\nfunction initVisitorState(visitorType, bwic) {\r\n return dispatch => {\r\n switch (visitorType) {\r\n case (BwicVisitorType.Seller):\r\n return dispatch(sellerBiddingActions.init(bwic));\r\n case (BwicVisitorType.OtherSeller):\r\n return dispatch(otherSellerBiddingActions.init(bwic));\r\n case (BwicVisitorType.BrokerDealer):\r\n case (BwicVisitorType.Buyer):\r\n return dispatch(brokerDealerBiddingActions.init(bwic));\r\n case (BwicVisitorType.Admin):\r\n return;\r\n default:\r\n return history.push(routes.forbidden);\r\n }\r\n };\r\n}\r\n\r\nfunction loading(isLoading) {\r\n return {\r\n type: actionTypes.BIDDING_LOADING,\r\n isLoading\r\n };\r\n}\r\n\r\nfunction storeOriginalBwic(bwic) {\r\n if (bwic.companies) {\r\n bwic.companies.sort((a, b) => a.name.localeCompare(b.name));\r\n }\r\n\r\n return {\r\n type: actionTypes.BIDDING_STORE_ORIGINAL_BWIC,\r\n bwic\r\n };\r\n}\r\n\r\nfunction getBiddingVisitorType(bwic, userCompany) {\r\n let visitorType;\r\n if (user.hasRoles(...roles.seller())) {\r\n visitorType = !bwic.isParsed && bwic.seller?.id === userCompany.id\r\n ? BwicVisitorType.Seller\r\n : BwicVisitorType.OtherSeller;\r\n } else if (user.hasRoles(...roles.bd())) {\r\n if (bwic.seller?.id === userCompany.id) return BwicVisitorType.Seller\r\n return bwic.isAllToAll ? BwicVisitorType.Buyer : BwicVisitorType.BrokerDealer;\r\n } else if (user.hasRoles(roles.Administrator)) {\r\n visitorType = BwicVisitorType.Admin\r\n }\r\n\r\n return visitorType;\r\n}\r\n\r\nfunction reset() {\r\n return dispatch => {\r\n dispatch(rulesActions.hide());\r\n dispatch({ type: actionTypes.BIDDING_RESET });\r\n dispatch(controlPanelActions.hide());\r\n };\r\n}\r\n\r\nfunction loadBwicParticipants() {\r\n return (dispatch, getState) => {\r\n const { bwic } = getState().bidding;\r\n if (bwic) {\r\n dispatch(setLoadParticipantsRequestStatus(RequestState.request));\r\n\r\n companiesService\r\n .getBwicParticipants(bwic.referenceName)\r\n .then(dealers => {\r\n dispatch(storeBwicDealers(dealers));\r\n dispatch(setLoadParticipantsRequestStatus(RequestState.success));\r\n })\r\n .catch(e => {\r\n dispatch(setLoadParticipantsRequestStatus(RequestState.failure));\r\n dispatch(errorActions.criticalError(e));\r\n });\r\n }\r\n };\r\n}\r\n\r\nfunction setLoadParticipantsRequestStatus(requestState) {\r\n return {\r\n type: actionTypes.BIDDING_LOAD_PARTICIPANTS_REQUEST_STATUS,\r\n payload: { requestState }\r\n };\r\n}\r\n\r\nfunction storeBwicDealers(bwicDealers) {\r\n return dispatch => {\r\n const bwicDealerUsers = [];\r\n const bwicDealerContacts = [];\r\n bwicDealers.forEach(dealer => {\r\n (dealer.users || []).forEach(user => {\r\n bwicDealerUsers.push({ ...user, companyId: dealer.id });\r\n });\r\n (dealer.contacts || []).forEach(contact => {\r\n bwicDealerContacts.push({ ...contact, companyId: dealer.id })\r\n })\r\n });\r\n\r\n dispatch({\r\n type: actionTypes.STORE_BWIC_PARTICIPANTS,\r\n payload: { bwicDealers, bwicDealerUsers, bwicDealerContacts }\r\n })\r\n };\r\n}\r\n\r\nfunction liveBiddingStage2TimeoutEnd() {\r\n return { type: actionTypes.LIVE_BIDDING_STAGE_2_TIMEOUT_END };\r\n}\r\n\r\n","import { createAction } from 'typesafe-actions';\r\nimport { SubmitResultState } from '../types/state/BrokerDealerBiddingState';\r\n\r\nconst confirmation = createAction('bidConfirmation/SHOW',\r\n resolve => (positionIdList: number[]) => resolve({ positionIdList })\r\n);\r\nconst submitInProgress = createAction('bidConfirmation/SUBMIT_IN_PROGRESS',\r\n resolve => (inProgress: boolean, positionId?: number) => resolve({ inProgress, positionId })\r\n);\r\nconst reset = createAction('bidConfirmation/RESET');\r\nconst submitResults = createAction('bidConfirmation/SUBMIT_RESULTS',\r\n resolve => (result: { [positionId: number]: SubmitResultState }) => resolve({ result }));\r\n\r\nexport const bidConfirmationActions = {\r\n confirmation,\r\n submitInProgress,\r\n reset,\r\n submitResults\r\n}\r\n","import { createAction } from \"typesafe-actions\";\r\nimport { ApiError } from \"../types/ApiError\";\r\nimport { PortfolioSlim } from \"../types/portfolio/PortfolioSlim\";\r\nimport { AddToPortfolioPosition } from \"../components/portfolio/add-to-portfolio/AddToPortfolioPopup\";\r\n\r\nconst setPopupVisibility = createAction('addToPortfolio/POPUP_VISIBLE',\r\n resolve => (visible: boolean ) =>\r\n resolve({ visible })\r\n);\r\n\r\nconst reset = createAction('addToPortfolio/RESET');\r\n\r\nconst setSelectedPortfolio = createAction('addToPortfolio/SET_SELECTED_PORTFOLIO',\r\n resolve => (selectedPortfolio?: PortfolioSlim) => resolve({ selectedPortfolio })\r\n);\r\nconst addSecurityToPortfolio = createAction('addToPortfolio/ADD_SECURITY_TO_PORTFOLIO',\r\n resolve => (position: AddToPortfolioPosition, size: number, newPortfolioName?: string) => resolve({ position, size, newPortfolioName })\r\n);\r\n\r\nconst setSubmittingProgress = createAction('addToPortfolio/SAVING_PROGRESS',\r\n resolve => (isSaving: boolean) => resolve({ isSaving })\r\n);\r\n\r\nconst storeError = createAction('addToPortfolio/ERROR',\r\n resolve => (error?: ApiError) => resolve({ error })\r\n);\r\n\r\nexport const addToPortfolioActions = {\r\n setPopupVisibility,\r\n addSecurityToPortfolio,\r\n setSelectedPortfolio,\r\n setSubmittingProgress,\r\n storeError,\r\n reset\r\n};\r\n","import { InventoryPosition } from '../types/inventory/InventoryPosition';\r\nimport { uploadDocumentsActions } from './upload.documents.actions';\r\nimport { AppDispatch } from '../effects/useAppDispatch';\r\nimport { AppState } from '../types/state/AppState';\r\n\r\nfunction init() {\r\n return async (dispatch: AppDispatch, getState: () => AppState) => {\r\n const inventories: InventoryPosition[] = getState().entities.inventory.items;\r\n const securityIds = inventories.map(s => s.securityId);\r\n\r\n dispatch(uploadDocumentsActions.init(securityIds))\r\n }\r\n}\r\nfunction reset() {\r\n return uploadDocumentsActions.reset();\r\n}\r\n\r\nexport const bdInventoryDocuments = {\r\n init,\r\n reset\r\n};\r\n","import { createAction } from 'typesafe-actions';\r\nimport { ApiOperation } from '../types/api-operation/ApiOperation';\r\nimport { ApiOperationResult } from '../types/api-operation/ApiOperationResult';\r\nimport { ApiOperationType } from '../types/api-operation/ApiOperationType';\r\n\r\nconst waitResult = createAction(\r\n 'apiOperation/WAIT_RESULT',\r\n resolve => (...requests: ApiOperation[]) => resolve({ requests })\r\n);\r\nconst result = createAction(\r\n 'apiOperation/RESULT',\r\n resolve => (result: ApiOperationResult) => resolve({ result })\r\n)\r\nconst earlyResult = createAction(\r\n 'apiOperation/EARLY_RESULT',\r\n resolve => (result: ApiOperationResult) => resolve({ result })\r\n)\r\nconst remove = createAction(\r\n 'apiOperation/REMOVE',\r\n resolve => (token: string) => resolve({ token })\r\n)\r\nconst success = createAction(\r\n 'apiOperation/SUCCESS',\r\n resolve => (result: ApiOperationResult) => resolve({ result })\r\n)\r\nconst error = createAction(\r\n 'apiOperation/ERROR',\r\n resolve => (result: ApiOperationResult) => resolve({ result })\r\n)\r\nconst resetEvent = createAction(\r\n 'apiOperation/RESET_EVENT',\r\n resolve => (event: ApiOperationType) => resolve({ event })\r\n);\r\nconst reset = createAction('apiOperation/RESET');\r\nconst trackStuckOperations = createAction('apiOperation/TRACK_STUCK_OPERATIONS')\r\n\r\nexport const apiOperationActions = {\r\n waitResult,\r\n result,\r\n earlyResult,\r\n success,\r\n error,\r\n remove,\r\n resetEvent,\r\n reset,\r\n trackStuckOperations\r\n}\r\n","import { Dispatch, UnknownAction } from 'redux';\r\nimport { AppState } from '../types/state/AppState';\r\nimport { amrPipelineService } from '../services/amr-pipeline.service';\r\nimport { amrPipelineActions as actionTypes, constants, roles } from '../constants';\r\nimport { errorActions } from './error.actions';\r\nimport { DealsPipelineFilters } from '../types/state/PipelineFilterState';\r\nimport { ThunkDispatch } from 'redux-thunk';\r\nimport { user } from '../user';\r\nimport { Company } from '../types/amr-pipeline/models/Company';\r\nimport moment from 'moment';\r\nimport 'moment-timezone';\r\nimport { saveAs } from 'file-saver';\r\nimport { FilterSelectGroup } from '../types/filters/FilterGroup';\r\nimport { createSearchTransactionActions } from './search-transactions.actions';\r\nimport { PipelineView } from '../components/amrPipeline/types/PipelineView';\r\nimport { PipelineType } from '../types/amr-pipeline/enums/PipelineType';\r\nimport {\r\n amrPipelineSelector,\r\n amrPipelineFilterSelector,\r\n issuanceMonitorFilterSelector,\r\n summarySelector,\r\n} from '../selectors/amr-pipeline.selector';\r\nimport { groupSearchByDealAndClassIndicators, getFilterCriteria, mergeSortCriteria } from '../utils/amr-pipeline.utils';\r\nimport { TransactionStatuses, TransactionStatus } from '../types/amr-pipeline/enums/TransactionStatus';\r\nimport { SubscriptionFeature } from '../types/billing/SubscriptionFeature';\r\nimport { UserConfigType } from '../types/user-config/UserConfigType';\r\nimport { isNil } from 'lodash';\r\nimport { dateRangeFilterOptions } from '../constants/date-range.filter';\r\nimport { queryStringSerializer } from '../utils/filtering';\r\nimport { QueryStringArgumentSerializer } from '../utils/filtering/serializers/QueryStringArgumentSerializer';\r\nimport {\r\n savedFilter,\r\n collateralManagers,\r\n arrangers,\r\n dealsLegalNames,\r\n deals,\r\n transactionTypes,\r\n trustees,\r\n multipleCurrencies,\r\n reinvestmentEndFrom,\r\n reinvestmentEndTo,\r\n nonCallEndFrom,\r\n nonCallEndTo,\r\n pricingDateFrom,\r\n pricingDateTo,\r\n ratings,\r\n coupon,\r\n esg,\r\n euCompliance,\r\n staticDeals,\r\n transactionStatuses,\r\n amr,\r\n collateralTypes,\r\n outOfNC,\r\n outOfRI,\r\n} from '../utils/filtering/serializers/serializer.definitions';\r\nimport { createFilterActions } from './filter.actions';\r\nimport { filterUtils } from '../utils/filtering/filter.utils';\r\nimport { statsToCalculateWithoutMedians } from '../types/amr-pipeline/enums/StatsToCalculate';\r\nimport { TransactionClassResponse, TransactionResponse } from '../types/amr-pipeline/models/TransactionResponse';\r\nimport { history } from '../history';\r\nimport { amrCompaniesService } from '../services/amr-companies.service';\r\nimport { HavingDealType } from '../types/amr-pipeline/enums/HavingDealType';\r\n\r\ntype TDispatch = ThunkDispatch;\r\n\r\nexport const createAmrPipelineActions = (pipelineType: PipelineType) => {\r\n const filterActions = createFilterActions(pipelineType);\r\n const searchTransactionsActions = createSearchTransactionActions(pipelineType);\r\n\r\n function init() {\r\n return async (dispatch: TDispatch, getState: () => AppState) => {\r\n try {\r\n const { initialFilter } = amrPipelineFilterSelector(pipelineType)(getState());\r\n\r\n // load Filters for all tabs\r\n await dispatch(loadFilters());\r\n\r\n if (!initialFilter) {\r\n dispatch(initFilter());\r\n\r\n const hasImFiltersAccess = user.hasFeatures(SubscriptionFeature.IssuanceMonitorFiltersEmailAlerts);\r\n\r\n if (hasImFiltersAccess) {\r\n const {\r\n imUserConfig: { filtersConfig },\r\n } = getState();\r\n\r\n let filterType =\r\n pipelineType !== PipelineType.ArrangerPipeline\r\n ? UserConfigType.imFilter\r\n : UserConfigType.apFilter;\r\n\r\n const selectedFilter = filtersConfig[filterType].value.find(filter => filter.default);\r\n dispatch(filterActions.selectFilterFromConfig(selectedFilter, selectedFilter?.referenceName));\r\n }\r\n\r\n await dispatch(setFilterFromSearchString());\r\n }\r\n await dispatch(applyFilterAndSearch());\r\n } catch (e) {\r\n dispatch(errorActions.criticalError(e));\r\n }\r\n };\r\n }\r\n\r\n function filterExistingOptions(optionsNames: string[], optionFilter: FilterSelectGroup) {\r\n return optionsNames.filter(o => optionFilter.filter.find(f => f.value === o));\r\n }\r\n\r\n function setFilterFromSearchString() {\r\n return async (dispatch: TDispatch, getState: () => AppState) => {\r\n const { filter } = issuanceMonitorFilterSelector(pipelineType)(getState());\r\n const {\r\n imUserConfig: { filtersConfig },\r\n } = getState();\r\n\r\n const queryString = history.location.search;\r\n\r\n if (!queryString) {\r\n return;\r\n }\r\n\r\n // Available for all\r\n let arrangerReferenceNames: string[] = [];\r\n let collateralManagerReferenceNames: string[] = [];\r\n let transactionTypesValues: string[] = [];\r\n let currenciesValues: string[] = [];\r\n let statusValues: string[] = [];\r\n let collateralTypesValues: string[] = [];\r\n let ratingValues: string[] = [];\r\n\r\n // Only with IM subscription\r\n let filterReferenceName: string = '';\r\n let dealsReferenceNames: string[] = [];\r\n let dealsLegalNamesValues: string[] = [];\r\n let trusteesReferenceNames: string[] = [];\r\n let riEndFromValue: string = '';\r\n let riEndToValue: string = '';\r\n let ncEndFromValue: string = '';\r\n let ncEndToValue: string = '';\r\n let pricingDateFromValue: Date | null = null;\r\n let pricingDateToValue: Date | null = null;\r\n let couponValue: string = '';\r\n let esgValue: boolean | undefined = undefined;\r\n let euComplianceValue: boolean | undefined = undefined;\r\n let staticDealValue: boolean | undefined = undefined;\r\n let isAmrValue: boolean | undefined = undefined;\r\n let outOfNCValue: boolean | undefined = undefined;\r\n let outOfRIValue: boolean | undefined = undefined;\r\n\r\n const arrangersSerializer = arrangers(\r\n arrangerNames => (arrangerReferenceNames = filterExistingOptions(arrangerNames, filter.arrangers)),\r\n );\r\n const collateralManagersSerializer = collateralManagers(\r\n collateralManagers =>\r\n (collateralManagerReferenceNames = filterExistingOptions(collateralManagers, filter.managers)),\r\n filter.managers.filter.map(filter => filter.value as string)\r\n );\r\n const transactionTypesSerializer = transactionTypes(\r\n transactionTypes => (transactionTypesValues = transactionTypes),\r\n );\r\n const currenciesSerializer = multipleCurrencies(currencies => (currenciesValues = currencies));\r\n const statusSerializer = transactionStatuses(statuses => (statusValues = statuses));\r\n const collateralTypesSerializer = collateralTypes(types => (collateralTypesValues = types));\r\n const ratingsSerializer = ratings(ratings => (ratingValues = ratings));\r\n const filterSerializer = savedFilter(filter => (filterReferenceName = filter));\r\n const trusteesSerializer = trustees(\r\n trusteesNames => (trusteesReferenceNames = filterExistingOptions(trusteesNames, filter.trustees)),\r\n );\r\n const dealsReferenceNamesSerializer = deals(deals => (dealsReferenceNames = deals));\r\n const dealsLegalNamesSerializer = dealsLegalNames(deals => (dealsLegalNamesValues = deals));\r\n const riEndFromSerializer = reinvestmentEndFrom(riEndFrom => (riEndFromValue = riEndFrom));\r\n const riEndToSerializer = reinvestmentEndTo(riEndTo => (riEndToValue = riEndTo));\r\n const ncEndFromSerializer = nonCallEndFrom(ncEndFrom => (ncEndFromValue = ncEndFrom));\r\n const ncEndToSerializer = nonCallEndTo(ncEndTo => (ncEndToValue = ncEndTo));\r\n const pricingDateFromSerializer = pricingDateFrom(\r\n pricingDateFrom => (pricingDateFromValue = pricingDateFrom),\r\n );\r\n const pricingDateToSerializer = pricingDateTo(pricingDateTo => (pricingDateToValue = pricingDateTo));\r\n const couponSerializer = coupon(coupon => (couponValue = coupon));\r\n const esgSerializer = esg(esg => (esgValue = esg));\r\n const euComplianceSerializer = euCompliance(euCompliance => (euComplianceValue = euCompliance));\r\n const staticDealsSerializer = staticDeals(staticDeals => (staticDealValue = staticDeals));\r\n const isAmrSerializer = amr(amr => (isAmrValue = amr));\r\n const outOfNCSerializer = outOfNC(outOfNC => (outOfNCValue = outOfNC));\r\n const outOfRISerializer = outOfRI(outOfRI => (outOfRIValue = outOfRI));\r\n\r\n const hasImFiltersAccess = user.hasFeatures(SubscriptionFeature.IssuanceMonitorFiltersEmailAlerts);\r\n\r\n const generalSerializers: QueryStringArgumentSerializer[] = [\r\n collateralManagersSerializer,\r\n arrangersSerializer,\r\n transactionTypesSerializer,\r\n currenciesSerializer,\r\n ratingsSerializer,\r\n statusSerializer,\r\n collateralTypesSerializer,\r\n ];\r\n\r\n const imFilterSubscriptionSerializers: QueryStringArgumentSerializer[] = [\r\n filterSerializer,\r\n dealsReferenceNamesSerializer,\r\n dealsLegalNamesSerializer,\r\n trusteesSerializer,\r\n riEndFromSerializer,\r\n riEndToSerializer,\r\n ncEndFromSerializer,\r\n ncEndToSerializer,\r\n pricingDateFromSerializer,\r\n pricingDateToSerializer,\r\n couponSerializer,\r\n esgSerializer,\r\n euComplianceSerializer,\r\n staticDealsSerializer,\r\n isAmrSerializer,\r\n outOfNCSerializer,\r\n outOfRISerializer,\r\n ];\r\n\r\n const serializers = hasImFiltersAccess\r\n ? [...generalSerializers, ...imFilterSubscriptionSerializers]\r\n : generalSerializers;\r\n\r\n queryStringSerializer.deserialize(queryString, serializers);\r\n\r\n if (filterReferenceName) {\r\n let filterType =\r\n pipelineType !== PipelineType.ArrangerPipeline ? UserConfigType.imFilter : UserConfigType.apFilter;\r\n\r\n const selectedFilter = filtersConfig[filterType].value.find(\r\n filter => filter.referenceName === filterReferenceName,\r\n );\r\n\r\n return dispatch(filterActions.selectFilterFromConfig(selectedFilter, filterReferenceName));\r\n }\r\n\r\n if (\r\n arrangerReferenceNames.length ||\r\n collateralManagerReferenceNames.length ||\r\n dealsReferenceNames.length ||\r\n dealsLegalNamesValues.length ||\r\n transactionTypesValues.length ||\r\n trusteesReferenceNames.length ||\r\n currenciesValues.length ||\r\n riEndFromValue ||\r\n riEndToValue ||\r\n ncEndFromValue ||\r\n ncEndToValue ||\r\n pricingDateFromValue ||\r\n pricingDateToValue ||\r\n ratingValues.length ||\r\n couponValue ||\r\n !isNil(esgValue) ||\r\n !isNil(euComplianceValue) ||\r\n !isNil(staticDealValue) ||\r\n !isNil(isAmrValue) ||\r\n !isNil(outOfNCValue) ||\r\n !isNil(outOfRIValue) ||\r\n statusValues.length ||\r\n collateralTypesValues.length\r\n ) {\r\n dispatch(filterActions.resetFiltersAndUnselectSavedFilter());\r\n dispatch(searchTransactionsActions.reset());\r\n dispatch(filterActions.resetFiltersVisibility());\r\n }\r\n\r\n if (trusteesReferenceNames.length) {\r\n dispatch(filterActions.makeFilterVisible('trustees'));\r\n }\r\n\r\n if (riEndFromValue || riEndToValue) {\r\n dispatch(filterActions.makeFilterVisible('reinvestmentEnd'));\r\n dispatch(filterActions.filterDateSelectOption(dateRangeFilterOptions.YearsRange, 'reinvestmentEnd'));\r\n dispatch(\r\n filterActions.filterDateSelectYearsRange(\r\n { from: riEndFromValue, to: riEndToValue },\r\n 'reinvestmentEnd',\r\n ),\r\n );\r\n }\r\n\r\n if (ncEndFromValue || ncEndToValue) {\r\n dispatch(filterActions.makeFilterVisible('nonCallEnd'));\r\n dispatch(filterActions.filterDateSelectOption(dateRangeFilterOptions.YearsRange, 'nonCallEnd'));\r\n dispatch(\r\n filterActions.filterDateSelectYearsRange({ from: ncEndFromValue, to: ncEndToValue }, 'nonCallEnd'),\r\n );\r\n }\r\n\r\n if (pricingDateFromValue || pricingDateToValue) {\r\n dispatch(filterActions.makeFilterVisible('pricingDate'));\r\n dispatch(filterActions.filterDateSelectOption(dateRangeFilterOptions.Custom, 'pricingDate'));\r\n dispatch(\r\n filterActions.filterDateSelectCustomRange(\r\n { from: pricingDateFromValue, to: pricingDateToValue },\r\n 'pricingDate',\r\n ),\r\n );\r\n }\r\n\r\n if (couponValue) {\r\n dispatch(filterActions.makeFilterVisible('coupons'));\r\n dispatch(filterActions.filterRadioChange(couponValue, 'coupons'));\r\n }\r\n\r\n if (!isNil(esgValue)) {\r\n dispatch(filterActions.makeFilterVisible('esg'));\r\n dispatch(filterActions.filterRadioChange(esgValue, 'esg'));\r\n }\r\n\r\n if (!isNil(euComplianceValue)) {\r\n dispatch(filterActions.makeFilterVisible('euCompliance'));\r\n dispatch(filterActions.filterRadioChange(euComplianceValue, 'euCompliance'));\r\n }\r\n\r\n if (!isNil(staticDealValue)) {\r\n dispatch(filterActions.makeFilterVisible('staticDeal'));\r\n dispatch(filterActions.filterRadioChange(staticDealValue, 'staticDeal'));\r\n }\r\n\r\n if (!isNil(isAmrValue)) {\r\n dispatch(filterActions.makeFilterVisible('amrDeal'));\r\n dispatch(filterActions.filterRadioChange(isAmrValue, 'amrDeal'));\r\n }\r\n\r\n if (!isNil(outOfNCValue)) {\r\n dispatch(filterActions.makeFilterVisible('outOfNC'));\r\n dispatch(filterActions.filterRadioChange(outOfNCValue, 'outOfNC'));\r\n }\r\n\r\n if (!isNil(outOfRIValue)) {\r\n dispatch(filterActions.makeFilterVisible('outOfRI'));\r\n dispatch(filterActions.filterRadioChange(outOfRIValue, 'outOfRI'));\r\n }\r\n\r\n arrangerReferenceNames.map(referenceName =>\r\n dispatch(filterActions.filterSelectChange(referenceName, 'arrangers')),\r\n );\r\n trusteesReferenceNames.map(referenceName =>\r\n dispatch(filterActions.filterSelectChange(referenceName, 'trustees')),\r\n );\r\n\r\n collateralManagerReferenceNames.map(referenceName =>\r\n dispatch(filterActions.filterSelectChange(referenceName, 'managers')),\r\n );\r\n\r\n dealsReferenceNames.map((referenceName, i) =>\r\n dispatch(\r\n searchTransactionsActions.addSearchItem({\r\n label: dealsLegalNamesValues[i] ?? referenceName,\r\n referenceName,\r\n }),\r\n ),\r\n );\r\n\r\n transactionTypesValues.map(transactionType =>\r\n dispatch(filterActions.filterSelectChange(transactionType, 'transactionTypes')),\r\n );\r\n\r\n currenciesValues.map(currency => dispatch(filterActions.filterSelectChange(currency, 'currency')));\r\n\r\n ratingValues.map(rating => dispatch(filterActions.filterSelectChange(rating, 'ratings')));\r\n\r\n statusValues.map(status => dispatch(filterActions.filterSelectChange(status, 'statuses')));\r\n\r\n collateralTypesValues.map(collateralType =>\r\n dispatch(filterActions.filterSelectChange(collateralType, 'collateralType')),\r\n );\r\n\r\n history.replace(history.location.pathname);\r\n };\r\n }\r\n\r\n function logInitialAccessToIM() {\r\n return async (dispatch: TDispatch) => {\r\n await amrPipelineService.logImUserActivity();\r\n\r\n dispatch({\r\n type: actionTypes.PIPELINE_INITIAL_LOAD,\r\n pipelineType,\r\n });\r\n };\r\n }\r\n\r\n function handleVisibilityFilter(filterName: string) {\r\n return (dispatch: TDispatch, getState: () => AppState) => {\r\n dispatch(filterActions.filterVisibilityChange(filterName));\r\n const { filter, lastAppliedFilter } = amrPipelineFilterSelector(pipelineType)(getState());\r\n\r\n const filterChanged = filterUtils.isFilterChanged(pipelineType, filter, lastAppliedFilter);\r\n const currentFilter = filter[filterName];\r\n\r\n if (!currentFilter.visible) {\r\n dispatch(filterActions.updateFilterState());\r\n if (filterChanged) {\r\n dispatch(apply());\r\n }\r\n }\r\n };\r\n }\r\n\r\n function loadFilters() {\r\n return async (dispatch: TDispatch, getState: () => AppState) => {\r\n const { initialFilter, redirectFilters } = issuanceMonitorFilterSelector(pipelineType)(getState());\r\n\r\n if (!initialFilter) {\r\n await Promise.all([\r\n dispatch(\r\n filterActions.storeFilterData.request({\r\n filterName: 'managers',\r\n filterType: pipelineType,\r\n }),\r\n ),\r\n dispatch(\r\n filterActions.storeFilterData.request({\r\n filterName: 'arrangers',\r\n filterType: pipelineType,\r\n }),\r\n ),\r\n dispatch(\r\n filterActions.storeFilterData.request({\r\n filterName: 'classNames',\r\n filterType: pipelineType,\r\n }),\r\n ),\r\n dispatch(\r\n filterActions.storeFilterData.request({\r\n filterName: 'trustees',\r\n filterType: pipelineType,\r\n }),\r\n ),\r\n ]);\r\n\r\n const [managers, arrangers, classNames, trustees]: [Company[], Company[], string[], Company[]] =\r\n await Promise.all([\r\n amrCompaniesService.getManagersList(HavingDealType.CmHavingAllPublishedDeals),\r\n amrCompaniesService.getArrangersList(true),\r\n amrPipelineService.getTransactionClassesNames(),\r\n amrCompaniesService.getTrusteeList(),\r\n ]);\r\n\r\n await Promise.all([\r\n dispatch(\r\n filterActions.storeFilterData.success({\r\n filterName: 'managers',\r\n filterType: pipelineType,\r\n data: managers\r\n .sort((a, b) => a.legalName.localeCompare(b.legalName))\r\n .map(m => ({\r\n selected: false,\r\n disabled: false,\r\n visible: true,\r\n value: m.referenceName,\r\n text: m.legalName,\r\n })),\r\n }),\r\n ),\r\n dispatch(\r\n filterActions.storeFilterData.success({\r\n filterName: 'arrangers',\r\n filterType: pipelineType,\r\n data: arrangers\r\n .sort((a, b) => a.legalName.localeCompare(b.legalName))\r\n .map(a => ({\r\n selected: false,\r\n disabled: false,\r\n visible: true,\r\n value: a.referenceName,\r\n text: a.legalName + (a.code ? ' (' + a.code + ')' : ''),\r\n })),\r\n }),\r\n ),\r\n dispatch(\r\n filterActions.storeFilterData.success({\r\n filterName: 'classNames',\r\n filterType: pipelineType,\r\n data: classNames\r\n .sort((a, b) => a.localeCompare(b))\r\n .map(\r\n a =>\r\n redirectFilters?.classNames?.find(f => f.value === a) ?? {\r\n selected: false,\r\n disabled: false,\r\n visible: true,\r\n value: a,\r\n text: a,\r\n },\r\n ),\r\n }),\r\n ),\r\n dispatch(\r\n filterActions.storeFilterData.success({\r\n filterName: 'trustees',\r\n filterType: pipelineType,\r\n data: trustees\r\n .sort((a, b) => a.legalName.localeCompare(b.legalName))\r\n .map(t => ({\r\n selected: false,\r\n disabled: false,\r\n visible: true,\r\n value: t.referenceName,\r\n text: t.legalName,\r\n })),\r\n }),\r\n ),\r\n ]);\r\n }\r\n };\r\n }\r\n\r\n function initFilter() {\r\n return (dispatch: TDispatch, getState: () => AppState) => {\r\n const { filter } = amrPipelineFilterSelector(pipelineType)(getState());\r\n const newFilter = { ...filter };\r\n\r\n let statusOptions = TransactionStatuses;\r\n\r\n if (user.hasRoles(...roles.getAllRolesExclude(...roles.admin(), roles.DataEntry))) {\r\n statusOptions = TransactionStatuses.filter(status => status.value !== TransactionStatus.Draft);\r\n }\r\n\r\n (newFilter as DealsPipelineFilters).statuses.filter = statusOptions.map(s => ({\r\n ...s,\r\n selected: false,\r\n disabled: false,\r\n visible: true,\r\n }));\r\n\r\n dispatch(filterActions.init(newFilter));\r\n dispatch(filterActions.updateFilterState());\r\n };\r\n }\r\n\r\n function apply() {\r\n return (dispatch: TDispatch) => {\r\n dispatch(resetTransactions());\r\n dispatch(applyFilterAndSearch());\r\n };\r\n }\r\n\r\n function exportTransactionsClasses(exportedFrom: PipelineView) {\r\n return (dispatch: Dispatch, getState: () => AppState) => {\r\n const {\r\n deals: { classSortBy, classSortDirection, dealSortBy, dealSortDirection },\r\n searchTransactions: { searchTermItems },\r\n } = amrPipelineSelector(pipelineType)(getState());\r\n\r\n const { lastAppliedFilter } = amrPipelineFilterSelector(pipelineType)(getState());\r\n\r\n dispatch(setExportLoading(true));\r\n\r\n const { deals, dealsClasses } = groupSearchByDealAndClassIndicators(searchTermItems);\r\n\r\n const exportCriteria = {\r\n ...getFilterCriteria(lastAppliedFilter, pipelineType),\r\n deals,\r\n dealsClasses,\r\n exportedFrom,\r\n };\r\n\r\n const classSortCriteria = mergeSortCriteria(\r\n classSortBy,\r\n classSortDirection,\r\n constants.defaultClassOrderCriteria,\r\n );\r\n const dealSortCriteria = mergeSortCriteria(\r\n dealSortBy,\r\n dealSortDirection,\r\n constants.defaultDealOrderCriteria,\r\n );\r\n\r\n amrPipelineService\r\n .exportTransactionsClasses(exportCriteria, dealSortCriteria, classSortCriteria)\r\n .then((file: { blob: Blob }) =>\r\n saveAs(\r\n file.blob,\r\n `Issuance Monitor - ${moment().format(constants.issuanceMonitorExportDateFormat)}.xlsx`,\r\n ),\r\n )\r\n .finally(() => dispatch(setExportLoading(false)));\r\n };\r\n }\r\n\r\n function reset() {\r\n return (dispatch: TDispatch) => {\r\n dispatch(filterActions.resetFilterState());\r\n dispatch({\r\n type: actionTypes.PIPELINE_RESET,\r\n pipelineType,\r\n });\r\n };\r\n }\r\n\r\n function searchTransactions(isSearching: boolean) {\r\n return {\r\n type: actionTypes.PIPELINE_SEARCH_TRANSACTIONS,\r\n pipelineType,\r\n isSearching,\r\n };\r\n }\r\n\r\n function searchClasses(isSearching: boolean) {\r\n return {\r\n type: actionTypes.PIPELINE_SEARCH_CLASSES,\r\n pipelineType,\r\n isSearching,\r\n };\r\n }\r\n\r\n function dealSortingChanged(sortBy: string, direction: string) {\r\n return (dispatch: TDispatch) => {\r\n dispatch({\r\n type: actionTypes.PIPELINE_DEAL_SORTING_CHANGED,\r\n pipelineType,\r\n sortBy,\r\n direction,\r\n });\r\n };\r\n }\r\n\r\n function classSortingChanged(sortBy: string, direction: string) {\r\n return (dispatch: TDispatch) => {\r\n dispatch({\r\n type: actionTypes.PIPELINE_CLASS_SORTING_CHANGED,\r\n pipelineType,\r\n sortBy,\r\n direction,\r\n });\r\n };\r\n }\r\n\r\n function summaryRequesting(isLoading: boolean) {\r\n return {\r\n type: actionTypes.PIPELINE_SUMMARY_REQUESTING_STATE,\r\n pipelineType,\r\n isLoading,\r\n };\r\n }\r\n\r\n function loadSummary() {\r\n return async (dispatch: TDispatch, getState: () => AppState) => {\r\n const {\r\n filter: { lastAppliedFilter },\r\n searchTransactions: { searchTermItems },\r\n } = amrPipelineSelector(pipelineType)(getState());\r\n\r\n const { shouldShowTransactionsSummary, shouldShowClassesSummary } = summarySelector(pipelineType)(getState());\r\n\r\n const filterCriteria = {\r\n ...getFilterCriteria(lastAppliedFilter, pipelineType),\r\n deals: searchTermItems.map(i => i.referenceName),\r\n count: constants.defaultTransactionsSearchCriteria.count,\r\n };\r\n\r\n dispatch(summaryRequesting(true));\r\n\r\n try {\r\n const transactionsSummaryPromise = amrPipelineService.getTransactionsSummary(\r\n filterCriteria,\r\n shouldShowTransactionsSummary\r\n ? undefined\r\n : statsToCalculateWithoutMedians\r\n );\r\n const classesSummaryPromise = shouldShowClassesSummary ? amrPipelineService.getTransactionClassesSummary(filterCriteria) : null;\r\n\r\n const [transactionsSummary, classesSummary] = await Promise.all([\r\n transactionsSummaryPromise,\r\n classesSummaryPromise,\r\n ]);\r\n\r\n dispatch({\r\n type: actionTypes.PIPELINE_STORE_SUMMARY,\r\n pipelineType,\r\n transactionsSummary,\r\n classesSummary,\r\n });\r\n } catch (error) {\r\n dispatch(errorActions.criticalError(error));\r\n } finally {\r\n dispatch(summaryRequesting(false));\r\n }\r\n };\r\n }\r\n\r\n function applyFilterAndSearch() {\r\n return async (dispatch: TDispatch) => {\r\n dispatch(filterActions.applyFilter());\r\n\r\n try {\r\n await Promise.all([\r\n dispatch(loadClasses()),\r\n dispatch(loadTransactions()),\r\n user.hasFeatures(SubscriptionFeature.IssuanceMonitorFullAccess) ? dispatch(loadSummary()) : null,\r\n ]);\r\n } catch (e) {\r\n dispatch(filterActions.resetFilter());\r\n dispatch(errorActions.criticalError(e));\r\n }\r\n };\r\n }\r\n\r\n function loadTransactions() {\r\n return async (dispatch: TDispatch, getState: () => AppState) => {\r\n const {\r\n deals: { dealSortBy, dealSortDirection, transactionsOffset },\r\n searchTransactions: { searchTermItems },\r\n } = amrPipelineSelector(pipelineType)(getState());\r\n const { lastAppliedFilter } = amrPipelineFilterSelector(pipelineType)(getState());\r\n\r\n const { deals, dealsClasses } = groupSearchByDealAndClassIndicators(searchTermItems);\r\n\r\n const filterCriteria = {\r\n ...getFilterCriteria(lastAppliedFilter, pipelineType),\r\n deals,\r\n dealsClasses,\r\n count: 40,\r\n };\r\n\r\n const dealSortCriteria = mergeSortCriteria(\r\n dealSortBy,\r\n dealSortDirection,\r\n constants.defaultDealOrderCriteria,\r\n );\r\n\r\n dispatch(searchTransactions(true));\r\n\r\n try {\r\n const transactions: TransactionResponse = await amrPipelineService.getTransactionsList(\r\n { ...filterCriteria, offset: transactionsOffset },\r\n dealSortCriteria,\r\n );\r\n\r\n dispatch(searchTransactions(false));\r\n dispatch({\r\n type: actionTypes.PIPELINE_STORE_TRANSACTIONS,\r\n pipelineType,\r\n transactions,\r\n });\r\n\r\n if (pipelineType === PipelineType.IOIs && !transactions.items.length) {\r\n const oneIOIs: TransactionResponse = await amrPipelineService.getTransactionsList({\r\n hasIOIs: true,\r\n includeIois: true,\r\n count: 1,\r\n });\r\n\r\n const anyIOIsExists = !!oneIOIs.items.length;\r\n dispatch({\r\n type: actionTypes.PIPELINE_SET_ANY_IOIS_EXISTS,\r\n pipelineType,\r\n anyIOIsExists,\r\n });\r\n }\r\n } catch (e) {\r\n dispatch(searchTransactions(false));\r\n dispatch(errorActions.criticalError(e));\r\n }\r\n };\r\n }\r\n\r\n function loadClasses() {\r\n return async (dispatch: TDispatch, getState: () => AppState) => {\r\n const {\r\n deals: { classSortBy, classSortDirection, classesOffset },\r\n searchTransactions: { searchTermItems },\r\n } = amrPipelineSelector(pipelineType)(getState());\r\n const { lastAppliedFilter } = amrPipelineFilterSelector(pipelineType)(getState());\r\n\r\n const { deals, dealsClasses } = groupSearchByDealAndClassIndicators(searchTermItems);\r\n\r\n const filterCriteria = {\r\n ...getFilterCriteria(lastAppliedFilter, pipelineType),\r\n deals,\r\n dealsClasses,\r\n count: 40,\r\n };\r\n\r\n const classSortCriteria = mergeSortCriteria(\r\n classSortBy,\r\n classSortDirection,\r\n constants.defaultClassOrderCriteria,\r\n );\r\n\r\n dispatch(searchClasses(true));\r\n\r\n try {\r\n const classes: TransactionClassResponse = await amrPipelineService.getTransactionClasses(\r\n { ...filterCriteria, offset: classesOffset },\r\n classSortCriteria,\r\n );\r\n\r\n dispatch(searchClasses(false));\r\n dispatch({\r\n type: actionTypes.PIPELINE_STORE_CLASSES,\r\n pipelineType,\r\n classes,\r\n });\r\n } catch (e) {\r\n dispatch(searchClasses(false));\r\n dispatch(errorActions.criticalError(e));\r\n }\r\n };\r\n }\r\n\r\n function changeDealSelectFromTable(dealLegalName: string, dealReferenceName: string) {\r\n return (dispatch: TDispatch, getState: () => AppState) => {\r\n const {\r\n searchTransactions: { searchTermItems },\r\n } = amrPipelineSelector(pipelineType)(getState());\r\n const isDealSelected =\r\n searchTermItems.some(i => i.referenceName === dealReferenceName) && searchTermItems.length === 1;\r\n\r\n dispatch(filterActions.resetFiltersAndUnselectSavedFilter());\r\n dispatch(searchTransactionsActions.reset());\r\n\r\n isDealSelected\r\n ? dispatch(searchTransactionsActions.removeSearchItem(0))\r\n : dispatch(\r\n searchTransactionsActions.addSearchItem({\r\n label: dealLegalName,\r\n referenceName: dealReferenceName,\r\n }),\r\n );\r\n\r\n dispatch(apply());\r\n };\r\n }\r\n\r\n function filterReset() {\r\n return (dispatch: TDispatch) => {\r\n dispatch(filterActions.resetFiltersAndUnselectSavedFilter());\r\n dispatch(apply());\r\n };\r\n }\r\n\r\n function resetTransactions() {\r\n return {\r\n type: actionTypes.PIPELINE_RESET_TRANSACTIONS,\r\n pipelineType,\r\n };\r\n }\r\n\r\n function setExpanded(expanded: boolean) {\r\n return {\r\n type: actionTypes.PIPELINE_SET_EXPANDED,\r\n pipelineType,\r\n expanded,\r\n };\r\n }\r\n\r\n function setExportLoading(isLoading: boolean) {\r\n return {\r\n type: actionTypes.PIPELINE_EXPORT_LOAD,\r\n pipelineType,\r\n isLoading,\r\n };\r\n }\r\n\r\n function setSyndicateContacts(\r\n dealLegalName: string,\r\n dealReferenceName: string,\r\n transactionReferenceName: string,\r\n arrangerName: string,\r\n ) {\r\n return async (dispatch: TDispatch) => {\r\n try {\r\n const contacts = await amrPipelineService.getSyndicateContacts(\r\n dealReferenceName,\r\n transactionReferenceName,\r\n );\r\n\r\n dispatch({\r\n type: actionTypes.PIPELINE_SET_SYNDICATE_CONTACTS,\r\n pipelineType,\r\n transactionName: dealLegalName,\r\n contacts,\r\n arrangerName,\r\n });\r\n } catch (e) {\r\n dispatch(errorActions.criticalError(e));\r\n }\r\n };\r\n }\r\n\r\n function resetSyndicateContacts() {\r\n return {\r\n type: actionTypes.PIPELINE_SET_SYNDICATE_CONTACTS,\r\n pipelineType,\r\n syndicateContacts: null,\r\n };\r\n }\r\n\r\n return {\r\n init,\r\n reset,\r\n handleVisibilityFilter,\r\n filterReset,\r\n apply,\r\n searchTransactions,\r\n resetTransactions,\r\n dealSortingChanged,\r\n classSortingChanged,\r\n setExpanded,\r\n applyFilterAndSearch,\r\n exportTransactionsClasses,\r\n changeDealSelectFromTable,\r\n loadTransactions,\r\n loadClasses,\r\n setSyndicateContacts,\r\n resetSyndicateContacts,\r\n logInitialAccessToIM,\r\n loadFilters,\r\n initFilter,\r\n };\r\n};\r\n","import { createAction } from \"typesafe-actions\";\r\nimport { BidOnBehalfConflict } from \"../types/bid-on-behalf/BidOnBehalfConflict\";\r\nimport { CompanySlim } from \"../types/company/CompanySlim\";\r\n\r\nconst requestCompanies = createAction('bidOnBehalf/REQUEST');\r\nconst setCompainesRequesting = createAction(\r\n 'bidOnBehalf/REQUESTING',\r\n resolve => (isRequesting: boolean) => resolve({ isRequesting })\r\n);\r\nconst reset = createAction('bidOnBehalf/RESET');\r\nconst storeCompanies = createAction(\r\n 'bidOnBehalf/STORE',\r\n resolve => (companies: CompanySlim[]) => resolve({ companies })\r\n);\r\nconst editBid = createAction(\r\n 'bidOnBehalf/EDIT_BID',\r\n resolve => (positionId: number, companyId: number, value: string, editCompleted: boolean, error?: string) =>\r\n resolve({ positionId, companyId, value, editCompleted, error })\r\n);\r\nconst resetBidEdit = createAction(\r\n 'bidOnBehalf/RESET_BID_EDIT',\r\n resolve => (positionId: number, companyId: number) => resolve({ positionId, companyId })\r\n);\r\nconst resetCompanyBidsEdit = createAction(\r\n 'bidOnBehalf/RESET_COMPANY_BIDS_EDIT',\r\n resolve => (companyId: number) => resolve({ companyId })\r\n);\r\nconst resetEdit = createAction('bidOnBehalf/RESET_EDIT');\r\nconst pass = createAction(\r\n 'bidOnBehalf/PASS',\r\n resolve => (positionId: number, companyId: number) => resolve({ positionId, companyId })\r\n);\r\nconst axed = createAction(\r\n 'bidOnBehalf/AXED',\r\n resolve => (positionId: number, companyId: number, axed: boolean) => resolve({ positionId, companyId, axed })\r\n);\r\nconst final = createAction(\r\n 'bidOnBehalf/FINAL',\r\n resolve => (positionId: number, companyId: number, final: boolean) => resolve({ positionId, companyId, final })\r\n);\r\nconst submit = createAction(\r\n 'bidOnBehalf/SUBMIT',\r\n resolve => (resolveConflicts?: boolean) => resolve({ resolveConflicts })\r\n);\r\nconst submitProgress = createAction('bidOnBehalf/SUBMIT_POGRESS',\r\n resolve => (inProgress: boolean) => resolve({ inProgress })\r\n);\r\nconst storeConflicts = createAction(\r\n 'bidOnBehalf/CONFLICTS',\r\n resolve => (conflicts: BidOnBehalfConflict[]) => resolve({ conflicts })\r\n);\r\nconst resetConflicts = createAction('bidOnBehalf/RESET_CONFLICTS');\r\nconst conflictsPopupVisible = createAction(\r\n 'bidOnBehalf/CONFLICTS_POPUP_VISIBLE',\r\n resolve => (visible: boolean) => resolve({ visible })\r\n);\r\nconst moveNextBid = createAction('bidOnBehalf/MOVE_NEXT_BID',\r\n resolve => (companyId: number, positionId: number) => resolve({ companyId, positionId })\r\n);\r\nconst setNextBidIdentifiers = createAction('bidOnBehalf/SET_NEXT_BID_IDENTIFIERS',\r\n resolve => (companyId: number, positionId: number) => resolve({ companyId, positionId })\r\n);\r\nconst resetNextBidIdentifiers = createAction('bidOnBehalf/RESET_NEXT_BID_IDENTIFIERS');\r\n\r\nexport const bidOnBehalfActions = {\r\n requestCompanies,\r\n setCompainesRequesting,\r\n reset,\r\n storeCompanies,\r\n editBid,\r\n resetEdit,\r\n resetBidEdit,\r\n resetCompanyBidsEdit,\r\n pass,\r\n axed,\r\n final,\r\n submit,\r\n submitProgress,\r\n storeConflicts,\r\n resetConflicts,\r\n conflictsPopupVisible,\r\n moveNextBid,\r\n setNextBidIdentifiers,\r\n resetNextBidIdentifiers\r\n}\r\n","import { createAction } from 'typesafe-actions';\r\nimport { City } from '../types/location/City';\r\nimport { Country } from '../types/location/Country';\r\nimport { State } from '../types/location/State';\r\n\r\nconst loadCountries = createAction('address/countries/REQUEST');\r\n\r\nconst loadCountriesResponse = createAction(\r\n 'address/countries/RESPONSE',\r\n resolve => (countries: Country[]) => resolve(countries),\r\n);\r\n\r\nconst loadStates = createAction(\r\n 'address/states/REQUEST',\r\n resolve => (countryId: number) => resolve({ countryId }),\r\n);\r\n\r\nconst loadStatesResponse = createAction(\r\n 'address/states/RESPONSE',\r\n resolve => (states: State[]) => resolve(states),\r\n);\r\n\r\nconst loadCities = createAction(\r\n 'address/cities/REQUEST',\r\n resolve => (countryId: number, stateId?: number) => resolve({ countryId, stateId }),\r\n);\r\n\r\nconst loadCitiesResponse = createAction(\r\n 'address/cities/RESPONSE',\r\n resolve => (cities: City[]) => resolve(cities),\r\n);\r\n\r\nexport const addressActions = {\r\n loadCountries,\r\n loadCountriesResponse,\r\n loadStates,\r\n loadStatesResponse,\r\n loadCities,\r\n loadCitiesResponse,\r\n};\r\n","import { createAction } from 'typesafe-actions';\r\nimport { CompanySlim } from '../types/company/CompanySlim';\r\nimport { InventoryPosition } from '../types/inventory/InventoryPosition';\r\n\r\nconst loadInventory = createAction(\"entities/admin-inventory-edit/LOAD_INVENTORT\",\r\n resolve => (companyId: number) => resolve({ companyId })\r\n);\r\nconst requestInventory = createAction(\"entities/admin-inventory-edit/REQUEST\");\r\nconst requestInventorySuccess = createAction(\"entities/admin-inventory-edit/REQUEST_SUCCESS\",\r\n resolve => (company: CompanySlim | undefined, positions: InventoryPosition[], lockModifiedDate?: Date) =>\r\n resolve({ company, positions, lockModifiedDate })\r\n);\r\nconst requestInventoryError = createAction(\"entities/admin-inventory-edit/REQUEST_ERROR\");\r\nconst reset = createAction(\"entities/admin-inventory-edit/RESET\");\r\n\r\nexport const adminInventoryEditActions = {\r\n loadInventory,\r\n requestInventory,\r\n requestInventorySuccess,\r\n requestInventoryError,\r\n reset\r\n};\r\n"],"names":["amrPipelineDetailedActions","init","dealReferenceName","transactionReferenceName","token","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","dispatch","getState","isInvitedClient","wrap","_context","prev","next","user","hasSingleRole","roles","ArrangersClient","amrPipelineService","updateArrangerClient","logAccessToSharedTransaction","t0","errorActions","criticalError","Promise","all","loadTransactions","loadInitialTransaction","stop","_x","_x2","apply","arguments","transactionsSearchTermChange","tab","_ref4","_callee4","_context4","issuanceMonitor","amrPipelineDetailed","isTransactionDetailsRequesting","requestCancelationController","abort","history","location","pathname","transactionDetailsRequesting","resetTransactions","_x7","_x8","searchTermChange","searchTerm","type","actionTypes","SEARCH_TERM_CHANGE","documentsSearchTermChange","_ref5","_callee5","_getState2","_getState2$issuanceMo","loadedTransactionsWithDetails","initialTransaction","selectedTransaction","documents","filteredDocuments","_context5","find","t","referenceName","getSearchedTransactionDocuments","storeDocumentsSearchResults","_x9","_x10","loadTransactionDetails","loadIOIs","_ref7","_callee6","_getState3","_getState3$issuanceMo","_getState3$issuanceMo2","userCompany","hasImSubscription","transaction","limitedAccess","limitedClientsAccess","hasArrangerProSubscription","withoutImAndArrangerProSubscriptions","isMedia","portfolioPromise","documentsPromise","collateralQualityTestsPromise","syndicateContactsPromise","ioisPromise","intexFilePromise","managerPresentationFilePromise","disclosureFilePromise","invitedClientsPromise","_yield$Promise$all","_yield$Promise$all2","portfolio","collateralQualityTests","_yield$Promise$all2$","syndicateContacts","iois","intexFile","managerPresentationFile","disclosureFile","invitedClients","_context6","amrPipelineCommon","hasFeatures","SubscriptionFeature","IssuanceMonitorFullAccess","some","abrupt","getTransaction","sent","hasLimitedAccess","hasInvitedClientsAccess","transactionHasArrangerProSubscription","hasRoles","Media","getPortfolio","getDocuments","getCollateralQualityTest","getSyndicateContacts","getIOIs","getIntexFile","getManagerPresentationFile","getDisclosureFile","getSharedClients","_slicedToArray","storeTransactionDetails","_objectSpread","isDetailsLoaded","STORE_IOIS","dataItems","t1","finish","_x11","_x12","transactionsRequesting","exportPortfolio","dealLegalName","then","file","saveAs","blob","concat","moment","format","constants","dateFormat","editIOIs","submitIOIs","activeTab","_ref10","_callee9","grid","isAnyIoI","_grid$dataItems$filte","ioisForSubmit","notificationSubj","notificationBody","_context9","gridActions","validate","i","draft","isValid","ioisSubmitting","filter","item","length","pushNotificationService","sendNotification","PipelineDetailedTabTypes","ioi","error","_x17","_x18","showGridIOIs","_ref8","_callee7","_currentTransaction$i","_getState4","_getState4$issuanceMo","currentTransaction","classReferenceNameColumn","floaterIndexColumn","columns","_context7","isDeleted","isIoIonDisabledClass","classes","gridColumns","classReferenceName","selectSourceItemsCallback","_currentTransaction$c","map","c","key","title","originatingTransactionClassStatus","OriginatingTransactionClassStatus","Open","name","transactionClassStatusTitles","disabled","NotOffered","Subject","updateDependencyColumnsCallback","index","updateReadOnlyIOIColumns","ioiFloaterIndex","ioiFloaterIndexes","reset","_x13","_x14","readIOIsByUser","ioisReferenceNames","_ref12","_callee11","_context11","_x20","setUnreadIOIsRead","SET_UNREAD_IOIS_READ","exportIOIs","excludeRemovedClass","showInvestorPopup","_ref11","_callee10","_yield$Promise$all3","_yield$Promise$all4","company","members","companyWithMembers","_context10","amrCompaniesService","getCompanyInfo","getMembersList","SHOW_INVESTOR_POPUP","isPopupVisible","unexpectedError","_x19","hideInvestorPopup","isCompanyPopupVisible","RESET","logTabAccess","tabAccessType","_callee12","_context12","logger","exception","undefined","_ref2","_callee2","_getState$issuanceMon","_getState$issuanceMon2","dealSortBy","dealSortDirection","_getState$issuanceMon3","offset","isTransactionsRequesting","filterCriteria","searchCriteria","transactions","_context2","amrPipeline","deals","defaultTransactionsSearchCriteria","toLowerCase","trim","hasIois","field","ascending","SORT","ASC","_toConsumableArray","defaultDealOrderCriteria","getTransactionsList","storeTransactions","isRequestCancelationError","_x3","_x4","_ref3","_callee3","_getState","_context3","replace","routes","transactionLimitedAccess","storeInitialTransaction","includes","status","AMRPipeline","_x5","_x6","RESET_TRANSACTIONS","gridItemIndex","_ref9","_callee8","_getState5","_getState5$issuanceMo","availableClassesForIOIs","row","className","selectedClass","propsShouldBeUpdated","_context8","f","forEach","v","deleteRow","ioiRatings","expectedRatingMoodys","emptyPlaceholder","expectedRatingSnP","expectedRatingFitch","expectedRatingKbra","expectedRatingDbrs","insertDataItems","_x15","_x16","isEdit","EDIT_IOIS","STORE_TRANSACTIONS","STORE_INITIAL_TRANSACTION","STORE_TRANSACTION_DETAILS","STORE_DOCUMENTS_SEARCH_RESULTS","isRequesting","TRANSACTIONS_REQUESTING_STATE","TRANSACTION_DETAILS_REQUESTING_STATE","isSubmitting","TRANSACTION_DETAILS_IOIS_SUBMITTING","initFilter","createAction","applyFilterAndSearch","resetFilter","arrangerPipelinesRequest","resetPipelines","dealsRequest","resolve","dealsResponse","requestState","dealsSearchResponse","arrangerPipelineDeals","selectDealsFromSearch","dealsLegalNames","resetDeals","arrangerPipelinesResponse","arrangerPipelines","nonVisibleCount","submitArrangerPipeline","sortingChange","sortBy","sortDirection","edit","setEditLoadingStatus","isLoading","submitArrangerPipelineStatus","isSubmitted","changeDealReferenceName","changeDealLegalName","updateFields","collateralManagerReferenceName","collateralType","setAnyPipelineExists","anyPipelineExists","checkIfArrangerPipelineExist","exportPipelines","exportLoad","amrArrangerPipelineActions","arrangerPipelineStatisticRequest","arrangerPipelineStatisticResponse","summary","deleteArrangerPipeline","amrTransactionHistoryActions","transactionHistoryRequest","transactionHistoryResponse","transactionsHistory","allHistoryClassesList","loadTransactionDetais","version","companyReferenceName","storeTransactionDetais","transactionDetails","transactionFieldsUpdatedRequest","transactionFieldsUpdatedResponse","lastUpdatedFields","transactionFieldsUpdatedReset","accountActions","login","email","password","fingerprint","success","response","loginSuccess","smsAllowed","phoneText","verifyIdentityActions","verify","getFingerprint","loading","accountService","catch","failure","finally","LOGIN_FAILURE","errorMessage","errorMessages","signInFailed","notificationActions","notificationAddErrorMessage","resetPassword","forgotPasswordFinished","isFinished","RESET_PASSWORD_FAILURE","resetPasswordReset","RESET_PASSWORD_RESET","setUpPassword","newPassword","confirmPassword","_getState$authenticat","authentication","resetToken","stringUtils","isNullOrWhiteSpace","setUpPasswordFailure","setupPasswordLinkInvalid","model","isLinkValid","setPasswordFinished","setupPasswordLinkExpired","e","message","json","jsonUtils","tryParse","formatErrorsFromJson","passwordValidationFailure","setUpPasswordInit","SETUP_PASSWORD_INIT_COMPLETE","setuPasswordInitComplete","setUpPasswordReset","SETUP_PASSWORD_RESET","changePhoneNumber","phone","profileActions","savePhoneNumber","toggleEditPhoneMode","savePhoneNumberFailure","changePhoneNumberReset","CHANGE_PHONE_NUMBER_RESET","changePassword","currentPassword","deviceId","CHANGE_PASSWORD_FAILURE","wrongCurrentPassword","CHANGE_PASSWORD_SUCCESS","changePasswordReset","CHANGE_PASSWORD_RESET","resetStore","sessionStorage","clear","allBWICSActions","manageParsedBwicsActions","portfolioActions","companiesActions","userProfilePhotoActions","bidOnBehalfActions","imUserConfigActions","bwicHistoryActions","amrPipelineCommonActions","resetLiveBiddingDataRequestState","resetSettlementAgentAgreementsRequestState","refreshAuthentication","LOGIN_REFRESH_AUTHENTICATION","_getFingerprint","fpPromise","fp","result","components","FingerprintJS","get","audio","canvas","cookiesEnabled","touchSupport","fontPreferences","screenFrame","screenResolution","LOGIN_SUCCESS","fetchUserImage","id","salesRepresentativeActions","loadUserSalesRepresentatives","registerUser","root","LOGIN_LOADING","setPasswordExpired","isExpired","SETUP_PASSWORD_FAILURE","Object","keys","k","join","bidOnBehalfParseActions","uploadFile","_getState$grid","position","upload","mountedKey","headers","process","bidding","bwic","GridUploadStatus","Uploading","extension","split","pop","invalidFileType","size","gridFileUploadMaximumSize","fileSizeLimitExceeded","editing","applyOrCancelEdit","bidOnBehalfService","currentMountedKey","lengthComputable","percentComplete","loaded","total","setUploadState","fileUploadResult","securities","sellerBidding","acceptedTickers","apiUtils","normalize","s","normalizeUppercase","ticker","trade","x","_x$shortCode","shortCode","_x$level","level","formatUtils","formatBid","Number","notificationAddErrorMessageModal","None","bidsByTicker","arrayUtils","groupBy","values","acceptedCompanyShortCodes","bidOnBehalf","companies","code","companyShortCodes","newDataItems","_item$shortCode","addDataItems","addColumns","bidOnBehalfUtils","isBidDecreaseDisabled","getSecuritiesWithLatestBids","setTimeout","parseClipboard","text","_getState$grid2","dataProcessing","parseResult","hasCompanyCodes","cc","hasTickers","_parseResult$filter","_parseResult$filter2","_toArray","companyCodesRaw","slice","dataRows","companyCodes","toUpperCase","bids","b","_companyCodes$index","_","bid","applyClipboardParseResult","addCompany","companyCode","addColumn","createCompanyBobColumn","validateDecreaseBid","moveColumnData","deleteItemsWithErrors","withoutErrors","_x$errors","errors","columnName","_x$errors2","dataItem","_dataItem$errors","columnsToReset","resetInvalidBids","selectBd","removeUnknownCompanyColumns","_c$code$toUpperCase","_c$code","_c$name","_c$name$trim","removeColumn","saveBids","state","LocationStateBuilder","resetPopup","positions","entries","_position$bids2","_ref6","localeCompare","sensitivity","p","originalBid","value","dealerListPanel","companyHiddenState","biddingUtils","getBidCompanyIdentifier","dealerListPanelActions","toggleCompanyVisible","editBid","bidDecreaseDisabled","editingBid","_position$bids","valueCannotBeLess","existingColumns","acceptedCompanes","sanitized","newShortCodeColumns","distinct","ec","selectBdColumn","tickerAndShortCodeColumns","setColumns","existingDataItems","isTickerEquals","a","newItems","_i$ticker","ei","items","sameTickerItem","_value$trim$toUpperCa","autoFeedbackSettingsActions","showAutoFeedbackSettingsPanel","toggleAutoFeedbackSettingsPanel","autoFeedbackSettingsVisible","toggleAutofeedback","settings","autoFeedbackConfiguration","autoFeedbackSettings","onPlatform","offPlatform","bwicReferenceName","saved","AUTO_FEEDBACK_SETTINGS_STORE","storeSettings","isTopXStage2","BwicProcessType","TopX","stagedBiddingStatus","OpenBiddingStatus","stage1Ended","TradeStatus","rejected","blastMessage","companyMessages","security","_security$bids","_getSecuritiesWithLat","bidsByLevel","groupBidsByLevel","topX","improverCount","group","feedback","BidLevel","Best","feedbackTypes","best","tiedForBest","Cover","cover","Third","third","Fourth","fourth","Fifth","fifth","addBlastMessageItem","stage2Participants","calculateStage2Participants","getLatestStage1Bids","outOfTop3","addTopXStage2BlastMessageItems","participants","_getSecuritiesWithLat3","_biddingUtils$groupBi","_biddingUtils$groupBi2","notInTop3","hasManyBestBids","flat","_security$bids2","String","BidRequestType","BidOrPass","addBlastMessageItems","shouldSendBlastMessage","autoFeedbackDelay","autoFeedbackDelayMinutes","dateTimeUtils","parseTimeSpan","totalMinutes","bwicBidsDueDatePlusAutoFeedbackDelay","bidsDueUtc","add","isSameOrAfter","m","positionMessages","blastMessageSendingState","blastMessageService","send","sendBlastMessage","saving","bwicService","saveAutoFeedbackConfiguration","saveAutoFeedbackSettings","positionId","brokerDealerCompanyId","feedbackType","bidRequestType","numericUtils","numberOrDefault","buyerPseudoOrderNumber","push","feedbackBidId","isSending","AUTO_FEEDBACK_BLAST_MESSAGE_SENDING","isSaving","AUTO_FEEDBACK_SETTINGS_SAVING","visible","controlPanelActions","hide","AUTO_FEEDBACK_SETTINGS_PANEL_VISIBLE","setBidCanSubmit","SET_BID_CAN_SUBMIT","storeCanSubmitPositionFlag","BID_PLACEMENT_SET_BID_CAN_SUBMIT","canSubmit","revert","REVERT","revertAll","REVERT_ALL","commissionChangeAction","COMMISSION_CHANGE","commission","bidPlacementActions","bidChange","brokerDealerBidding","BID_PLACEMENT_BID_CHANGE","setBidErrors","validateSingle","axedChange","axed","BID_PLACEMENT_AXED_CHANGE","finalChange","final","BID_PLACEMENT_FINAL_CHANGE","passChange","pass","BID_PLACEMENT_PASS_CHANGE","_getState$brokerDeale2","currentBid","getCurrentBid","validateBid","openBiddingStage2Level","commissionChange","_getState$brokerDeale","BID_PLACEMENT_SET_BID_ERRORS","request","requestResult","assetManagerActions","myBwicsOnly","isAllToAll","filterQueryString","bwicMonitorTab","setMyBWICsFlag","ALL_TO_ALL","setAllToAllBwicsFlag","defaultConfigFilter","queryString","filterType","getFilterType","filterActions","createFilterActions","resetFiltersVisibility","advancedFilterBlocked","canUseSavedFilters","BwicMonitorSavedFilters","BwicFilterType","BwicMonitor","_getState$entities$pa","_getState$entities$pa2","filters","entities","pageConfig","configs","PageConfigType","BwicMonitorAll","default","filterState","getFilterState","filterToInit","initialFilter","date","AllBwicsTab","All","bwicMonitorFilters","defaultFilters","canUseHistoricalData","BwicMonitorHistoricalData","_colors","_colors2","from","to","sizeMin","sizeMax","maturityFrom","maturityTo","vintageFrom","vintageTo","closingFrom","closingTo","trusteesValues","amrValue","ratingsValues","statusValues","currencyValues","collateralTypeValues","managerValues","euComplianceValue","esgValue","staticDealValue","colors","colorRangeFrom","colorRangeTo","collateralManagerReferenceNames","collateralManagers","applyRadio","flag","filterVisibilityChange","filterRadioChange","_mixedDateRange","mixedDateRange","_mixedDateRange2","ncEndSerializers","getNcEndDeserializeResult","_mixedDateRange3","_mixedDateRange4","riEndSerializers","getRiEndDeserializeResult","identifieList","serializers","identifiers","list","dateFrom","dateTo","ratings","statuses","multipleCurrencies","currencies","sizeFrom","min","sizeTo","max","collateralTypes","types","esg","euCompliance","staticDeals","managers","trustees","amr","sorting","color","colorFrom","colorTo","queryStringSerializer","deserialize","ncEndDeserializeResult","riEndDeserializeResult","canUseAdvancedFilters","BwicMonitorAvancedFilters","identifiersCommand","canExecute","shouldExecute","execute","searchSecuritiesActions","addSearchItem","ncEnd","dates","years","filterDateQueryStringDeserialized","riEnd","ratingsCommand","r","filterSelectChange","statusesCommand","callatTypes","isNumber","changeRangeFilter","selectedDateOption","getDateOptionByRange","dateRangeFilterOptions","TodayAndUpcoming","filterDateSelectOption","filterDateSelectCustomRange","euComplianceCommand","esgCommand","staticDeal","trusteesCommand","_trusteesValues","maturity","isNil","makeFilterVisible","filterOption","ThisWeek","vintage","closing","arm","isTradedSelected","ColorFilterType","Traded","isTradedColorSelected","TradedColor","colorCommand","_colors3","colorRangeCommand","sortByCommand","BwicMonitorSorting","sortFieldChanged","DeserializeCommandHandler","addCommand","selectFilterFromConfig","toDate","setDefaultFilter","searchBwics","setActiveBwic","SET_ACTIVE_BWIC","setBwicCollapsed","collapsed","SET_BWIC_COLLAPSED_STATE","_getState$allBWICS3","allBWICS","bwics","collapseAll","collapsedCount","setCollapseAll","exportBwics","_getState$allBWICS4","currentPageNumber","pageSize","searchTermItems","searchSecurities","criteria","getFilterCriteria","lastAppliedFilter","isGroupView","setExportingBwicStatus","loadNextPage","_getState$allBWICS5","searchInProgress","isNextPageRequesting","nextPageRequesting","liveBiddingStage2Expired","LIVE_BIDDING_STAGE2_EXPIRED","addPositionBids","ADD_POSITION_BIDS","sortChanged","Buy","bwicMonitorBuy","Sell","bwicMonitorSell","bwicMonitor","BwicMonitorBuy","BwicMonitorSell","blocked","ADVANCED_FILTER_BLOCKED","applyFilter","isSearchTermChange","_getState$allBWICS","ALL_BWICS_RESET_PAGING","bwicsSearchProgress","RequestState","isFilterChanged","RESET_SUMMARY","_getState$allBWICS2","requestingPage","_criteria$nonCallEndF","_criteria$nonCallEndT","_criteria$reinvestmen","_criteria$reinvestmen2","totalRecordNumber","summaryProps","_objectWithoutProperties","_excluded","currency","selected","nonCallEndFrom","nonCallEndFromYear","nonCallEndFromDate","nonCallEndTo","nonCallEndToYear","nonCallEndToDate","reinvestmentEndFrom","reinvestmentEndFromYear","reinvestmentEndFromDate","reinvestmentEndTo","reinvestmentEndToYear","reinvestmentEndToDate","_criteria$color","noop","outOfNC","outOfRI","serialize","redirectWithFilterArguments","BWICS_SEARCH_COMPLETE","isinCusipsAndTickers","_filter$maturity","_filter$vintage","_filter$closing","_filter$collateralTyp","_filter$managers","_filter$esg","_filter$staticDeal","_filter$euCompliance","_filter$trustees","_filter$amr","_filter$outOfNC","_filter$outOfRI","_filter$color","defaultDateRange","selectedCurrencies","nonCallEndYears","getYearsRange","nonCallEnd","nonCallEndDates","selectedDateOptions","reinvestmentEndYears","reinvestmentEnd","reinvestmentEndDates","maturityRange","selectedOption","convertToApiCriteria","options","vintageRange","closingRange","tradedColor","MY_BWICS","BWICS_SEARCH_PROGRESS","SET_COLLAPSE_ALL","ALL_BWICS_SET_EXPORTING_STATUS","payload","ALL_BWICS_NEXT_PAGE_REQUESTING","SORTING_CHANGED","banksActions","getBanks","userCompanyReferenceName","getBanksResult","banks","getBankDetails","getBankDetailsResult","bankDetails","aggregatedManagerTransactions","companyEvents","managersTransactionCountFilter","managersTransactionCountFilterResult","exportTransactionCountRequest","legalName","params","exportTransactionCountResponse","editBank","editBankReset","updateBank","resole","formData","updateBankResult","setBankForAlertPopup","logUserActivity","accessType","analyticsInit","analyticsInitResponse","data","analyticsReset","clientsActivityRequest","startDate","endDate","clientsActivityResponse","numberOfHiddenItems","clientsActivityFilterChange","profileViewHistoryRequest","profileViewHistoryResponse","profileViewHistoryFilterChange","profileViewHistoryFilterByBar","loadUserCompanyRequest","loadUserCompanyResponse","loadUserCompanyError","redirectInvitedClientToTransactionDetails","loadBdInventory","inventoryStatusChange","inventoryPositionId","requestInventoryExistFlag","inventoryExistFlag","exist","pushInventory","resetEntities","exportInventoryRequest","sortField","exportInventoryResponse","requestSendEmail","toggleVisibleAddBloombergEmailForm","addBloombergEmailRequest","addBloombergEmailResponse","bdInventoryActions","clearFilter","amrTransactionAnalyticsActions","analytics","transactionViewHistoryRequest","transactionViewHistoryResponse","transactionViewHistoryFilterChange","transactionViewHistoryFilterByBar","activeInventorySecurityActions","requestActiveInventorySecurities","requestActiveInventorySecuritiesSuccess","securityIds","requestActiveInventorySecuritiesError","biddingActions","bwicStatusChange","nextStatus","_getState$bidding","visitorType","isScheduled","BwicStatus","scheduled","isNextBidding","isAllToAllBuyer","BwicVisitorType","Buyer","BIDDING_BWIC_STATUS_CHANGE","loadBwicParticipants","setLoadParticipantsRequestStatus","companiesService","getBwicParticipants","dealers","bwicDealers","bwicDealerUsers","bwicDealerContacts","dealer","users","companyId","contacts","contact","STORE_BWIC_PARTICIPANTS","liveBiddingStage2TimeoutEnd","LIVE_BIDDING_STAGE_2_TIMEOUT_END","bwicPromise","userCompanyPromise","getByReferenceName","getCurrentUserCompany","getBiddingVisitorType","BIDDING_STORE_VISITOR_TYPE","actionHistory","storeOriginalBwic","initVisitorState","Seller","sellerBiddingActions","OtherSeller","otherSellerBiddingActions","BrokerDealer","brokerDealerBiddingActions","Admin","forbidden","BIDDING_LOADING","sort","BIDDING_STORE_ORIGINAL_BWIC","seller","_bwic$seller","isParsed","_bwic$seller2","bd","Administrator","rulesActions","BIDDING_RESET","BIDDING_LOAD_PARTICIPANTS_REQUEST_STATUS","bidConfirmationActions","confirmation","positionIdList","submitInProgress","inProgress","submitResults","setPopupVisibility","setSelectedPortfolio","selectedPortfolio","addToPortfolioActions","addSecurityToPortfolio","newPortfolioName","setSubmittingProgress","storeError","bdInventoryDocuments","inventories","inventory","securityId","uploadDocumentsActions","waitResult","_len","requests","Array","_key","earlyResult","remove","apiOperationActions","resetEvent","event","trackStuckOperations","createAmrPipelineActions","pipelineType","searchTransactionsActions","createSearchTransactionActions","filterExistingOptions","optionsNames","optionFilter","o","loadFilters","_issuanceMonitorFilte2","redirectFilters","_arrangers","classNames","_trustees","issuanceMonitorFilterSelector","storeFilterData","filterName","getManagersList","HavingDealType","CmHavingAllPublishedDeals","getArrangersList","getTransactionClassesNames","getTrusteeList","arrangers","_redirectFilters$clas","_redirectFilters$clas2","amrPipelineFilterSelector","newFilter","statusOptions","TransactionStatuses","getAllRolesExclude","admin","DataEntry","TransactionStatus","Draft","updateFilterState","searchTransactions","isSearching","PIPELINE_SEARCH_TRANSACTIONS","searchClasses","PIPELINE_SEARCH_CLASSES","summaryRequesting","PIPELINE_SUMMARY_REQUESTING_STATE","loadClasses","_amrPipelineSelector2","_summarySelector","shouldShowTransactionsSummary","shouldShowClassesSummary","transactionsSummaryPromise","classesSummaryPromise","transactionsSummary","classesSummary","amrPipelineSelector","summarySelector","count","getTransactionsSummary","statsToCalculateWithoutMedians","getTransactionClassesSummary","PIPELINE_STORE_SUMMARY","_amrPipelineSelector3","_amrPipelineSelector4","transactionsOffset","_amrPipelineFilterSel5","_groupSearchByDealAnd2","dealsClasses","dealSortCriteria","oneIOIs","anyIOIsExists","groupSearchByDealAndClassIndicators","mergeSortCriteria","PIPELINE_STORE_TRANSACTIONS","PipelineType","IOIs","hasIOIs","includeIois","PIPELINE_SET_ANY_IOIS_EXISTS","_amrPipelineSelector5","_amrPipelineSelector6","classSortBy","classSortDirection","classesOffset","_amrPipelineFilterSel6","_groupSearchByDealAnd3","classSortCriteria","defaultClassOrderCriteria","getTransactionClasses","PIPELINE_STORE_CLASSES","PIPELINE_RESET_TRANSACTIONS","setExportLoading","PIPELINE_EXPORT_LOAD","_amrPipelineFilterSel","filtersConfig","selectedFilter","IssuanceMonitorFiltersEmailAlerts","imUserConfig","ArrangerPipeline","UserConfigType","imFilter","apFilter","_issuanceMonitorFilte","arrangerReferenceNames","transactionTypesValues","currenciesValues","collateralTypesValues","ratingValues","filterReferenceName","dealsReferenceNames","dealsLegalNamesValues","trusteesReferenceNames","riEndFromValue","riEndToValue","ncEndFromValue","ncEndToValue","pricingDateFromValue","pricingDateToValue","couponValue","isAmrValue","outOfNCValue","outOfRIValue","arrangersSerializer","collateralManagersSerializer","transactionTypesSerializer","currenciesSerializer","statusSerializer","collateralTypesSerializer","ratingsSerializer","filterSerializer","trusteesSerializer","dealsReferenceNamesSerializer","dealsLegalNamesSerializer","riEndFromSerializer","riEndToSerializer","ncEndFromSerializer","ncEndToSerializer","pricingDateFromSerializer","pricingDateToSerializer","couponSerializer","esgSerializer","euComplianceSerializer","staticDealsSerializer","isAmrSerializer","outOfNCSerializer","outOfRISerializer","hasImFiltersAccess","generalSerializers","imFilterSubscriptionSerializers","search","arrangerNames","transactionTypes","transactionStatuses","savedFilter","trusteesNames","riEndFrom","riEndTo","ncEndFrom","ncEndTo","pricingDateFrom","pricingDateTo","coupon","resetFiltersAndUnselectSavedFilter","YearsRange","filterDateSelectYearsRange","Custom","_dealsLegalNamesValue","label","transactionType","rating","resetFilterState","PIPELINE_RESET","handleVisibilityFilter","_amrPipelineFilterSel2","filterChanged","filterUtils","filterReset","dealSortingChanged","direction","PIPELINE_DEAL_SORTING_CHANGED","classSortingChanged","PIPELINE_CLASS_SORTING_CHANGED","setExpanded","expanded","PIPELINE_SET_EXPANDED","exportTransactionsClasses","exportedFrom","_amrPipelineSelector","_amrPipelineSelector$","_groupSearchByDealAnd","exportCriteria","issuanceMonitorExportDateFormat","changeDealSelectFromTable","isDealSelected","removeSearchItem","setSyndicateContacts","arrangerName","PIPELINE_SET_SYNDICATE_CONTACTS","transactionName","resetSyndicateContacts","logInitialAccessToIM","logImUserActivity","PIPELINE_INITIAL_LOAD","requestCompanies","setCompainesRequesting","storeCompanies","editCompleted","resetBidEdit","resetCompanyBidsEdit","resetEdit","submit","resolveConflicts","submitProgress","storeConflicts","conflicts","resetConflicts","conflictsPopupVisible","moveNextBid","setNextBidIdentifiers","resetNextBidIdentifiers","addressActions","loadCountries","loadCountriesResponse","countries","loadStates","countryId","loadStatesResponse","states","loadCities","stateId","loadCitiesResponse","cities","adminInventoryEditActions","loadInventory","requestInventory","requestInventorySuccess","lockModifiedDate","requestInventoryError"],"sourceRoot":""}