{"version":3,"file":"static/js/main-6adad983.9965e2a5.js","mappings":"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","sources":["actions/text-rules-panel.actions.ts","actions/user-request-admin.actions.ts","actions/trade-allocation.actions.ts","actions/user-profile-photo.actions.ts","actions/trade.confirm.actions.js","actions/upload.documents.actions.js","actions/trade-allocation-template.actions.ts","actions/verify.identity.actions.ts","actions/trades.actions.js","actions/tfa-settings.actions.ts","actions/upgrade-subscription.actions.ts"],"sourcesContent":["import { createAction, ActionType } from 'typesafe-actions';\r\nimport { Process } from '../types/models/Process';\r\nimport { ParsedBwicProcess } from '../types/models/ParsedBwicProcess';\r\n\r\nconst show = createAction('textRulesPanel/SHOW',\r\n resolve => (\r\n rulesText: string,\r\n goodUntilDate: Date,\r\n bidsDueDate: Date,\r\n process: Process,\r\n parsedProcess: ParsedBwicProcess,\r\n isParsed: boolean,\r\n isSameDayBwic: boolean,\r\n daysToSettle: number,\r\n bwicReferenceName: string,\r\n ) => resolve({\r\n rulesText,\r\n goodUntilDate,\r\n bidsDueDate,\r\n process,\r\n parsedProcess,\r\n isParsed,\r\n isSameDayBwic,\r\n daysToSettle,\r\n bwicReferenceName\r\n }))\r\n\r\nconst hide = createAction('textRulesPanel/HIDE')\r\n\r\nexport type TRulesSidePanelActions = ActionType<\r\n typeof show |\r\n typeof hide\r\n>;\r\n\r\nexport const textRulesPanelActions = {\r\n show,\r\n hide\r\n}\r\n","import { createAction } from \"typesafe-actions\";\r\nimport { RequestState } from \"../constants/request-state\";\r\nimport { User } from \"../types/management/User\";\r\nimport { UserCreationRequest } from \"../types/management/UserCreationRequest\";\r\n\r\nconst approve = createAction('userRequestAdmin/APPROVE',\r\n resolve => (userRequestId: number, concurrencyStamp: Date) => resolve({ userRequestId, concurrencyStamp }));\r\nconst block = createAction('userRequestAdmin/BLOCK',\r\n resolve => (userRequestId: number, concurrencyStamp: Date, blockReason: string) => resolve({ userRequestId, concurrencyStamp, blockReason }));\r\nconst unblock = createAction('userRequestAdmin/UNBLOCK',\r\n resolve => (userRequestId: number, concurrencyStamp: Date) => resolve({ userRequestId, concurrencyStamp }));\r\nconst deleteUserRequest = createAction('userRequestAdmin/DELETE_USER_REQUEST',\r\n resolve => (userRequestId: number) => resolve({ userRequestId }));\r\nconst setOperationState = createAction('userRequestAdmin/SET_OPERATION_STATE',\r\n resolve => (userRequestId: number, requestState: RequestState) => resolve({ userRequestId, requestState }));\r\nconst userRequestApproved = createAction('userRequestAdmin/USER_REQUEST_APPROVED',\r\n resolve => (userRequestId: number, user: User) => resolve({ userRequestId, user }));\r\nconst userRequestBlocked = createAction('userRequestAdmin/USER_REQUEST_BLOCKED',\r\n resolve => (userRequest: UserCreationRequest) => resolve({ userRequest }));\r\nconst userRequestUnblocked = createAction('userRequestAdmin/USER_REQUEST_UNBLOCKED',\r\n resolve => (userRequest: UserCreationRequest) => resolve({ userRequest }));\r\nconst userRequestDeleted = createAction('userRequestAdmin/USER_REQUEST_DELETED',\r\n resolve => (userRequestId: number) => resolve({ userRequestId }));\r\nconst getPendingUserRequestCount = createAction('userRequestAdmin/USER_REQUEST_GET_PENDING_COUNT', resolve => () => resolve({}));\r\nconst setPendingUserRequestCount = createAction('userRequestAdmin/USER_REQUEST_SET_PENDING_COUNT',\r\n resolve => (count: number, requestState: RequestState) => resolve({ count, requestState }));\r\n\r\nexport const userRequestAdminActions = {\r\n approve,\r\n block,\r\n unblock,\r\n deleteUserRequest,\r\n setOperationState,\r\n userRequestApproved,\r\n userRequestBlocked,\r\n userRequestUnblocked,\r\n setPendingUserRequestCount,\r\n getPendingUserRequestCount,\r\n userRequestDeleted\r\n};\r\n","import { createAction, ActionType } from 'typesafe-actions';\r\nimport { RequestState } from '../constants/request-state';\r\nimport { TradeAllocationItem } from '../types/trade-allocation/TradeAllocationItem';\r\n\r\nconst request = createAction('entities/trade-allocation/REQUEST',\r\n resolve => (tradeId: string) => resolve({ tradeId })\r\n);\r\nconst requestResult = createAction('entities/trade-allocation/REQUEST_RESULT',\r\n resolve => (tradeId: string, requestState: RequestState, tradeAllocationItems: TradeAllocationItem[] = []) =>\r\n resolve({ tradeId, requestState, tradeAllocationItems })\r\n);\r\nconst reset = createAction('entities/trade-allocation/RESET');\r\n\r\nconst update = createAction('entities/trade-allocation/UPDATE',\r\n resolve => (tradeId: string, items: TradeAllocationItem[]) => resolve({ tradeId, items })\r\n);\r\n\r\nexport type TradeAllocationActionType = ActionType<\r\n typeof request |\r\n typeof requestResult |\r\n typeof reset |\r\n typeof update\r\n>;\r\n\r\nexport const tradeAllocationActions = {\r\n request,\r\n requestResult,\r\n reset,\r\n update\r\n};\r\n","import { userProfilePhotoActionTypes } from '../constants/actionTypes/user-profile-photo-action';\r\nimport { accountService, photoService } from '../services';\r\nimport { ThunkDispatch } from 'redux-thunk';\r\nimport { AnyAction } from 'redux';\r\nimport { RequestState } from '../constants/request-state';\r\nimport { AppState } from '../types/state/AppState';\r\nimport { isRequesting, isRequestSuccess } from '../utils';\r\n\r\ntype TDispatch = ThunkDispatch;\r\n\r\nexport const userProfilePhotoActions = {\r\n reset,\r\n fetchUserImage,\r\n fetchPhotoThumbnail\r\n};\r\n\r\nfunction reset() {\r\n return { type: userProfilePhotoActionTypes.USER_PROFILE_PHOTO_RESET };\r\n}\r\n\r\nfunction setUserProfilePhoto(userId: number, imageBlobUrl: string) {\r\n return {\r\n type: userProfilePhotoActionTypes.USER_PROFILE_PHOTO_SET_USER_PHOTO,\r\n payload: { userId, imageBlobUrl }\r\n }\r\n}\r\n\r\nfunction setPhotoThumbnail(userId: number, imageBlobUrl: string) {\r\n return {\r\n type: userProfilePhotoActionTypes.STORE_PHOTO_THUMBNAIL,\r\n payload: { userId, imageBlobUrl }\r\n }\r\n}\r\n\r\n\r\nfunction setFetchUserPhotoRequestState(userId: number, requestState: RequestState) {\r\n return (dispatch: TDispatch) => {\r\n if (userId) {\r\n dispatch({\r\n type: userProfilePhotoActionTypes.USER_PROFILE_PHOTO_SET_FETCH_PHOTO_REQUEST_STATE,\r\n payload: { userId, requestState }\r\n })\r\n }\r\n }\r\n}\r\n\r\nfunction setPhotoThumbnailRequestState(userId: number, requestState: RequestState) {\r\n return {\r\n type: userProfilePhotoActionTypes.PHOTO_THUMBNAIL_REQUEST_STATE,\r\n payload: { userId, requestState }\r\n }\r\n}\r\n\r\n\r\nfunction createBase64FromBlob(response: any) {\r\n return new Promise((resolve) => {\r\n if (response && response.blob && response.blob.size) {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(response.blob);\r\n reader.onloadend = function() {\r\n const base64data = reader.result;\r\n resolve(String(base64data));\r\n }\r\n } else {\r\n resolve('');\r\n }\r\n })\r\n}\r\n\r\nfunction fetchPhotoThumbnail(userId: number) {\r\n return (dispatch: TDispatch, getState: () => AppState) => {\r\n const { thumbnailsRequestState } = getState().userProfilePhoto;\r\n const requestState = thumbnailsRequestState[userId];\r\n\r\n if (isRequesting(requestState) || isRequestSuccess(requestState)) {\r\n return;\r\n }\r\n\r\n dispatch(setPhotoThumbnailRequestState(userId, RequestState.request));\r\n\r\n photoService.getThumbnail(userId)\r\n .then(createBase64FromBlob)\r\n .then(image => {\r\n dispatch(setPhotoThumbnailRequestState(userId, RequestState.success));\r\n dispatch(setPhotoThumbnail(userId, image))\r\n })\r\n .catch(() => {\r\n dispatch(setPhotoThumbnail(userId, ''));\r\n dispatch(setPhotoThumbnailRequestState(userId, RequestState.failure))\r\n });\r\n };\r\n}\r\n\r\nfunction fetchUserImage(userId: number) {\r\n return (dispatch: TDispatch) => {\r\n dispatch(setFetchUserPhotoRequestState(userId, RequestState.request));\r\n accountService.fetchUserImage(userId)\r\n .then(createBase64FromBlob)\r\n .then((image: string) => {\r\n dispatch(setFetchUserPhotoRequestState(userId, RequestState.success));\r\n dispatch(setUserProfilePhoto(userId, image))\r\n })\r\n .catch(() => {\r\n dispatch(setUserProfilePhoto(userId, ''));\r\n dispatch(setFetchUserPhotoRequestState(userId, RequestState.failure))\r\n });\r\n };\r\n}\r\n","import { tradeConfirmActions as actionTypes, errorMessages } from '../constants';\r\nimport { biddingService } from '../services';\r\nimport { tradeStatuses } from '../constants/bidding';\r\nimport { errorActions } from './error.actions';\r\n\r\nexport const tradeConfirmActions = {\r\n reset,\r\n affirmAll,\r\n affirm,\r\n reject,\r\n checkAwaitingTrades,\r\n setAwaitingBwicTradeStatus,\r\n visibility\r\n}\r\n\r\nfunction affirmAll() {\r\n return async (dispatch, getState) => {\r\n const { tradedPositions, operationsProgress } = getState().tradeConfirm;\r\n const positions = tradedPositions\r\n .filter(p =>\r\n p.trade.status === tradeStatuses.pending.key &&\r\n !operationsProgress.some(o => o.positionId === p.id && o.isInProgress))\r\n .map(p => ({ positionId: p.id, tradeReferenceId: p.trade.id }));\r\n\r\n if (positions.length) {\r\n const operationsProgressUpdate = positions.map(p => ({ positionId: p.positionId, isInProgress: true }));\r\n dispatch(setAffirmProgress(operationsProgressUpdate));\r\n\r\n biddingService\r\n .affirm(positions)\r\n .then(() => dispatch(setAwaitingBwicTradeStatus(positions.map(p => p.positionId), tradeStatuses.affirmed.key)))\r\n .catch(e => dispatch(errorActions.unexpectedError(e)))\r\n .finally(() => dispatch(setAffirmProgress(operationsProgressUpdate.map(o => ({ ...o, isInProgress: false })))));\r\n }\r\n };\r\n}\r\n\r\nfunction affirm(positionId, tradeReferenceId) {\r\n return (dispatch, getState) => {\r\n const operationsProgress = getState().tradeConfirm.operationsProgress;\r\n\r\n if (!checkOperationInProgress(positionId, operationsProgress)) {\r\n dispatch(setAffirmProgress([{ positionId, isInProgress: true }]));\r\n\r\n biddingService\r\n .affirm([{ positionId, tradeReferenceId }])\r\n .then(() => dispatch(setAwaitingBwicTradeStatus([positionId], tradeStatuses.affirmed.key)))\r\n .catch(e => dispatch(errorActions.unexpectedError(e)))\r\n .finally(() => dispatch(setAffirmProgress([{ positionId, isInProgress: false }])));\r\n }\r\n };\r\n}\r\n\r\nfunction reject(positionId, tradeReferenceId, rejectReason) {\r\n return (dispatch, getState) => {\r\n const { operationsProgress } = getState().tradeConfirm;\r\n\r\n if (!checkOperationInProgress(positionId, operationsProgress)) {\r\n dispatch(setAffirmProgress([{ positionId, isInProgress: true }]));\r\n\r\n biddingService\r\n .reject({ positionId, tradeReferenceId, rejectReason })\r\n .then(() => dispatch(setAwaitingBwicTradeStatus([positionId], tradeStatuses.rejected.key, rejectReason)))\r\n .catch(e => dispatch(errorActions.error(e, errorMessages.unexpectedError)))\r\n .finally(() => dispatch(setAffirmProgress([{ positionId, isInProgress: false }])));\r\n }\r\n };\r\n}\r\n\r\nfunction checkOperationInProgress(positionId, operationsProgress) {\r\n const progress = operationsProgress.find(o => o.positionId === positionId);\r\n\r\n if (progress) {\r\n return progress.isInProgress;\r\n }\r\n\r\n return false;\r\n}\r\n\r\nfunction setAffirmProgress(operationsProgressUpdate) {\r\n return {\r\n type: actionTypes.SET_OPERATIONS_PROGRESS,\r\n operationsProgressUpdate\r\n };\r\n}\r\n\r\nfunction setAwaitingBwicTradeStatus(positions, status, rejectReason) {\r\n return (dispatch, getState) => {\r\n const { visible } = getState().tradeConfirm;\r\n\r\n dispatch({\r\n type: actionTypes.SET_TRADED_POSITION_STATUS,\r\n positions,\r\n status,\r\n rejectReason\r\n });\r\n\r\n if (!visible) {\r\n dispatch(removeProcessedTradedPositions());\r\n }\r\n };\r\n}\r\n\r\nfunction setAwaitingTradedPositions(tradedPositions) {\r\n return {\r\n type: actionTypes.SET_AWAITING_TRADED_POSITIONS,\r\n tradedPositions\r\n };\r\n}\r\n\r\nfunction removeProcessedTradedPositions() {\r\n return {\r\n type: actionTypes.REMOVE_PROCESSED_TADED_POSITIONS\r\n };\r\n}\r\n\r\nfunction checkAwaitingTrades() {\r\n return dispatch => {\r\n biddingService\r\n .checkAwaitingTrades()\r\n .then(tradedPositions => dispatch(setAwaitingTradedPositions(tradedPositions)))\r\n .catch(e => dispatch(errorActions.unexpectedError(e)));\r\n };\r\n}\r\n\r\nfunction visibility(visible) {\r\n return dispatch => {\r\n dispatch({\r\n type: actionTypes.CONFIRM_TRADE_POPUP_VISIBLE,\r\n visible\r\n });\r\n dispatch(removeProcessedTradedPositions())\r\n }\r\n}\r\n\r\nfunction reset() {\r\n return {\r\n type: actionTypes.RESET\r\n };\r\n}\r\n","import {\r\n uploadDocumentsActions as actionTypes\r\n} from '../constants';\r\nimport { bwicDealsService, documentsService } from '../services';\r\nimport { errorActions } from '../actions';\r\nimport { saveAs } from 'file-saver';\r\nimport { DealDocumentTypeState } from '../types/state/UploadDocumentsState';\r\n\r\nexport const uploadDocumentsActions = {\r\n init,\r\n reset,\r\n refresh,\r\n uploadDialog,\r\n uploadAllDialog,\r\n uploadDocument,\r\n deleteDocument,\r\n downloadDocument\r\n}\r\n\r\nfunction init(securityIdList) {\r\n return async dispatch => {\r\n try {\r\n const deals = await bwicDealsService.getDeals(securityIdList);\r\n dispatch(loadDeals(deals));\r\n\r\n } catch (e) {\r\n dispatch(errorActions.criticalError(e))\r\n }\r\n };\r\n}\r\n\r\nfunction loadDeals(deals) {\r\n return { type: actionTypes.DEALS, deals };\r\n}\r\n\r\nfunction reset() {\r\n return { type: actionTypes.RESET };\r\n}\r\n\r\nfunction refresh() {\r\n return (dispatch, getState) => {\r\n const { deals } = getState().uploadDocuments;\r\n if (deals?.some(d =>\r\n d.om?.some(o => o.dateAdded) ||\r\n d.indenture?.some(o => o.dateAdded) ||\r\n d.dailyReports?.some(o => o.dateAdded) ||\r\n d.monthlyReports?.some(o => o.dateAdded) ||\r\n d.other?.some(o => o.dateAdded))) {\r\n dispatch({ type: actionTypes.REFRESH_TIME });\r\n }\r\n }\r\n}\r\n\r\nfunction uploadDialog(visible, dealReferenceName, documentType) {\r\n return (dispatch, getState) => {\r\n const { uploadAll = {} } = getState().uploadDocuments;\r\n if (!uploadAll.visible) {\r\n dispatch({\r\n type: actionTypes.UPLOAD_DIALOG,\r\n upload: visible ? { visible, dealReferenceName, documentType } : { visible }\r\n });\r\n }\r\n }\r\n}\r\n\r\nfunction uploadAllDialog(visible, deal) {\r\n return {\r\n type: actionTypes.UPLOAD_ALL_DIALOG,\r\n uploadAll: visible ? { visible, deal } : { visible }\r\n };\r\n}\r\n\r\nfunction uploadDocument(file, dealReferenceName, documentType) {\r\n return (dispatch, getState) => {\r\n const uid = Math.floor(Math.random() * 1000000);\r\n\r\n const uploadingDocument = {\r\n uid,\r\n progress: 0,\r\n name: file.name,\r\n dealReferenceName,\r\n documentType,\r\n };\r\n\r\n dispatch(beginDocumentUpload(uploadingDocument));\r\n\r\n const { deals } = getState().uploadDocuments;\r\n const deal = deals.find(d => d.referenceName === dealReferenceName);\r\n\r\n documentsService\r\n .uploadAndAssignDocument(file, deal.referenceName, documentType, progress)\r\n .then(success, failure);\r\n\r\n function progress(e) {\r\n if (e.lengthComputable) {\r\n var percentComplete = (e.loaded / e.total) * 100;\r\n dispatch(progressDocumentUpload(uid, Math.floor(percentComplete)));\r\n }\r\n }\r\n\r\n function success(documents) {\r\n setTimeout(() => {\r\n dispatch(completeDocumentUpload(uid));\r\n\r\n const document = {\r\n id: documents[0].referenceName,\r\n type: documentType,\r\n name: file.name,\r\n dateAdded: new Date()\r\n };\r\n\r\n const { deals } = getState().uploadDocuments;\r\n const result = deals.map(d => d.referenceName === dealReferenceName ? update(d, document) : d);\r\n\r\n dispatch(loadDeals(result));\r\n }, 500);\r\n }\r\n\r\n function failure(e) {\r\n dispatch(errorActions.error(e));\r\n dispatch(completeDocumentUpload(uid));\r\n }\r\n\r\n function update(deal, document) {\r\n const merge = (docs = []) => docs.concat(document)\r\n\r\n const copy = { ...deal };\r\n if (document.type === DealDocumentTypeState.OM) {\r\n copy.om = merge(copy.om);\r\n } else if (document.type === DealDocumentTypeState.Indenture) {\r\n copy.indenture = merge(copy.indenture);\r\n } else if (document.type === DealDocumentTypeState.DistributionReport) {\r\n copy.distributionReports = merge(copy.distributionReports);\r\n } else if (document.type === DealDocumentTypeState.MonthlyReport) {\r\n copy.monthlyReports = merge(copy.monthlyReports);\r\n } else {\r\n copy.other = merge(copy.other);\r\n }\r\n\r\n return copy;\r\n }\r\n }\r\n}\r\n\r\nfunction beginDocumentUpload(uploadingDocument) {\r\n return {\r\n type: actionTypes.BEGIN_DOCUMENT_UPLOAD,\r\n uploadingDocument\r\n };\r\n}\r\n\r\nfunction progressDocumentUpload(uid, progress) {\r\n return {\r\n type: actionTypes.PROGRESS_DOCUMENT_UPLOAD,\r\n upload: { uid, progress }\r\n };\r\n}\r\n\r\nfunction completeDocumentUpload(uid) {\r\n return {\r\n type: actionTypes.COMPLETE_DOCUMENT_UPLOAD,\r\n uid\r\n };\r\n}\r\n\r\nfunction deleteDocument(dealTicker, documentId) {\r\n return dispatch => {\r\n dispatch(setRequestStatusDeletingDocument(documentId));\r\n documentsService\r\n .deleteDocument(documentId, dealTicker)\r\n .then(() => dispatch(removeDocumentFromStore(dealTicker, documentId)))\r\n .catch(e => dispatch(errorActions.unexpectedError(e)))\r\n .finally(() => dispatch(setRequestStatusDeletingDocument(documentId)));\r\n };\r\n}\r\n\r\nfunction setRequestStatusDeletingDocument(documentId) {\r\n return { type: actionTypes.SET_REQUEST_STATUS_DELETING_DOCUMENT, payload: { documentId } }\r\n}\r\n\r\nfunction removeDocumentFromStore(dealTicker, documentId) {\r\n return (dispatch, getState) => {\r\n const { deals } = getState().uploadDocuments;\r\n const result = deals.map(d => d.referenceName === dealTicker ? remove(d, documentId) : d);\r\n\r\n dispatch(loadDeals(result));\r\n\r\n function remove(deal, documentId) {\r\n const copy = { ...deal };\r\n\r\n copy.om = copy.om.filter(d => d.id !== documentId);\r\n copy.indenture = copy.indenture.filter(d => d.id !== documentId);\r\n copy.distributionReports = copy.distributionReports.filter(d => d.id !== documentId);\r\n copy.monthlyReports = copy.monthlyReports.filter(d => d.id !== documentId);\r\n copy.other = copy.other.filter(d => d.id !== documentId);\r\n\r\n return copy;\r\n }\r\n };\r\n}\r\n\r\nfunction downloadDocument(document) {\r\n return () => {\r\n documentsService\r\n .downloadDocument(document.id)\r\n .then(file => saveAs(file.blob, document.name));\r\n };\r\n}","import { ActionType, createAction } from \"typesafe-actions\";\r\nimport { RequestState } from \"../constants/request-state\";\r\nimport { TradeAllocationTemplate } from \"../types/trade-allocation/template/TradeAllocationTemplate\";\r\n\r\nconst request = createAction('entities/trade-allocation-template/REQUEST');\r\nconst requestResult = createAction('entities/trade-allocation-template/REQUEST_RESULT',\r\n resolve => (requestState: RequestState, templates: TradeAllocationTemplate[] = []) =>\r\n resolve({ requestState, templates })\r\n);\r\nconst update = createAction('entities/trade-allocation-template/UPDATE',\r\n resolve => (template: TradeAllocationTemplate) => resolve({ template })\r\n);\r\nconst deleteTemplate = createAction('entities/trade-allocation-template/DELETE',\r\n resolve => (templateId: number) => resolve({ templateId })\r\n);\r\nconst activeChange = createAction('entities/trade-allocation-template/ACTIVE',\r\n resolve => (activated?: TradeAllocationTemplate, deactivated?: TradeAllocationTemplate) =>\r\n resolve({ activated, deactivated })\r\n);\r\n\r\nexport type TradeAllocationTemplateActionType =\r\n ActionType<\r\n typeof request |\r\n typeof requestResult |\r\n typeof update |\r\n typeof deleteTemplate |\r\n typeof activeChange\r\n >;\r\n\r\nexport const tradeAllocationTemplateActions = {\r\n request,\r\n requestResult,\r\n update,\r\n deleteTemplate,\r\n activeChange\r\n};\r\n","import { Dispatch, AnyAction } from \"redux\";\r\nimport { ThunkDispatch } from \"redux-thunk\";\r\nimport { AppState } from \"../types/state/AppState\";\r\nimport { User } from \"../types/account/User\";\r\nimport { VerifyIdentityMethodType } from \"../types/account/VerifyIdentityMethodType\";\r\nimport { verifyIdentityActions as actionTypes } from \"../constants/actionTypes/verify.identity.actions\";\r\nimport { routes } from '../constants/routes';\r\nimport { accountActions, errorActions } from '.';\r\nimport { accountService } from '../services/account.service';\r\nimport { formatUtils } from \"../utils\";\r\nimport { constants } from \"../constants\";\r\nimport { notificationActions } from './notification.actions';\r\nimport { history } from \"../history\";\r\n\r\ntype TDispatch = ThunkDispatch;\r\n\r\nexport const verifyIdentityActions = {\r\n verify,\r\n changeSelectedMethod,\r\n requestVerificationCode,\r\n submitVerificationCode,\r\n verificationMethodReset,\r\n invalidVerificationCode,\r\n reset\r\n}\r\n\r\nfunction verify(email: string, phone: string | undefined, pathname: string | undefined) {\r\n return (dispatch: Dispatch): void => {\r\n dispatch({\r\n type: actionTypes.VERIFY_IDENTITY_REQUIRED,\r\n email: formatUtils.maskEmail(email),\r\n phone,\r\n pathname\r\n\r\n });\r\n history.replace(routes.verifyIdentityRequest);\r\n };\r\n}\r\n\r\nfunction changeSelectedMethod(selectedMethod: VerifyIdentityMethodType): AnyAction {\r\n return {\r\n type: actionTypes.VERIFY_IDENTITY_SET_SELECTED_METHOD,\r\n selectedMethod\r\n };\r\n}\r\n\r\nfunction requestVerificationCode() {\r\n return (dispatch: TDispatch, getState: () => AppState): void => {\r\n const { selectedMethod } = getState().verifyIdentity;\r\n const verifyPromise = selectedMethod === VerifyIdentityMethodType.email\r\n ? accountService.requestIdentityVerificationCodeEmail()\r\n : accountService.requestIdentityVerificationCodeSms();\r\n\r\n dispatch(invalidVerificationCode(false));\r\n dispatch(requesting(true));\r\n\r\n verifyPromise\r\n .then(sent)\r\n .catch(failed)\r\n .finally(() => dispatch(requesting(false)));\r\n\r\n function requesting(isRequesting: boolean) {\r\n return {\r\n type: actionTypes.VERIFY_IDENTITY_CODE_REUESTING,\r\n isRequesting\r\n };\r\n }\r\n function sent() {\r\n dispatch(storeVerificationCodeSentDate(new Date()));\r\n history.replace(routes.verifyIdentitySubmit);\r\n }\r\n function failed(e: { status: number }) {\r\n if (e.status === 401) {\r\n history.replace(routes.login);\r\n } else {\r\n dispatch(errorActions.unexpectedError(e));\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction storeVerificationCodeSentDate(sentDate: Date | undefined): AnyAction {\r\n return {\r\n type: actionTypes.VERIFY_IDENTITY_CODE_SENT,\r\n sentDate\r\n };\r\n}\r\n\r\nfunction submitVerificationCode(code: string, attempt: number) {\r\n return async (dispatch: TDispatch, getState: () => AppState): Promise => {\r\n dispatch(submitting(true));\r\n\r\n const fingerprint = await accountActions.getFingerprint();\r\n\r\n accountService.submitIdentityVerificationCode(code, fingerprint)\r\n .then(success)\r\n .catch(failed)\r\n .finally(() => dispatch(submitting(false)))\r\n\r\n function submitting(inProgress: boolean) {\r\n return {\r\n type: actionTypes.VERIFY_IDENTITY_CODE_CONFIRMING,\r\n inProgress\r\n }\r\n }\r\n\r\n function success(userData: User) {\r\n const pathname = getState().verifyIdentity.pathname;\r\n dispatch(accountActions.loginSuccess(userData, pathname))\r\n }\r\n\r\n function failed(e: any) {\r\n if (+e.status === 400) {\r\n if (attempt >= constants.sendVerificationCodeAttemptsLimit) {\r\n history.replace(routes.login)\r\n dispatch(notificationActions.notificationAddErrorMessage(\r\n `Please try to login again in ${constants.accountLockTimeoutMinutes} minutes or contact ${process.env.REACT_APP_SALES_EMAIL} to solve the issue`,\r\n 'Oops, something went wrong'\r\n ));\r\n } else {\r\n dispatch(invalidVerificationCode(true));\r\n }\r\n } else {\r\n history.replace(routes.login);\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction invalidVerificationCode(isInvalid: boolean) {\r\n return (dispatch: Dispatch, getState: () => AppState): void => {\r\n const { isVerificationCodeInvalid } = getState().verifyIdentity;\r\n\r\n if (isVerificationCodeInvalid !== isInvalid) {\r\n dispatch({\r\n type: actionTypes.VERIFY_IDENTITY_CODE_INVALID,\r\n isInvalid\r\n });\r\n }\r\n };\r\n}\r\n\r\nfunction verificationMethodReset() {\r\n return (dispatch: TDispatch): void => {\r\n dispatch(storeVerificationCodeSentDate(undefined));\r\n dispatch(changeSelectedMethod(VerifyIdentityMethodType.email));\r\n dispatch(invalidVerificationCode(false));\r\n history.replace(routes.verifyIdentityRequest);\r\n };\r\n}\r\n\r\nfunction reset(): AnyAction {\r\n return {\r\n type: actionTypes.VERIFY_IDENTITY_RESET\r\n };\r\n}\r\n","import { saveAs } from 'file-saver';\r\nimport { bwicDateFilterOptions, tradesActions as actionTypes } from '../constants';\r\nimport { tradeReportingService } from '../services/tradeReportingService';\r\nimport { errorActions } from './error.actions';\r\nimport { getDateRangeOption, getSearchDateRange, isRequesting } from '../utils';\r\nimport { RequestState } from '../constants/request-state';\r\nimport { queryStringSerializer } from '../utils/filtering';\r\nimport { dateFrom, dateTo, reportedStatuses, tradesStatuses, settlementStatuses } from '../utils/filtering/serializers/serializer.definitions';\r\nimport { TradeSettlementStatus, tradeSettlementStatusTitle } from '../types/settlement/TradeSettlementStatus';\r\nimport { tradeStatuses } from '../constants/bidding';\r\nimport { history } from '../history';\r\n\r\nfunction getTradeStatusFilter(filters) {\r\n const statuses = [];\r\n if (filters.pending) statuses.push(tradeStatuses.pending.key);\r\n if (filters.confirmed) statuses.push(tradeStatuses.affirmed.key);\r\n if (filters.rejected) statuses.push(tradeStatuses.rejected.key);\r\n\r\n return statuses;\r\n}\r\n\r\nfunction getSettlementStatusFilter(filters) {\r\n const statuses = [];\r\n\r\n if (filters.allocationStatus.unsettled) statuses.push(TradeSettlementStatus.Unsettled);\r\n if (filters.allocationStatus.pendingSettlement) statuses.push(TradeSettlementStatus.PendingSettlement);\r\n if (filters.allocationStatus.pendingAllocation) statuses.push(TradeSettlementStatus.PendingAllocation);\r\n if (filters.allocationStatus.pendingProceeds) statuses.push(TradeSettlementStatus.PendingProceeds);\r\n if (filters.allocationStatus.settled) statuses.push(TradeSettlementStatus.Settled);\r\n\r\n return statuses;\r\n}\r\n\r\n\r\nexport const tradesActions = {\r\n init,\r\n reset,\r\n filterReportedChange,\r\n filterNotReportedChange,\r\n search,\r\n setTradeReportedFlag,\r\n resetFilter,\r\n exportSearchResult,\r\n filterDateChange,\r\n filterCustomDateChange,\r\n tradesToggleConfirmed,\r\n tradesTogglePending,\r\n tradesToggleRejected,\r\n tradesToggleAllocationStatusUnsettled,\r\n tradesToggleAllocationStatusPendingSettlement,\r\n tradesToggleAllocationStatusPendingAllocation,\r\n tradesToggleAllocationStatusPendingProceeds,\r\n tradesToggleAllocationStatusSettled\r\n};\r\n\r\nfunction init(sortingField, sortDirection) {\r\n return dispatch => {\r\n const queryString = history.location.search;\r\n let from = '';\r\n let to = '';\r\n let statusOptions = [];\r\n let sellementStatusOptions = [];\r\n const serializers = [\r\n dateFrom(parsedDate => from = parsedDate),\r\n dateTo(parsedDate => to = parsedDate),\r\n reportedStatuses(reported => reported.map(r => r === 'No' ? dispatch(filterNotReportedChange()) : dispatch(filterReportedChange()))),\r\n tradesStatuses(parsedStatuses => statusOptions = parsedStatuses),\r\n settlementStatuses(parsedStatuses => sellementStatusOptions = parsedStatuses),\r\n ];\r\n queryStringSerializer.deserialize(queryString, serializers);\r\n const { option, customRange } = getDateRangeOption(from, to);\r\n\r\n dispatch(filterDateChange(option));\r\n dispatch(filterCustomDateChange(customRange));\r\n statusOptions.map(statusTitle => {\r\n if (statusTitle === tradeStatuses.pending.title) return dispatch(tradesTogglePending());\r\n if (statusTitle === tradeStatuses.affirmed.title) return dispatch(tradesToggleConfirmed());\r\n if (statusTitle === tradeStatuses.rejected.title) return dispatch(tradesToggleRejected());\r\n return null;\r\n })\r\n sellementStatusOptions.map(statusTitle => {\r\n if (statusTitle === tradeSettlementStatusTitle[TradeSettlementStatus.Unsettled]) {\r\n return dispatch(tradesToggleAllocationStatusUnsettled());\r\n }\r\n if (statusTitle === tradeSettlementStatusTitle[TradeSettlementStatus.PendingSettlement]) {\r\n return dispatch(tradesToggleAllocationStatusPendingSettlement());\r\n }\r\n if (statusTitle === tradeSettlementStatusTitle[TradeSettlementStatus.PendingAllocation]) {\r\n return dispatch(tradesToggleAllocationStatusPendingAllocation());\r\n }\r\n if (statusTitle === tradeSettlementStatusTitle[TradeSettlementStatus.PendingProceeds]) {\r\n return dispatch(tradesToggleAllocationStatusPendingProceeds());\r\n }\r\n if (statusTitle === tradeSettlementStatusTitle[TradeSettlementStatus.Settled]) {\r\n return dispatch(tradesToggleAllocationStatusSettled());\r\n }\r\n return null;\r\n })\r\n dispatch(search(sortingField, sortDirection));\r\n };\r\n}\r\n\r\nfunction reset() {\r\n return { type: actionTypes.TRADES_RESET };\r\n}\r\n\r\nfunction tradesToggleConfirmed() {\r\n return {\r\n type: actionTypes.TOGGLE_CONFIRMED\r\n };\r\n}\r\nfunction tradesTogglePending() {\r\n return {\r\n type: actionTypes.TOGGLE_PENDING\r\n };\r\n}\r\nfunction tradesToggleRejected() {\r\n return {\r\n type: actionTypes.TOGGLE_REJECTED\r\n };\r\n}\r\n\r\nfunction tradesToggleAllocationStatusUnsettled() {\r\n return {\r\n type: actionTypes.TOGGLE_UNSETTLED\r\n };\r\n}\r\nfunction tradesToggleAllocationStatusPendingSettlement() {\r\n return {\r\n type: actionTypes.TOGGLE_PENDING_SETTLEMENT\r\n };\r\n}\r\nfunction tradesToggleAllocationStatusPendingAllocation() {\r\n return {\r\n type: actionTypes.TOGGLE_PENDING_ALLOCATION\r\n };\r\n}\r\nfunction tradesToggleAllocationStatusPendingProceeds() {\r\n return {\r\n type: actionTypes.TOOGLE_PENDING_PROCEEDS\r\n };\r\n}\r\nfunction tradesToggleAllocationStatusSettled() {\r\n return {\r\n type: actionTypes.TOGGLE_SETTLED\r\n };\r\n}\r\n\r\nfunction filterDateChange(option) {\r\n return (dispatch, getState) => {\r\n const { filter } = getState().trades;\r\n dispatch({\r\n type: actionTypes.FILTER_DATE_CHANGE,\r\n option: {\r\n key: option.key,\r\n title: option.title\r\n }\r\n });\r\n\r\n if (\r\n option.key !== bwicDateFilterOptions.custom.key &&\r\n filter.customDateRange &&\r\n filter.customDateRange.from\r\n ) {\r\n dispatch(filterCustomDateChange({}));\r\n }\r\n }\r\n}\r\n\r\nfunction filterCustomDateChange(dateRange) {\r\n return {\r\n type: actionTypes.FILTER_CUSTOM_DATE_CHANGE,\r\n dateRange\r\n };\r\n}\r\n\r\nfunction filterReportedChange() {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.TRADES_FILTER_REPORTED });\r\n }\r\n}\r\n\r\nfunction filterNotReportedChange() {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.TRADES_FILTER_NOT_REPORTED });\r\n }\r\n}\r\n\r\nfunction search(sortingField, sortDirection, isResetTrades) {\r\n return (dispatch, getState) => {\r\n const { trades } = getState();\r\n const { filter } = trades;\r\n let page = trades.page;\r\n if (isRequesting(trades.searchRequestState)){\r\n return;\r\n }\r\n\r\n if (isResetTrades) {\r\n dispatch(resetTrades());\r\n page = 1;\r\n }\r\n\r\n dispatch(setSearchInProgress(RequestState.request));\r\n\r\n const isReported = geReportedFlag(filter.reported, filter.notReported);\r\n const excludeOnBehalf = filter.reported && filter.notReported;\r\n const searchDateRange = getSearchDateRange(filter);\r\n const filterDateFrom = searchDateRange.dateFrom || null;\r\n const filterDateTo = searchDateRange.dateTo || null;\r\n const tradeStatusesValue = getTradeStatusFilter(filter);\r\n const settlementStatusesValue = getSettlementStatusFilter(filter);\r\n\r\n tradeReportingService\r\n .search({\r\n isReported,\r\n excludeOnBehalf,\r\n dateFrom: filterDateFrom,\r\n dateTo: filterDateTo,\r\n tradeStatuses: tradeStatusesValue,\r\n settlementStatuses: settlementStatusesValue,\r\n sortingField,\r\n sortDirection,\r\n page,\r\n pageSize: 50,\r\n\r\n })\r\n .then(searchSuccess)\r\n .catch(e => {\r\n dispatch(setSearchInProgress(RequestState.failure));\r\n dispatch(errorActions.criticalError(e));\r\n });\r\n\r\n function searchSuccess(response) {\r\n const serializers = [dateFrom(), dateTo(), reportedStatuses(), tradesStatuses(), settlementStatuses()];\r\n const criteria = {\r\n ...searchDateRange,\r\n reported: getReportedCriteria(filter.reported, filter.notReported),\r\n statuses: tradeStatusesValue ? tradeStatusesValue.map(key => tradeStatuses.getByKey(key).title) : [],\r\n settlementStatuses: settlementStatusesValue ? settlementStatusesValue.map(s => tradeSettlementStatusTitle[s]) : []\r\n };\r\n\r\n const queryString = queryStringSerializer.serialize(criteria, serializers);\r\n\r\n if (queryString) {\r\n history.replace(history.location.pathname + '?' + queryString);\r\n }\r\n\r\n dispatch(storeResponse(response, page += 1));\r\n dispatch(setSearchInProgress(RequestState.success))\r\n }\r\n };\r\n}\r\n\r\nfunction geReportedFlag(reported, notReported) {\r\n if ((reported && notReported) || (!reported && !notReported)) {\r\n return undefined;\r\n }\r\n\r\n return reported;\r\n}\r\n\r\n\r\nfunction storeResponse(response, page) {\r\n return {\r\n type: actionTypes.TRADES_STORE_TRADES,\r\n payload: { trades: response.result, totalRecordNumber: response.totalRecordNumber, page }\r\n };\r\n}\r\n\r\nfunction resetTrades() {\r\n return { type: actionTypes.TRADES_RESET_TRADES }\r\n}\r\n\r\nfunction setSearchInProgress(requestState) {\r\n return {\r\n type: actionTypes.TRADES_SEARCH_IN_PROGRESS,\r\n payload: { requestState }\r\n };\r\n}\r\n\r\nfunction resetFilter() {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.TRADES_RESET_FILTER });\r\n };\r\n}\r\n\r\nfunction setTradeReportedFlag(tradeId, isReported) {\r\n return dispatch => {\r\n dispatch(setReportedRequestState(tradeId, true));\r\n\r\n tradeReportingService.setReportedFalg(tradeId, isReported)\r\n .then(\r\n () => dispatch(tradeReportedFlagChange(tradeId, isReported)),\r\n e => dispatch(errorActions.unexpectedError(e))\r\n ).then(() => dispatch(setReportedRequestState(tradeId, false)));\r\n\r\n function tradeReportedFlagChange(tradeId, isReported) {\r\n return {\r\n type: actionTypes.TRADES_REPORTED_FLAG,\r\n tradeId,\r\n isReported\r\n };\r\n }\r\n\r\n function setReportedRequestState(tradeId, inProgress) {\r\n return {\r\n type: actionTypes.TRADES_REPORTED_REQUEST_STATE,\r\n tradeId,\r\n inProgress\r\n };\r\n }\r\n };\r\n}\r\n\r\nfunction setRequestingExportTrades(status) {\r\n return { type: actionTypes.TRADES_SET_IS_REQUESTING_EXPORT_TRADES, payload: { status } }\r\n}\r\n\r\nfunction exportSearchResult(sortingField, sortDirection) {\r\n return (dispatch, getState) => {\r\n const { filter } = getState().trades;\r\n const { dateFrom = null, dateTo = null } = getSearchDateRange(filter);\r\n const isReported = geReportedFlag(filter.reported, filter.notReported);\r\n const excludeOnBehalf = filter.reported && filter.notReported;\r\n const tradeStatusesValue = getTradeStatusFilter(filter);\r\n const settlementStatusesValue = getSettlementStatusFilter(filter);\r\n dispatch(setRequestingExportTrades(true));\r\n tradeReportingService\r\n .exportSearchResult(\r\n isReported,\r\n dateFrom,\r\n dateTo,\r\n excludeOnBehalf,\r\n tradeStatusesValue,\r\n settlementStatusesValue,\r\n sortingField,\r\n sortDirection\r\n )\r\n .then(file => saveAs(file.blob, file.name || 'list_of_trades.csv'))\r\n .catch(e => errorActions.unexpectedError(e))\r\n .finally(() => dispatch(setRequestingExportTrades(false)));\r\n };\r\n}\r\n\r\n\r\nfunction getReportedCriteria(reported, notReported) {\r\n const result = [];\r\n if (reported) {\r\n result.push('Yes')\r\n }\r\n if (notReported) {\r\n result.push('No')\r\n }\r\n\r\n return result;\r\n}\r\n","import { ThunkDispatch } from 'redux-thunk';\r\nimport { AnyAction } from 'redux';\r\nimport { profileActions as actionTypes, constants } from '../constants';\r\nimport { accountService } from '../services';\r\nimport { errorActions } from './error.actions';\r\nimport { accountActions } from './account.actions';\r\nimport { notificationActions } from './notification.actions';\r\n\r\nexport const tfaSettingsActions = {\r\n deactivateSmsConfirmation,\r\n saveIdentityPhone,\r\n submitPhoneVerificationCode,\r\n invalidPhoneVerificationCode,\r\n requestPhoneVerificationCode,\r\n storeSmsActivationRequestedDate,\r\n identityPhoneEdit\r\n};\r\n\r\ntype TDispatch = ThunkDispatch;\r\n\r\nfunction deactivateSmsConfirmation() {\r\n return (dispatch: TDispatch) => {\r\n dispatch(deactivateSmsConfirmationState(true));\r\n\r\n accountService\r\n .deleteIdentityPhoneNumber()\r\n .then(() => dispatch({ type: actionTypes.PROFILE_SMS_DEACTIVATED }))\r\n .catch((e: unknown) => dispatch(errorActions.unexpectedError(e)))\r\n .finally(() => dispatch(deactivateSmsConfirmationState(false)));\r\n }\r\n}\r\n\r\nfunction deactivateSmsConfirmationState(inProgress: boolean) {\r\n return {\r\n type: actionTypes.PROFILE_SMS_DEACTIVATING,\r\n inProgress\r\n };\r\n}\r\n\r\nfunction saveIdentityPhone(phone: string) {\r\n return async (dispatch: TDispatch) => {\r\n dispatch(identityPhoneSaving(true));\r\n\r\n try {\r\n await accountService.saveIdentityPhoneNumber(phone);\r\n await accountService.requestPhoneVerificationCode();\r\n\r\n dispatch({ type: actionTypes.PROFILE_IDENTITY_PHONE_SAVED, phone });\r\n dispatch(storeSmsActivationRequestedDate(new Date()));\r\n } catch (e) {\r\n dispatch(errorActions.unexpectedError(e));\r\n\r\n } finally {\r\n dispatch(identityPhoneSaving(false));\r\n }\r\n };\r\n}\r\n\r\nfunction storeSmsActivationRequestedDate(date: Date | undefined) {\r\n return {\r\n type: actionTypes.PROFILE_SMS_ACTIVATION_CODE_REQUESTED,\r\n date\r\n };\r\n}\r\n\r\n\r\nfunction identityPhoneSaving(inProgress: boolean) {\r\n return {\r\n type: actionTypes.PROFILE_IDENTITY_PHONE_SAVING_STATE,\r\n inProgress\r\n };\r\n}\r\n\r\nfunction submitPhoneVerificationCode(code: string) {\r\n return async (dispatch: TDispatch) => {\r\n dispatch(verificationCodeSubmitting(true));\r\n const fingerprint = await accountActions.getFingerprint();\r\n\r\n accountService\r\n .submitPhoneVerificationCode(code, fingerprint)\r\n .then(handleResult)\r\n .catch(() => dispatch(invalidPhoneVerificationCode(true)))\r\n .finally(() => dispatch(verificationCodeSubmitting(false)));\r\n\r\n function handleResult(result: any) {\r\n if (result.isValid) {\r\n dispatch(identityPhoneConfirmed());\r\n } else if (result.failed) {\r\n dispatch(storeSmsActivationRequestedDate(undefined));\r\n dispatch(notificationActions.notificationAddErrorMessage(\r\n `Please try to confirm code in ${constants.accountLockTimeoutMinutes} minutes or contact ${process.env.REACT_APP_SALES_EMAIL} to solve the issue`,\r\n 'Oops, something went wrong'\r\n ));\r\n } else {\r\n dispatch(invalidPhoneVerificationCode(true));\r\n }\r\n };\r\n };\r\n}\r\n\r\nfunction identityPhoneConfirmed() {\r\n return {\r\n type: actionTypes.PROFILE_IDENTITY_PHONE_CONFIRMED\r\n };\r\n}\r\n\r\nfunction verificationCodeSubmitting(inProgress: boolean) {\r\n return {\r\n type: actionTypes.PROFILE_VERIFICATION_CODE_SENDING_STATE,\r\n inProgress\r\n };\r\n}\r\n\r\nfunction requestPhoneVerificationCode() {\r\n return async (dispatch: TDispatch) => {\r\n dispatch(identityPhoneSaving(true));\r\n dispatch(invalidPhoneVerificationCode(false));\r\n\r\n accountService\r\n .requestPhoneVerificationCode()\r\n .then(() => dispatch(storeSmsActivationRequestedDate(new Date())))\r\n .catch((e: unknown) => dispatch(errorActions.unexpectedError(e)))\r\n .finally(() => dispatch(identityPhoneSaving(false)));\r\n };\r\n}\r\n\r\nfunction invalidPhoneVerificationCode(isValid: boolean) {\r\n return {\r\n type: actionTypes.PROFILE_PHONE_VERIFICATION_CODE_VALID_STATE,\r\n isValid\r\n };\r\n}\r\n\r\nfunction identityPhoneEdit(isEdit: boolean) {\r\n return {\r\n type: actionTypes.PROFILE_IDENTITY_PHONE_EDIT,\r\n isEdit\r\n };\r\n}\r\n","import { createAction } from \"typesafe-actions\";\r\nimport { BillingContact } from \"../types/billing/BillingContact\";\r\nimport { PaymentCard } from \"../types/billing/PaymentCard\";\r\nimport { SubscriptionType } from \"../types/billing/SubscriptionType\";\r\n\r\nconst init = createAction(\r\n 'upgradeSubscription/INIT',\r\n resolve => (targetSubscriptionType: SubscriptionType, billingContact: BillingContact, paymentCard: PaymentCard) =>\r\n resolve({ targetSubscriptionType, billingContact, paymentCard })\r\n);\r\nconst reset = createAction('upgradeSubscription/RESET');\r\nconst subscriptionSavingFlag = createAction(\r\n 'upgradeSubscription/SUBSCRIPTION_SAVING_FLAG',\r\n resolve => (isSubscriptionSaving: boolean) => resolve({ isSubscriptionSaving })\r\n);\r\nconst save = createAction(\r\n 'upgradeSubscription/SAVE',\r\n resolve => (targetSubscriptionType: SubscriptionType) =>\r\n resolve({ targetSubscriptionType })\r\n);\r\n\r\nexport const upgradeSubscriptionActions = {\r\n init,\r\n reset,\r\n subscriptionSavingFlag,\r\n save\r\n}\r\n"],"names":["textRulesPanelActions","show","createAction","resolve","rulesText","goodUntilDate","bidsDueDate","process","parsedProcess","isParsed","isSameDayBwic","daysToSettle","bwicReferenceName","hide","approve","userRequestId","concurrencyStamp","block","blockReason","unblock","deleteUserRequest","setOperationState","requestState","userRequestApproved","user","userRequestBlocked","userRequest","userRequestUnblocked","userRequestDeleted","getPendingUserRequestCount","userRequestAdminActions","setPendingUserRequestCount","count","request","tradeId","requestResult","tradeAllocationItems","arguments","length","undefined","tradeAllocationActions","reset","update","items","userProfilePhotoActions","type","userProfilePhotoActionTypes","USER_PROFILE_PHOTO_RESET","fetchUserImage","userId","dispatch","setFetchUserPhotoRequestState","RequestState","accountService","then","createBase64FromBlob","image","success","setUserProfilePhoto","catch","failure","fetchPhotoThumbnail","getState","userProfilePhoto","thumbnailsRequestState","isRequesting","isRequestSuccess","setPhotoThumbnailRequestState","photoService","getThumbnail","setPhotoThumbnail","imageBlobUrl","USER_PROFILE_PHOTO_SET_USER_PHOTO","payload","STORE_PHOTO_THUMBNAIL","USER_PROFILE_PHOTO_SET_FETCH_PHOTO_REQUEST_STATE","PHOTO_THUMBNAIL_REQUEST_STATE","response","Promise","blob","size","reader","FileReader","readAsDataURL","onloadend","base64data","result","String","tradeConfirmActions","actionTypes","RESET","affirmAll","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_getState$tradeConfir","tradedPositions","operationsProgress","positions","operationsProgressUpdate","wrap","_context","prev","next","tradeConfirm","filter","p","trade","status","tradeStatuses","pending","key","some","o","positionId","id","isInProgress","map","tradeReferenceId","setAffirmProgress","biddingService","affirm","setAwaitingBwicTradeStatus","affirmed","e","errorActions","unexpectedError","finally","_objectSpread","stop","_x","_x2","apply","checkOperationInProgress","reject","rejectReason","rejected","error","errorMessages","checkAwaitingTrades","SET_AWAITING_TRADED_POSITIONS","setAwaitingTradedPositions","visibility","visible","CONFIRM_TRADE_POPUP_VISIBLE","removeProcessedTradedPositions","progress","find","SET_OPERATIONS_PROGRESS","SET_TRADED_POSITION_STATUS","REMOVE_PROCESSED_TADED_POSITIONS","uploadDocumentsActions","init","securityIdList","deals","bwicDealsService","getDeals","sent","loadDeals","t0","criticalError","refresh","uploadDocuments","d","_d$om","_d$indenture","_d$dailyReports","_d$monthlyReports","_d$other","om","dateAdded","indenture","dailyReports","monthlyReports","other","REFRESH_TIME","uploadDialog","dealReferenceName","documentType","_getState$uploadDocum","uploadAll","UPLOAD_DIALOG","upload","uploadAllDialog","deal","UPLOAD_ALL_DIALOG","uploadDocument","file","uid","Math","floor","random","uploadingDocument","name","BEGIN_DOCUMENT_UPLOAD","beginDocumentUpload","referenceName","documentsService","uploadAndAssignDocument","lengthComputable","percentComplete","loaded","total","PROGRESS_DOCUMENT_UPLOAD","progressDocumentUpload","documents","setTimeout","completeDocumentUpload","document","Date","merge","concat","copy","DealDocumentTypeState","OM","Indenture","DistributionReport","distributionReports","MonthlyReport","deleteDocument","dealTicker","documentId","setRequestStatusDeletingDocument","remove","removeDocumentFromStore","downloadDocument","saveAs","DEALS","COMPLETE_DOCUMENT_UPLOAD","SET_REQUEST_STATUS_DELETING_DOCUMENT","templates","tradeAllocationTemplateActions","template","deleteTemplate","templateId","activeChange","activated","deactivated","verifyIdentityActions","verify","email","phone","pathname","VERIFY_IDENTITY_REQUIRED","formatUtils","maskEmail","history","replace","routes","verifyIdentityRequest","changeSelectedMethod","requestVerificationCode","verifyPromise","verifyIdentity","selectedMethod","VerifyIdentityMethodType","requestIdentityVerificationCodeEmail","requestIdentityVerificationCodeSms","requesting","VERIFY_IDENTITY_CODE_REUESTING","invalidVerificationCode","storeVerificationCodeSentDate","verifyIdentitySubmit","login","submitVerificationCode","code","attempt","fingerprint","submitting","failed","constants","sendVerificationCodeAttemptsLimit","notificationActions","notificationAddErrorMessage","accountLockTimeoutMinutes","userData","accountActions","loginSuccess","inProgress","VERIFY_IDENTITY_CODE_CONFIRMING","getFingerprint","submitIdentityVerificationCode","verificationMethodReset","VERIFY_IDENTITY_RESET","VERIFY_IDENTITY_SET_SELECTED_METHOD","sentDate","VERIFY_IDENTITY_CODE_SENT","isInvalid","isVerificationCodeInvalid","VERIFY_IDENTITY_CODE_INVALID","getTradeStatusFilter","filters","statuses","push","confirmed","getSettlementStatusFilter","allocationStatus","unsettled","TradeSettlementStatus","Unsettled","pendingSettlement","PendingSettlement","pendingAllocation","PendingAllocation","pendingProceeds","PendingProceeds","settled","Settled","tradesActions","sortingField","sortDirection","queryString","location","search","from","to","statusOptions","sellementStatusOptions","serializers","dateFrom","parsedDate","dateTo","reportedStatuses","reported","r","filterNotReportedChange","filterReportedChange","tradesStatuses","parsedStatuses","settlementStatuses","queryStringSerializer","deserialize","_getDateRangeOption","getDateRangeOption","option","customRange","filterDateChange","filterCustomDateChange","statusTitle","title","tradesTogglePending","tradesToggleConfirmed","tradesToggleRejected","tradeSettlementStatusTitle","tradesToggleAllocationStatusUnsettled","tradesToggleAllocationStatusPendingSettlement","tradesToggleAllocationStatusPendingAllocation","tradesToggleAllocationStatusPendingProceeds","tradesToggleAllocationStatusSettled","TRADES_RESET","setTradeReportedFlag","isReported","setReportedRequestState","TRADES_REPORTED_REQUEST_STATE","tradeReportingService","setReportedFalg","TRADES_REPORTED_FLAG","tradeReportedFlagChange","resetFilter","TRADES_RESET_FILTER","exportSearchResult","trades","_getSearchDateRange","getSearchDateRange","_getSearchDateRange$d","_getSearchDateRange$d2","geReportedFlag","notReported","excludeOnBehalf","tradeStatusesValue","settlementStatusesValue","setRequestingExportTrades","TOGGLE_CONFIRMED","TOGGLE_PENDING","TOGGLE_REJECTED","TOGGLE_UNSETTLED","TOGGLE_PENDING_SETTLEMENT","TOGGLE_PENDING_ALLOCATION","TOOGLE_PENDING_PROCEEDS","TOGGLE_SETTLED","FILTER_DATE_CHANGE","bwicDateFilterOptions","custom","customDateRange","dateRange","FILTER_CUSTOM_DATE_CHANGE","TRADES_FILTER_REPORTED","TRADES_FILTER_NOT_REPORTED","isResetTrades","page","searchRequestState","TRADES_RESET_TRADES","setSearchInProgress","searchDateRange","filterDateFrom","filterDateTo","pageSize","criteria","getReportedCriteria","getByKey","s","serialize","TRADES_STORE_TRADES","totalRecordNumber","storeResponse","TRADES_SEARCH_IN_PROGRESS","TRADES_SET_IS_REQUESTING_EXPORT_TRADES","tfaSettingsActions","deactivateSmsConfirmation","deactivateSmsConfirmationState","deleteIdentityPhoneNumber","PROFILE_SMS_DEACTIVATED","saveIdentityPhone","identityPhoneSaving","saveIdentityPhoneNumber","requestPhoneVerificationCode","PROFILE_IDENTITY_PHONE_SAVED","storeSmsActivationRequestedDate","finish","submitPhoneVerificationCode","_ref2","_callee2","handleResult","_context2","isValid","PROFILE_IDENTITY_PHONE_CONFIRMED","invalidPhoneVerificationCode","verificationCodeSubmitting","_ref3","_callee3","_context3","_x3","identityPhoneEdit","isEdit","PROFILE_IDENTITY_PHONE_EDIT","PROFILE_SMS_DEACTIVATING","date","PROFILE_SMS_ACTIVATION_CODE_REQUESTED","PROFILE_IDENTITY_PHONE_SAVING_STATE","PROFILE_VERIFICATION_CODE_SENDING_STATE","PROFILE_PHONE_VERIFICATION_CODE_VALID_STATE","targetSubscriptionType","billingContact","paymentCard","isSubscriptionSaving"],"sourceRoot":""}