{"version":3,"file":"static/js/main-f9b23435.30cc49b0.js","mappings":"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","sources":["components/common/ValitanaLink.tsx","components/common/accordion/Accordion.tsx","components/common/accordion/AccordionItem.tsx","components/common/accordion/AccordionItemHeader.tsx","components/common/accordion/AccordionItemBody.tsx","components/common/bidding/BidConflictsWarning.tsx","components/common/bidding/BidLevelDelta.tsx","components/common/bidding/GoodUntilTime.tsx","components/common/charts/HoverInfo.tsx","components/common/charts/horizontalBox/Chart.jsx","components/common/charts/horizontalBox/HorizontalBoxChart.jsx","components/common/charts/box/Chart.jsx","components/common/charts/box/BoxChart.jsx","components/common/charts/plotlyConfig.js","components/common/collapsible-list/CollapsibleList.jsx","components/common/collapsible-list/CollapsibleListItem.jsx","components/common/collapsible-list/CollapsibleListItemContent.tsx","components/common/collapsible-list/CollapsibleListRow.tsx","components/common/date-range-custon-view/CustomDatePickerYearView.tsx","components/common/date-range-custon-view/CustomDatePicker.tsx","components/common/date-range-custon-view/CustomDateRangePicker.tsx","components/common/download-template/DownloadTemplateButton.tsx","components/common/filters/ExpandClearToggle.tsx","components/common/filters/Filter.tsx","components/common/filters/FilterBoolean.tsx","components/common/filters/FilterButton.tsx","components/common/filters/FilterColor.tsx","components/common/filters/FilterDateRange.tsx","components/common/filters/FilterDateRange/DateRangeFilter.tsx","components/common/filters/FilterDateRange/DateRangeSelector.jsx","components/common/filters/FilterDateTimeRange/constants.ts","components/common/filters/FilterDateTimeRange/TimeInput.tsx","components/common/filters/FilterDateTimeRange/DateTimeInput.tsx","components/common/filters/FilterDateTimeRange/utils.ts","components/common/filters/FilterDateTimeRange/DateTimeRangeSelector.tsx","components/common/filters/FilterDateTimeRange/DateTimeSelector.tsx","components/common/filters/FilterDateTimeRange/FilterDateTimeRange.tsx","components/common/filters/FilterDropDown.tsx","components/common/filters/FilterRadio.tsx","components/controls/DecimalMaskedInput.tsx","components/common/filters/FilterRange.tsx","components/common/filters/FilterSelect.tsx","components/common/filters/FilterYearsDateRange.tsx","components/common/form-fields/CheckboxField.tsx","components/common/form-fields/DateField.tsx","components/common/form-fields/EditorField.tsx","components/common/form-fields/InputField.tsx","components/common/form-fields/MarkdownField.tsx","components/common/form-fields/NumberField.tsx","components/controls/Select.tsx","components/common/form-fields/SelectField.tsx","components/common/form-fields/TextField.tsx","components/common/form-fields/TextareaField.tsx","components/common/manager-analytics/ClientsActivityChart.tsx","components/common/manager-analytics/ProfileViewHistoryTable.tsx","components/common/manager-analytics/downloadedPresentations/DownloadedPresentationsChart.tsx","components/common/manager-analytics/downloadedPresentations/DownloadedPresentationsWidget.tsx","components/common/manager-analytics/transactionViewHistory/transactionViewHistory.columns.tsx","components/common/manager-analytics/transactionViewHistory/TransactionViewHistoryTable.tsx","components/common/manager-analytics/transactionViewHistory/TransactionViewHistoryWidget.tsx","components/common/manager-analytics/withAnalyticsRequest.tsx","components/common/markdown-editor/MarkdownViewer.tsx","components/common/markdown-editor/constants.ts","components/common/markdown-editor/utils.ts","components/common/markdown-editor/MarkdownEditor.tsx","components/common/markdown-editor/markdown-render.tsx","components/common/new-bwic-button/NewBwicButton.tsx","components/common/pageConfig/column-customizer/BwicColumnCustomizer.tsx","components/common/pageConfig/usePageConfig.ts","components/common/security-list/SecurityListColumn.jsx","components/common/security-list/SecurityListContainer.jsx","components/common/security-list/SecurityListContent.jsx","components/common/security-list/SecurityListHeader.jsx","components/common/security-list/SecurityListHeaderColumn.jsx","components/common/security-list/SecurityListRow.tsx","components/common/settlment-agent-popup/SettlementAgentContactsList.tsx","components/common/settlment-agent-popup/SettlementAgentDailyTraidingLimit.tsx","components/common/settlment-agent-popup/useTotalDailyTradingLimit.tsx","components/common/summary-row/SummaryRow.tsx","components/common/summary-row/SummaryRowGroup.tsx","components/common/summary-row/SummaryRowItem.tsx","components/common/transfer/TransferHeader.tsx","components/common/transfer/TransferItem.tsx","components/common/transfer/TransferColumn.tsx","components/common/transfer/Transfer.tsx","components/company-details/CompanyDetailsButton.tsx","components/company-details/CompanyDetailsPanel.tsx","components/company-details/ContactList.tsx","components/company-details/CompanyDetailsPanelContent.tsx","components/contact-sales/ContactSalesPopup.tsx","components/contactsSave/ContactsSave.jsx","components/contactsSave/ContactsGrid.jsx","components/contactsSave/Conflicts.jsx","components/contactsSave/Conflict.jsx","components/controls/AnimatedValueUpdate.tsx","components/controls/BottomPanel.tsx","components/controls/Checkbox.tsx","components/controls/ContextMenu.jsx","components/controls/ContextMenuItem.tsx","components/controls/DayPickerInput.tsx","components/controls/DropDownButton.tsx","components/controls/DropDownList.tsx","components/controls/FileIcon.jsx","components/controls/FormError.jsx","components/controls/Link.tsx","components/controls/MultiSelect.tsx","components/controls/Popup.tsx","components/controls/PopupBody.jsx","components/controls/PopupFooter.jsx","components/controls/RadioButton.tsx","components/controls/RadioButtonGroup.jsx","components/controls/RightSidePanel.tsx","components/controls/RightSideTabPanel.tsx","components/controls/SelectSearch.tsx","components/controls/TimePickerControl.jsx","components/controls/TimeSpan.tsx","components/controls/TreeSelect.tsx","components/controls/YearSelector.tsx","components/controls/breadcrumbs/Breadcrumbs.tsx","components/controls/breadcrumbs/BreadcrumbsItem.tsx","components/controls/exclude-list/ExcludeListItem.tsx","components/controls/exclude-list/ExcludeListSection.tsx","components/controls/exclude-list/ExcludeList.tsx","components/controls/Counter.jsx","components/controls/ButtonSwitch.jsx","components/controls/AutoCompleteInput.jsx","components/controls/ProgressCircle.jsx","components/controls/Chip.jsx","components/controls/FormControlWrapper.jsx","components/controls/Popover.tsx","components/controls/Toggle.tsx"],"sourcesContent":["import IconSVG from '../../styles/svg-icons';\r\nimport cn from 'classnames';\r\nimport { OnHoverTooltip } from './OnHoverTooltip';\r\nimport { ClassIndicators } from '../../types/amr-pipeline/models/ClassIndicators';\r\nimport { constants } from '../../constants';\r\nimport { logger } from '../../logging/logger';\r\nimport { SubscriptionFeature } from '../../types/billing/SubscriptionFeature';\r\nimport { ActionBlocker } from '../access/ActionBlocker';\r\nimport { useContext } from 'react';\r\nimport { BlockedFeatureContext } from '../access/BlockedFeatureContext';\r\n\r\ntype Props = {\r\n identifier?: string;\r\n identifiers?: ClassIndicators;\r\n text?: string;\r\n className?: string;\r\n disabled?: boolean;\r\n textLink?: boolean;\r\n placeholderIfEmpty?: boolean;\r\n secondaryPlaceholderColor?: boolean;\r\n};\r\n\r\nexport function ValitanaLink({\r\n identifiers,\r\n identifier,\r\n className,\r\n placeholderIfEmpty,\r\n secondaryPlaceholderColor,\r\n disabled = false,\r\n textLink = false\r\n}: Props) {\r\n const blockedFromOutside = useContext(BlockedFeatureContext);\r\n const identifierForLink = identifier ?? getValitanaIdentifer(identifiers);\r\n\r\n if (!identifierForLink) {\r\n return placeholderIfEmpty ? (\r\n \r\n {constants.emptyPlaceholder}\r\n \r\n ) : null;\r\n }\r\n\r\n if (disabled) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n function getValitanaIdentifer(identifiers?: ClassIndicators) {\r\n if (!identifiers) {\r\n return undefined;\r\n }\r\n\r\n const {\r\n ticker144A,\r\n cusip144A,\r\n isin144A,\r\n tickerRegS,\r\n cusipRegS,\r\n isinRegS,\r\n tickerAccdInvCertif,\r\n cusipAccdInvCertif,\r\n isinAccdInvCertif,\r\n } = identifiers;\r\n\r\n return (\r\n ticker144A ||\r\n cusip144A ||\r\n isin144A ||\r\n tickerRegS ||\r\n cusipRegS ||\r\n isinRegS ||\r\n tickerAccdInvCertif ||\r\n cusipAccdInvCertif ||\r\n isinAccdInvCertif\r\n );\r\n }\r\n\r\n const generateValitanaLink = () => {\r\n return `https://analytics.valitana.com/security/${identifierForLink}`;\r\n };\r\n\r\n const renderBlockedView = () => (\r\n \r\n );\r\n\r\n const renderTooltip = () => (\r\n \r\n logger.trace('User clicked the Valitana link')}\r\n target=\"_blank\"\r\n href={generateValitanaLink()}\r\n className={cn('btn-link btn-link-valitana', { 'btn-link-no-label': !textLink }, className)}\r\n rel=\"noreferrer\"\r\n >\r\n \r\n {textLink && Valitana}\r\n \r\n \r\n );\r\n\r\n return (\r\n \r\n {blocked => (blocked || blockedFromOutside ? renderBlockedView() : renderTooltip())}\r\n \r\n );\r\n}\r\n","import React from 'react';\r\n\r\ninterface AccordionProps {\r\n children: React.ReactNode;\r\n}\r\n\r\nexport function Accordion({ children }: AccordionProps) {\r\n return (\r\n
\r\n {children}\r\n
\r\n )\r\n}\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\n\r\ninterface AccordionItemProps {\r\n children: React.ReactNode;\r\n isSelected: boolean;\r\n className?: string;\r\n}\r\n\r\nexport function AccordionItem({ children, isSelected, className }: AccordionItemProps) {\r\n const collapsedItem = classNames('accordion-row', 'collapsable-item', className, { 'item-open': isSelected });\r\n\r\n return (\r\n
\r\n {children}\r\n
\r\n )\r\n}\r\n\r\nAccordionItem.defaultProps = {\r\n isSelected: false,\r\n};\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport IconSVG from '../../../styles/svg-icons';\r\n\r\ninterface AccordionItemHeaderProps {\r\n children: React.ReactNode;\r\n onItemHeaderClick: (e: React.FormEvent) => void;\r\n isShowCollapsedIcon?: boolean;\r\n isSelected: boolean;\r\n showAdditionalIcon?: boolean;\r\n}\r\n\r\nexport function AccordionItemHeader({ children, onItemHeaderClick, isShowCollapsedIcon, isSelected, showAdditionalIcon = true }: AccordionItemHeaderProps) {\r\n\r\n const handleClick = (e: React.FormEvent) => {\r\n onItemHeaderClick && onItemHeaderClick(e);\r\n };\r\n\r\n const renderIconKptPlatform = () => (\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n return (\r\n
\r\n {isShowCollapsedIcon &&\r\n <>\r\n \r\n {showAdditionalIcon && renderIconKptPlatform()}\r\n \r\n }\r\n {children}\r\n
\r\n\r\n )\r\n}\r\n\r\nAccordionItemHeader.defaultProps = {\r\n isShowCollapsedIcon: true,\r\n isSelected: false,\r\n};\r\n","import React from 'react';\r\n\r\ninterface AccordionItemBodyProps {\r\n children: React.ReactNode;\r\n visible: boolean;\r\n}\r\n\r\nexport function AccordionItemBody({ children, visible }: AccordionItemBodyProps) {\r\n\r\n if (!visible) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n {children}\r\n
\r\n )\r\n}\r\n\r\nAccordionItemBody.defaultProps = {\r\n visible: false\r\n}\r\n","import * as React from 'react';\r\nimport moment from 'moment';\r\nimport { BidConflict } from '../../../types/bidding/BidConflict';\r\nimport { BwicPositionBase } from '../../../types/bwic/BwicPositionBase';\r\nimport { moneyUtils, formatUtils } from '../../../utils';\r\nimport { constants } from '../../../constants';\r\nimport { StatusMessageSectionType } from \"../../../types/state/NotificationState\";\r\nimport { StatusMessageSection } from \"../../status-message/StatusMessageSection\";\r\n\r\ninterface Props {\r\n conflicts: BidConflict[]\r\n positions: BwicPositionBase[]\r\n}\r\n\r\nexport function BidConflictsWarning({ conflicts, positions }: Props) {\r\n const renderConflictWarningRow = (conflict: BidConflict, index: number) => {\r\n const position = positions.find(p => p.id === conflict.positionId);\r\n\r\n if (position) {\r\n const submissionDate = conflict.modifiedDate || conflict.created;\r\n return (\r\n
\r\n
{position.ticker}
\r\n
{moneyUtils.money(conflict.size)} @ {conflict.pass ? 'PASS' : formatUtils.formatBid(conflict.level)} at {moment.utc(submissionDate).local().format(constants.timeFormat)}
\r\n
\r\n );\r\n }\r\n\r\n return null;\r\n };\r\n\r\n\r\n if (conflicts && conflicts.length) {\r\n const conflictItems = conflicts\r\n .map((c, i) => renderConflictWarningRow(c, i))\r\n .filter(i => i != null);\r\n\r\n if (conflictItems.length) {\r\n return (\r\n \r\n

The following bids were submitted earlier:

\r\n
\r\n {conflictItems}\r\n
\r\n

Please confirm your bids.

\r\n
\r\n );\r\n }\r\n }\r\n\r\n return null;\r\n}\r\n","import * as React from 'react';\r\nimport classNames from 'classnames';\r\nimport { formatUtils } from '../../../utils';\r\n\r\ninterface Props {\r\n currentLevel: number\r\n updatedLevel: number\r\n currentLevelVisible?: boolean\r\n updatedLevelVisible?: boolean\r\n tooltip?: boolean\r\n}\r\n\r\nexport function BidLevelDelta({ currentLevel, updatedLevel, currentLevelVisible = false, updatedLevelVisible = true, tooltip = false }: Props) {\r\n const level = currentLevelVisible ? currentLevel : updatedLevel;\r\n const renderLevel = () => <>{formatUtils.formatBid(level)}\r\n const renderDelta = () => {\r\n if (currentLevel > 0 && currentLevel !== updatedLevel) {\r\n const delta = updatedLevel - currentLevel;\r\n const sign = delta > 0 ? '+' : '';\r\n const currentClasses = {\r\n \"bid-level-delta\": true,\r\n \"bid-level-delta-positive\": delta > 0 && !tooltip,\r\n \"bid-level-delta-negative\": delta < 0 && !tooltip,\r\n \"bid-level-delta-tooltip\": tooltip\r\n }\r\n return {sign}{formatUtils.formatBid(delta)};\r\n }\r\n\r\n return null;\r\n }\r\n\r\n return <>{(currentLevelVisible || updatedLevelVisible) && renderLevel()} {renderDelta()}\r\n}\r\n","import moment from \"moment\";\r\nimport dateTimeUtils from \"../../../utils/dateTime.utils\";\r\nimport { constants } from \"../../../constants\";\r\n\r\ninterface Props {\r\n goodUntilUtc: Date;\r\n}\r\n\r\nexport function GoodUntilTime({ goodUntilUtc }: Props) {\r\n const goodUntil = moment(goodUntilUtc).add(30, 'minute')\r\n return <>{dateTimeUtils.utcToLocalString(goodUntil, constants.timeFormat)}\r\n}","import React, { useMemo, useState } from 'react';\r\n\r\ninterface HoverInfoContent {\r\n name: string;\r\n value: string | number;\r\n}\r\n\r\ninterface HoverInfoProps {\r\n children: React.ReactElement\r\n}\r\n\r\nexport function HoverInfo({ children }: HoverInfoProps) {\r\n const [pointInfo, setPointInfo] = useState(null);\r\n const renderContent = () => {\r\n if (!Array.isArray(pointInfo)) {\r\n return null\r\n }\r\n return pointInfo.map(\r\n (item, index) => (\r\n \r\n {item.name}: {item.value || '-'}\r\n \r\n )\r\n )\r\n };\r\n const childrenElement = useMemo(() =>\r\n React.cloneElement(children, { onHover: setPointInfo }),\r\n [children]);\r\n\r\n return (\r\n <>\r\n

{renderContent()}

\r\n {childrenElement}\r\n \r\n )\r\n}\r\n","import React from 'react';\r\nimport { Plot, mainConfig } from '../plotlyConfig';\r\nimport arraystat from 'arraystat';\r\nimport { chartUtils, numericUtils } from '../../../../utils';\r\n\r\nconst TraceType = {\r\n PxTalk: 'pxtalk',\r\n KTalk: 'ktalk',\r\n};\r\n\r\nexport function Chart({\r\n pxTalks = [],\r\n evalPriceTalk = undefined,\r\n constants = {},\r\n divId = 'plotly-px-horizontal-box-chart',\r\n onHover,\r\n evalPriceTalkVisible = false,\r\n}) {\r\n const {\r\n fillBoxColor,\r\n boxMarkerColor,\r\n chartHeight,\r\n margin,\r\n tickColor,\r\n tickFont,\r\n boxgap,\r\n hoverlabel,\r\n kTalkMarkerColor,\r\n } = constants;\r\n\r\n const getXRange = () => {\r\n const pxTalkNormilized = pxTalks.map(x => x.normalizedLevel);\r\n const values = evalPriceTalk ? [...pxTalkNormilized, evalPriceTalk] : pxTalkNormilized;\r\n\r\n let min = values[0] ? values[0] : 0;\r\n let max = 0.1;\r\n for (let i = 0; i < values.length; i++) {\r\n const normalizedLevel = values[i];\r\n if (normalizedLevel < min) {\r\n min = normalizedLevel\r\n }\r\n if (normalizedLevel > max) {\r\n max = normalizedLevel\r\n }\r\n }\r\n let difference = max - min;\r\n let dTick = 10;\r\n if (difference < 1) {\r\n dTick = 0.1\r\n } else if (difference >= 1 && difference < 10) {\r\n dTick = 1\r\n } else if (difference >= 10 && difference < 100) {\r\n dTick = 10\r\n } else if (difference > 100) {\r\n dTick = 20\r\n }\r\n const indent = (dTick / 100) * 20;\r\n min = Math.floor(min / dTick) * dTick;\r\n max = Math.ceil(max / dTick) * dTick;\r\n return { range: [min - indent, max + indent], dTick }\r\n };\r\n\r\n const chartData = [{\r\n x: pxTalks.map((px) => px.normalizedLevel),\r\n type: 'box',\r\n boxpoints: 'all',\r\n fillcolor: fillBoxColor,\r\n marker: {\r\n color: boxMarkerColor\r\n },\r\n hoverinfo: 'none',\r\n customdata: pxTalks.map((_, index) => ({\r\n type: TraceType.PxTalk,\r\n index,\r\n })),\r\n name: 'horizontal-box-chart',\r\n jitter: 1,\r\n quartilemethod: 'inclusive',\r\n }];\r\n\r\n if (evalPriceTalkVisible) {\r\n chartData.push({\r\n x: [evalPriceTalk],\r\n type: 'scatter',\r\n mode: 'markers',\r\n customdata: [{\r\n type: TraceType.KTalk,\r\n value: evalPriceTalk,\r\n }],\r\n marker: {\r\n color: kTalkMarkerColor\r\n },\r\n hoverinfo: 'none',\r\n name: 'eval-k-takl-value',\r\n });\r\n }\r\n\r\n const { range, dTick } = getXRange();\r\n\r\n const getPxTalkPointInfo = (pxTalk) => {\r\n if (!pxTalk) {\r\n return null;\r\n }\r\n\r\n const pxTalkStat = arraystat(pxTalks.map((px) => px.normalizedLevel));\r\n\r\n if (!pxTalkStat) {\r\n return null;\r\n }\r\n\r\n return [\r\n { name: 'Company', value: pxTalk.company && pxTalk.company.name },\r\n { name: 'Px Talk', value: pxTalk.normalizedLevel },\r\n { name: 'Q1', value: numericUtils.round(pxTalkStat.q1) || '' },\r\n { name: 'Med', value: numericUtils.round(pxTalkStat.median) || '' },\r\n { name: 'Q3', value: numericUtils.round(pxTalkStat.q3) || '' }\r\n ];\r\n };\r\n\r\n const getKTalkPointInfo = (value) => {\r\n return [{ name: 'K-Talk', value }];\r\n };\r\n\r\n const handleOnHover = (data = {}) => {\r\n chartUtils.setCursor('pointer')(data);\r\n\r\n const { points } = data;\r\n\r\n let onHoverData = null;\r\n\r\n const [point] = points.length > 1 ? [] : points || [];\r\n\r\n if (point?.customdata) {\r\n const { customdata } = point;\r\n\r\n if (customdata.type === TraceType.PxTalk) {\r\n const pxTalk = pxTalks[customdata.index];\r\n onHoverData = getPxTalkPointInfo(pxTalk);\r\n } else if (customdata.type === TraceType.KTalk) {\r\n onHoverData = getKTalkPointInfo(customdata.value);\r\n }\r\n } else {\r\n onHoverData = null;\r\n }\r\n\r\n if (onHover && typeof onHover === 'function') {\r\n onHover(onHoverData);\r\n }\r\n };\r\n\r\n const handleUnHover = (e) => {\r\n chartUtils.setCursor('crosshair')(e);\r\n if (onHover && typeof onHover === 'function') {\r\n onHover(null);\r\n }\r\n };\r\n\r\n const chartLayout = {\r\n autosize: true,\r\n xaxis: {\r\n showgrid: true,\r\n range,\r\n zeroline: false,\r\n tickcolor: tickColor,\r\n tickfont: tickFont,\r\n dtick: dTick,\r\n },\r\n yaxis: {\r\n visible: false,\r\n },\r\n height: chartHeight,\r\n boxmode: 'group',\r\n showlegend: false,\r\n hovermode: 'closest',\r\n hoverlabel,\r\n margin,\r\n boxgap\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n \r\n Px Talk\r\n
\r\n {evalPriceTalkVisible &&\r\n
\r\n \r\n K-Talk\r\n
\r\n }\r\n
\r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { Chart } from './Chart';\r\nimport { HoverInfo } from '../HoverInfo';\r\n\r\nexport function HorizontalBoxChart(props) {\r\n return \r\n}\r\n","import React, { useState } from 'react';\r\nimport { mainConfig, Plot } from '../plotlyConfig';\r\nimport arraystat from 'arraystat';\r\nimport { chartUtils, jsonUtils, numericUtils, stringUtils } from \"../../../../utils\";\r\nimport { constants as appConstants } from '../../../../constants';\r\nimport { Checkbox } from '../../../controls/Checkbox';\r\nimport { InfoTooltip } from \"../../InfoTooltip\";\r\n\r\nconst LegendsIds = {\r\n pxTalk: 1,\r\n color: 2,\r\n noColor: 3,\r\n kTalk: 4,\r\n};\r\n\r\nconst LegendButtons = [\r\n { name: 'Px Talk', id: LegendsIds.pxTalk },\r\n { name: 'K-Talk', id: LegendsIds.kTalk },\r\n { name: 'Color', id: LegendsIds.color },\r\n { name: 'DNT/No Color', id: LegendsIds.noColor }\r\n];\r\n\r\nexport function Chart({\r\n historyList = [],\r\n range,\r\n constants = {},\r\n divId,\r\n onHover,\r\n showHoverInfo,\r\n defaultXrange,\r\n evalPriceTalkVisible = false,\r\n}) {\r\n const { getYRange, getXRange } = chartUtils;\r\n const {\r\n fillBoxColor,\r\n boxMarkerColor,\r\n scatterMarkerColor,\r\n kTalkMarkerColor,\r\n colorLineColor,\r\n layoutXAxisLineColor,\r\n margin,\r\n tickColor,\r\n tickFont,\r\n pxTalkLimit,\r\n minXRange,\r\n data0LineWidth,\r\n markerSize,\r\n hoverlabel,\r\n xAxisMinDatesCount,\r\n minBottomMargin,\r\n nTicks\r\n } = constants;\r\n const [selectedLegendButton, setSelectedLegendButton] = useState([LegendsIds.pxTalk, LegendsIds.color, LegendsIds.kTalk]);\r\n const {\r\n x,\r\n y,\r\n lineX,\r\n lineY,\r\n markersX,\r\n markersY,\r\n sortedByDate,\r\n datesList,\r\n kTalkX,\r\n kTalkY,\r\n } = chartUtils.getChartData(historyList, appConstants.dashboardDateFormat, pxTalkLimit);\r\n const allDates = Object.keys(datesList);\r\n const chartMargin = { ...margin };\r\n const legendButtons = LegendButtons.filter(({ id }) => evalPriceTalkVisible ? true : id !== LegendsIds.kTalk);\r\n\r\n if (allDates.length <= xAxisMinDatesCount) {\r\n chartMargin.b = minBottomMargin;\r\n }\r\n\r\n const data0 = {\r\n x: allDates,\r\n y: allDates.map(() => -1),\r\n hoverinfo: 'none',\r\n name: 'Default',\r\n mode: 'lines',\r\n line: {\r\n color: layoutXAxisLineColor,\r\n width: data0LineWidth\r\n }\r\n };\r\n\r\n const yMaxValue = Math.max(...lineY.concat(markersY).concat(y.map(yItem => yItem.value)));\r\n\r\n const getMinYPointValue = (itemValue) => {\r\n let minYPointValue = 0.01;\r\n if (yMaxValue > 5 && yMaxValue <= 20) {\r\n minYPointValue = 0.5\r\n } else if (yMaxValue > 20 && yMaxValue <= 50) {\r\n minYPointValue = 1\r\n } else if (yMaxValue > 50 && yMaxValue <= 200) {\r\n minYPointValue = 3\r\n } else if (yMaxValue > 200 && yMaxValue <= 600) {\r\n minYPointValue = 6\r\n } else if (yMaxValue > 600) {\r\n minYPointValue = 9\r\n }\r\n if (itemValue > minYPointValue || itemValue < 0) {\r\n return itemValue;\r\n }\r\n return minYPointValue\r\n };\r\n\r\n const getPxTalkPointInfo = (index) => {\r\n const yValue = y[index];\r\n const currentDate = x[index];\r\n const dateValue = sortedByDate[currentDate];\r\n\r\n if (!dateValue) {\r\n return [];\r\n }\r\n\r\n const { pxTalk, colorValue } = dateValue;\r\n const pxTalkStat = arraystat(pxTalk.map((px) => px.normalizedLevel));\r\n\r\n if (pxTalkStat && !!yValue.value) {\r\n return [\r\n { name: 'Company', value: stringUtils.shorten(yValue.companyName, 35) },\r\n { name: 'Date', value: currentDate },\r\n { name: 'Color', value: colorValue || '-' },\r\n { name: 'Px Talk', value: yValue.value },\r\n { name: 'Q1', value: numericUtils.round(pxTalkStat.q3) || '' },\r\n { name: 'Med', value: numericUtils.round(pxTalkStat.median) || '' },\r\n { name: 'Q3', value: numericUtils.round(pxTalkStat.q1) || '' }\r\n ];\r\n }\r\n };\r\n\r\n const getChartBoxText = () =>\r\n showHoverInfo\r\n ? y.map((item, index) => getPxTalkPointInfo(index).map(textItem => `${textItem.name}: ${textItem.value}`).join('
'))\r\n : y.map((item, index) => JSON.stringify({ index, type: LegendsIds.pxTalk }));\r\n\r\n const chartBox = {\r\n y: y.map((item) => getMinYPointValue(item.value)),\r\n x,\r\n type: 'box',\r\n name: 'Px Talk',\r\n marker: {\r\n color: boxMarkerColor\r\n },\r\n fillcolor: fillBoxColor,\r\n hoverinfo: showHoverInfo ? 'text' : 'none',\r\n text: getChartBoxText(),\r\n boxpoints: 'all',\r\n showscale: false,\r\n jitter: 0.3,\r\n };\r\n\r\n const getColorPointInfo = (index) => {\r\n const lineYValue = lineY[index];\r\n return [{ name: 'Date', value: lineX[index] }, { name: 'Color', value: lineYValue }];\r\n };\r\n\r\n const getChartColorText = () =>\r\n showHoverInfo\r\n ? lineY.map((item, index) => getColorPointInfo(index).map(textItem => `${textItem.name}: ${textItem.value}`).join('
'))\r\n : lineY.map((item, index) => JSON.stringify({ index, type: LegendsIds.color }));\r\n\r\n const chartColor = {\r\n x: lineX,\r\n y: lineY.map(value => getMinYPointValue(value)),\r\n text: getChartColorText(),\r\n hoverinfo: showHoverInfo ? 'text' : 'none',\r\n name: 'Color',\r\n mode: 'lines+markers',\r\n line: { color: colorLineColor },\r\n marker: { size: markerSize },\r\n };\r\n\r\n const getNoColorPointInfo = (index) => {\r\n const markersYValue = markersY[index];\r\n return [{ name: 'Date', value: markersX[index] }, { name: 'Median Px Talk', value: markersYValue }];\r\n };\r\n\r\n const getChartDntText = () =>\r\n showHoverInfo\r\n ? markersY.map((item, index) => getNoColorPointInfo(index).map(textItem => `${textItem.name}: ${textItem.value}`).join('
'))\r\n : markersY.map((item, index) => JSON.stringify({ index, type: LegendsIds.noColor }));\r\n\r\n const chartDnt = {\r\n x: markersX,\r\n y: markersY.map(value => getMinYPointValue(value)),\r\n name: 'DNT/No Color',\r\n type: 'scatter',\r\n mode: 'markers',\r\n hoverinfo: showHoverInfo ? 'text' : 'none',\r\n text: getChartDntText(),\r\n marker: { color: scatterMarkerColor, size: markerSize },\r\n };\r\n\r\n const getKTalkPointInfo = (index) => {\r\n return [{ name: 'Date', value: kTalkX[index] }, { name: 'K-Talk', value: kTalkY[index] }];\r\n };\r\n\r\n const getKTalkText = () =>\r\n showHoverInfo\r\n ? kTalkY.map((_, index) => getKTalkPointInfo(index).map(textItem => `${textItem.name}: ${textItem.value}`).join('
'))\r\n : kTalkY.map((_, index) => JSON.stringify({ index, type: LegendsIds.kTalk }));\r\n\r\n const chartKTalk = {\r\n x: kTalkX,\r\n y: kTalkY,\r\n name: 'K-Talk',\r\n type: 'scatter',\r\n mode: 'markers',\r\n hoverinfo: showHoverInfo ? 'text' : 'none',\r\n text: getKTalkText(),\r\n marker: { color: kTalkMarkerColor },\r\n };\r\n\r\n const onClickLegendButton = (status, position) => {\r\n if (selectedLegendButton.length > 1 && selectedLegendButton.indexOf(position) > -1) {\r\n selectedLegendButton.splice(selectedLegendButton.indexOf(position), 1)\r\n } else if (selectedLegendButton.indexOf(position) === -1) {\r\n selectedLegendButton.push(position)\r\n }\r\n setSelectedLegendButton([...selectedLegendButton])\r\n };\r\n\r\n const getLegendButtonIcon = (btnId) => {\r\n switch (btnId) {\r\n case LegendsIds.pxTalk:\r\n return ();\r\n case LegendsIds.color:\r\n return ();\r\n case LegendsIds.noColor:\r\n return ();\r\n case LegendsIds.kTalk:\r\n return ();\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const renderLegendItem = (item) => {\r\n if (item.id === LegendsIds.noColor) {\r\n return (\r\n -1}\r\n onChange={(e) => onClickLegendButton(e.target.checked, item.id)}\r\n >\r\n <>\r\n {getLegendButtonIcon(item.id)}\r\n {item.name}\r\n \r\n \r\n );\r\n }\r\n\r\n if (item.id === LegendsIds.kTalk) {\r\n return (\r\n \r\n {getLegendButtonIcon(item.id)}\r\n {item.name}\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {getLegendButtonIcon(item.id)}\r\n {item.name}\r\n \r\n );\r\n };\r\n\r\n const renderLegendButtons = () => {\r\n return (\r\n
\r\n {legendButtons.map(renderLegendItem)}\r\n \r\n
\r\n )\r\n };\r\n\r\n const getCharts = () => {\r\n const allCharts = {\r\n [LegendsIds.pxTalk]: chartBox,\r\n [LegendsIds.color]: chartColor,\r\n [LegendsIds.noColor]: chartDnt,\r\n [LegendsIds.kTalk]: chartKTalk,\r\n };\r\n\r\n const charts = legendButtons.map((btn) => {\r\n if (selectedLegendButton.indexOf(btn.id) > -1) {\r\n return allCharts[btn.id];\r\n }\r\n\r\n return { data0 };\r\n });\r\n\r\n charts.unshift(data0);\r\n\r\n return charts;\r\n };\r\n\r\n const charts = getCharts();\r\n\r\n const getOnHoverPointContent = ({ index, type }) => {\r\n switch (type) {\r\n case LegendsIds.pxTalk:\r\n return getPxTalkPointInfo(index);\r\n case LegendsIds.color:\r\n return getColorPointInfo(index);\r\n case LegendsIds.noColor:\r\n return getNoColorPointInfo(index);\r\n case LegendsIds.kTalk:\r\n return getKTalkPointInfo(index);\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const handleOnHover = (data = {}) => {\r\n chartUtils.setCursor('pointer')(data);\r\n const { points } = data;\r\n let onHoverData = null;\r\n if (points && points.length === 1 && points[0].text && jsonUtils.tryParse(points[0].text)) {\r\n onHoverData = getOnHoverPointContent({ ...jsonUtils.tryParse(points[0].text) });\r\n } else {\r\n onHoverData = null;\r\n }\r\n if (onHover && typeof onHover === 'function') {\r\n onHover(onHoverData)\r\n }\r\n };\r\n\r\n const handleUnHover = (e) => {\r\n chartUtils.setCursor('crosshair')(e);\r\n if (onHover && typeof onHover === 'function') {\r\n onHover(null)\r\n }\r\n };\r\n\r\n const renderChart = () => (\r\n );\r\n\r\n return (\r\n <>\r\n {renderChart()}\r\n {renderLegendButtons()}\r\n \r\n )\r\n}\r\n\r\nChart.defaultProps = {\r\n divId: 'px-color-dnt-chart',\r\n showHoverInfo: false,\r\n};\r\n","import React from 'react';\r\nimport { Chart } from './Chart';\r\nimport { dashboardChartBox } from '../../../../constants/dashboard';\r\nimport { HoverInfo } from '../HoverInfo';\r\n\r\nexport function ChartBox(props) {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n","import Plotly from 'plotly.js/lib/core';\r\nimport Bar from 'plotly.js/lib/bar';\r\nimport Box from 'plotly.js/lib/box';\r\nimport Heatmap from 'plotly.js/lib/heatmap';\r\nimport Pie from 'plotly.js/lib/pie';\r\nimport createPlotlyComponent from 'react-plotly.js/factory';\r\nimport 'plotly.js/src/css/style.scss'\r\n\r\nPlotly.register([\r\n Bar,\r\n Heatmap,\r\n Box,\r\n Pie,\r\n]);\r\n\r\nexport const Plot = createPlotlyComponent(Plotly);\r\nexport const mainConfig = {\r\n responsive: true,\r\n displaylogo: false,\r\n doubleClickDelay: 1000,\r\n displayModeBar: false,\r\n showTips: false,\r\n};\r\n","import React from \"react\";\r\nimport classNames from \"classnames\";\r\n\r\nexport function CollapsibleList({ className = \"\", children }) {\r\n return (\r\n
\r\n {children}\r\n
\r\n );\r\n}\r\n\n","import React from 'react';\r\nimport classNames from 'classnames';\r\n\r\nexport function CollapsibleListItem({ children, expanded }) {\r\n return (\r\n
\r\n {children}\r\n
\r\n );\r\n}\r\n\r\n","import * as React from 'react';\r\nimport cn from 'classnames';\r\n\r\ninterface Props {\r\n ref?: React.RefObject;\r\n expanded: boolean;\r\n children: React.ReactNode;\r\n}\r\n\r\nexport const CollapsibleListItemContent = React.forwardRef(({ expanded, children }: Props, ref: React.ForwardedRef) => {\r\n return (\r\n
\r\n {!!expanded && children}\r\n
\r\n );\r\n});\r\n","import React, { useEffect, useState } from 'react'\r\nimport classNames from 'classnames';\r\nimport {\r\n CollapsibleListItemContent,\r\n CollapsibleList,\r\n CollapsibleListItem,\r\n} from \".\";\r\nimport { SecurityListRow } from \"../../bidding/common\";\r\nimport { ColumnBuilder } from '../../bidding/common/table/columns/column-builder/ColumnBuilder';\r\nimport IconSVG from '../../../styles/svg-icons';\r\n\r\ninterface Props {\r\n expandAll: boolean;\r\n dataItem: T;\r\n columns: ColumnBuilder[];\r\n context: { [t: string]: any };\r\n children?: React.ReactNode;\r\n className?: string;\r\n onExpandChange: () => void;\r\n}\r\n\r\nexport function CollapsibleListRow({ expandAll, dataItem, columns, context, className, children, onExpandChange }: Props) {\r\n const [expanded, setExpanded] = useState(expandAll);\r\n useEffect(() => {\r\n setExpanded(expandAll);\r\n }, [expandAll]);\r\n\r\n const handleExpandedChange = () => {\r\n setExpanded(!expanded);\r\n\r\n if (onExpandChange) {\r\n onExpandChange();\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {columns.map((c) => c.renderBody(dataItem, context))}\r\n \r\n \r\n {children}\r\n \r\n
\r\n
\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport cn from 'classnames';\r\nimport { arrayUtils } from '../../../utils/array.utils';\r\nimport IconSVG from \"../../../styles/svg-icons\";\r\n\r\ninterface Props {\r\n currentDate: Date;\r\n onYearClick: (year: number) => void;\r\n minYear: number;\r\n}\r\n\r\nenum YearViewMode {\r\n Year,\r\n YearRange\r\n}\r\n\r\nexport const CustomDatePickerYearView: React.FC = ({ currentDate, onYearClick, minYear }) => {\r\n const addYearsFromCurrentDate = 15;\r\n const nowYear = new Date().getFullYear();\r\n const currentYear = new Date(currentDate).getFullYear();\r\n const maxYear = nowYear + addYearsFromCurrentDate;\r\n\r\n const getDefaultRange = () => {\r\n const currentDateYear = new Date(currentDate).getFullYear();\r\n const itemsPerPage = addYearsFromCurrentDate + 1;\r\n\r\n const yearsDifference = currentDateYear - minYear;\r\n const page = Math.floor(yearsDifference / itemsPerPage);\r\n const from = itemsPerPage * page + minYear;\r\n const to = Math.min(from + addYearsFromCurrentDate, maxYear)\r\n\r\n return [from, to];\r\n };\r\n\r\n const [visibleYearRange, setLastVisibleYearRange] = useState(getDefaultRange());\r\n const [viewMode, setViewMode] = useState(YearViewMode.Year);\r\n\r\n const [visibleYearFrom, visibleYearTo] = visibleYearRange;\r\n\r\n const visibleYearList = arrayUtils.arrayFromRange(visibleYearRange[0], visibleYearRange[1]);\r\n\r\n const getYearRangeList = () => {\r\n const itemNumber = Math.ceil((maxYear - minYear) / addYearsFromCurrentDate);\r\n return arrayUtils\r\n .arrayFromRange(0, itemNumber - 1)\r\n .map(index => {\r\n const from = minYear + index * (addYearsFromCurrentDate + 1);\r\n const to = Math.min(from + addYearsFromCurrentDate, maxYear);\r\n return [from, to]\r\n });\r\n };\r\n\r\n const handleSetYearRange = (range: number[]) => {\r\n setLastVisibleYearRange(range);\r\n setViewMode(YearViewMode.Year);\r\n };\r\n\r\n const handleNextYearRange = () => {\r\n const from = visibleYearTo + 1;\r\n const to = Math.min(from + addYearsFromCurrentDate, maxYear);\r\n setLastVisibleYearRange([from, to]);\r\n };\r\n\r\n const handlePrevYearRange = () => {\r\n const from = Math.max(visibleYearFrom - 1 - addYearsFromCurrentDate, minYear);\r\n const to = from + addYearsFromCurrentDate;\r\n setLastVisibleYearRange([from, to]);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n year === minYear) !== -1 }\r\n )\r\n }\r\n onClick={handlePrevYearRange}\r\n >\r\n \r\n \r\n year === maxYear) !== -1 }\r\n )\r\n }\r\n onClick={handleNextYearRange}\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n {\r\n viewMode === YearViewMode.YearRange && getYearRangeList().map(range => {\r\n const [visibleYearFrom, visibleYearTo] = visibleYearRange;\r\n const [from, to] = range;\r\n return (\r\n \r\n \r\n
\r\n )\r\n })\r\n }\r\n {\r\n viewMode === YearViewMode.Year && visibleYearList.map((year) => (\r\n \r\n \r\n
\r\n ))\r\n }\r\n \r\n \r\n )\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport moment from 'moment';\r\nimport { constants } from '../../../constants';\r\nimport { DayModifiers, DayPicker, Matcher } from 'react-day-picker';\r\nimport cn from 'classnames';\r\nimport { CustomDatePickerYearView } from './CustomDatePickerYearView';\r\nimport IconSVG from \"../../../styles/svg-icons\";\r\n\r\nenum ViewType {\r\n Picker,\r\n Month,\r\n Year\r\n}\r\n\r\ninterface CustomDatePickerProps {\r\n onDayClick: (currentDate: Date) => void\r\n date: Date\r\n from?: Date | null\r\n to?: Date | null\r\n disabledDays?: Matcher;\r\n hoverDate?: Date | null;\r\n onDayHover?: (day?: Date, modifiers?: DayModifiers) => void;\r\n}\r\n\r\nexport function CustomDatePicker({ onDayClick, from = null, to = null, date, disabledDays = [], onDayHover, hoverDate }: CustomDatePickerProps) {\r\n const lastYear = constants.datePickerMaxYear;\r\n const [currentViewType, setCurrentViewType] = useState(ViewType.Picker);\r\n const [currentDate, setCurrentDate] = useState(date);\r\n\r\n useEffect(() => {\r\n setCurrentDate(date)\r\n }, [date]);\r\n\r\n useEffect(() => {\r\n setCurrentViewType(ViewType.Picker);\r\n }, [from, to]);\r\n\r\n const handleYearClick = (year: number) => {\r\n currentDate.setFullYear(year);\r\n const date = moment(currentDate).toDate();\r\n setCurrentDate(new Date(date));\r\n setCurrentViewType(ViewType.Picker)\r\n };\r\n\r\n const handleOnMonthClick = (month: number, hide = false) => {\r\n const date = moment(currentDate).set('month', month).toDate();\r\n setCurrentDate(new Date(date));\r\n hide && setCurrentViewType(ViewType.Picker)\r\n };\r\n\r\n const handleOnDayClick = (currentDate: Date, modifiers: DayModifiers) => {\r\n if (modifiers.disabled) {\r\n return;\r\n }\r\n setCurrentDate(currentDate);\r\n onDayClick(currentDate);\r\n };\r\n\r\n const handleOnYearChange = (year: number) => {\r\n currentDate.setFullYear(year);\r\n const date = moment(currentDate).toDate();\r\n setCurrentDate(new Date(date));\r\n };\r\n\r\n const handleDayMouseEnter = (day: Date) => {\r\n onDayHover && onDayHover(day);\r\n }\r\n\r\n const handleDayMouseLeave = () => {\r\n onDayHover && onDayHover(undefined);\r\n }\r\n\r\n const handleNextMonth = () => {\r\n const date = moment(currentDate).date(1).add(1, 'month').toDate();\r\n setCurrentDate(new Date(date));\r\n };\r\n\r\n const handlePrevMonth = () => {\r\n const date = moment(currentDate).date(1).subtract(1, 'month').toDate();\r\n setCurrentDate(new Date(date));\r\n };\r\n\r\n const renderCaptionElement = () => {\r\n const monthList = moment.months();\r\n const currentMonth = currentDate.getMonth();\r\n const currentYear = currentDate.getFullYear();\r\n return (\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n handlePrevMonth()}\r\n >\r\n \r\n \r\n handleNextMonth()}\r\n >\r\n \r\n \r\n
\r\n
\r\n )\r\n };\r\n\r\n const renderPickerView = () => {\r\n return (\r\n from ? { desirableLater: hoverDate } : {}),\r\n ...(hoverDate && hoverDate < from ? { desirableEarlier: hoverDate } : {}),\r\n start: from,\r\n end: to || from\r\n } : {}\r\n }\r\n modifiersClassNames={{\r\n start: \"rdp-day_range_start\",\r\n end: \"rdp-day_range_end\",\r\n desirableRange: 'rdp-day_desirable_range'\r\n }}\r\n onDayClick={handleOnDayClick}\r\n showOutsideDays\r\n month={currentDate}\r\n onDayMouseEnter={handleDayMouseEnter}\r\n fromMonth={new Date(constants.datePickerMinYear, 0)}\r\n toMonth={new Date(lastYear, 11)}\r\n captionLayout=\"buttons\"\r\n disabled={disabledDays}\r\n components={{\r\n Caption: renderCaptionElement,\r\n }}\r\n />\r\n );\r\n };\r\n\r\n const renderMothView = () => {\r\n const currentMonth = currentDate.getMonth();\r\n const currentYear = currentDate.getFullYear();\r\n const months = moment\r\n .monthsShort()\r\n .map((month, index) =>\r\n \r\n \r\n \r\n );\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n handleOnYearChange(currentYear - 1)}\r\n >\r\n \r\n \r\n = lastYear }\r\n )\r\n }\r\n onClick={() => handleOnYearChange(currentYear + 1)}\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n {months}\r\n
\r\n
\r\n )\r\n };\r\n\r\n const renderContent = () => {\r\n if (currentViewType === ViewType.Year) {\r\n return (\r\n \r\n );\r\n }\r\n if (currentViewType === ViewType.Month) {\r\n return renderMothView();\r\n }\r\n return renderPickerView();\r\n };\r\n\r\n return renderContent()\r\n}\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport moment from \"moment\";\r\nimport { CustomDatePicker } from \"./CustomDatePicker\";\r\nimport { DateRange, Matcher } from \"react-day-picker\";\r\nimport dateTimeUtils from \"../../../utils/dateTime.utils\";\r\n\r\ninterface CustomDateRangePickerProps {\r\n onDayClick: (range: DateRange) => void;\r\n from?: Date;\r\n to?: Date;\r\n disabledDays?: Matcher;\r\n}\r\n\r\nexport function CustomDateRangePicker({\r\n from,\r\n to,\r\n onDayClick,\r\n disabledDays,\r\n}: CustomDateRangePickerProps) {\r\n const [currentDateFrom, setCurrentDateFrom] = useState(null);\r\n const [currentDateTo, setCurrentDateTo] = useState(null);\r\n const [hoverDate, setHoverDate] = useState();\r\n const [clickCount, setClickCount] = useState(0);\r\n const prevToDate = useRef(to);\r\n const prevFromDate = useRef(from);\r\n\r\n useEffect(() => {\r\n setCurrentDateFrom(moment(from || undefined).toDate());\r\n const isAddNextMonth =\r\n to && from && to.getMonth() === from.getMonth() &&\r\n to.getFullYear() === from.getFullYear();\r\n const momentToDate = moment(to || from || undefined);\r\n\r\n if (isAddNextMonth || !to) {\r\n momentToDate.add(1, \"month\");\r\n }\r\n if (\r\n prevToDate.current !== to ||\r\n prevFromDate.current !== from ||\r\n !currentDateTo\r\n ) {\r\n setCurrentDateTo(momentToDate.toDate());\r\n }\r\n\r\n prevToDate.current = to;\r\n prevFromDate.current = from;\r\n }, [from, to, currentDateTo]);\r\n\r\n const handleDayClick = (day: Date) => {\r\n const range: Matcher = { from, to };\r\n const newClickCount = clickCount + 1;\r\n const isDayEarlier =\r\n range.from && dateTimeUtils.isDayBefore(day, range.from);\r\n\r\n setClickCount(newClickCount);\r\n\r\n if (from && to) {\r\n // if click is odd - set begin of range\r\n // if click is even - set end of range\r\n if (newClickCount % 2 !== 0) {\r\n range.from = day;\r\n range.to =\r\n range.to && dateTimeUtils.isDayBefore(day, range.to)\r\n ? range.to\r\n : undefined;\r\n\r\n // if new day is later than current end of range - reset it;\r\n if (range.to && !dateTimeUtils.isDayBefore(day, range.to)) {\r\n setClickCount(1);\r\n }\r\n } else {\r\n range.from = !isDayEarlier ? range.from : day;\r\n range.to = !isDayEarlier ? day : undefined;\r\n\r\n // if new day is earlier than current start of range - reset it;\r\n if (isDayEarlier) {\r\n setClickCount(1);\r\n }\r\n }\r\n } else {\r\n if (range.from) {\r\n range.from = isDayEarlier ? day : range.from;\r\n range.to = !isDayEarlier ? day : undefined;\r\n\r\n if (isDayEarlier) {\r\n setClickCount(1);\r\n }\r\n } else {\r\n range.from = day;\r\n range.to = undefined;\r\n\r\n setClickCount(1);\r\n }\r\n }\r\n\r\n onDayClick(range);\r\n };\r\n\r\n const handleDayMouseEnter = (day?: Date) => {\r\n if (clickCount % 2 !== 0) {\r\n day && from && dateTimeUtils.isDayAfter(day, from)\r\n ? setHoverDate(day)\r\n : setHoverDate(undefined);\r\n } else {\r\n day && from && dateTimeUtils.isDayBefore(day, from)\r\n ? setHoverDate(day)\r\n : setHoverDate(undefined);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {currentDateFrom && currentDateTo && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n}\r\n","import React, { FC, useState } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { saveAs } from 'file-saver';\r\nimport { Preloader } from '../';\r\nimport IconSVG from '../../../styles/svg-icons'\r\nimport { bidOnBehalfService, bwicService } from '../../../services';\r\nimport { inventoryService } from '../../../services/inventory.service';\r\nimport { contactsService, documentsService } from '../../../services';\r\nimport { errorActions } from '../../../actions';\r\nimport { dealsService } from '../../../services/deals.service';\r\n\r\ntype TemplateType =\r\n 'SecuritiesXlsxTemplate' |\r\n 'SecuritiesInventoryXlsxTemplate' |\r\n 'ContactsXlsxTemplate' |\r\n 'ManageSecuritiesXlsxTemplate' |\r\n 'UploadBobTemplate' |\r\n 'CleansingNoticeXlsxTemplate';\r\n\r\ninterface Props {\r\n disabled?: boolean;\r\n templateType: TemplateType\r\n args?: string;\r\n fileName?: string;\r\n}\r\n\r\nexport const DownloadTemplateButton: FC = ({ disabled, templateType, args, fileName }) => {\r\n const [requesting, getTemplate] = useDownloadTemplate(templateType, args, fileName);\r\n\r\n return (\r\n \r\n \r\n Download Template\r\n \r\n \r\n )\r\n};\r\n\r\nDownloadTemplateButton.defaultProps = {\r\n disabled: false\r\n};\r\n\r\nconst getTemplateService = (templateType: TemplateType) => {\r\n switch (templateType) {\r\n case 'SecuritiesXlsxTemplate':\r\n return bwicService.getSecuritiesXlsxTemplate;\r\n case 'SecuritiesInventoryXlsxTemplate':\r\n return inventoryService.getSecuritiesXlsxTemplate;\r\n case 'ContactsXlsxTemplate':\r\n return contactsService.getXlsxTemplate;\r\n case 'ManageSecuritiesXlsxTemplate':\r\n return documentsService.downloadSecurities;\r\n case 'UploadBobTemplate':\r\n return bidOnBehalfService.downloadTemplate;\r\n case 'CleansingNoticeXlsxTemplate':\r\n return dealsService.getDealDocumentTemplate;\r\n default:\r\n return null;\r\n }\r\n};\r\n\r\n\r\nconst useDownloadTemplate = (templateType: TemplateType, args?: string, fileName?: string): [boolean, () => void] => {\r\n const dispatch = useDispatch();\r\n const [requesting, setRequesting] = useState(false);\r\n\r\n const getTemplate = async () => {\r\n const service = getTemplateService(templateType);\r\n if (!service) {\r\n return;\r\n }\r\n try {\r\n setRequesting(true);\r\n const file: { name: string, blob: Blob } = await service(args);\r\n saveAs(file.blob, fileName || file.name)\r\n } catch (e) {\r\n dispatch(errorActions.unexpectedError(e))\r\n } finally {\r\n setRequesting(false)\r\n }\r\n };\r\n\r\n return [requesting, getTemplate]\r\n};\r\n","import React from 'react';\r\nimport IconSVG from '../../../styles/svg-icons';\r\n\r\ninterface ExpandClearToggleProps {\r\n filterSelected: boolean;\r\n onExpand?: () => void;\r\n onClear?: () => void;\r\n}\r\n\r\nexport const ExpandClearToggle = ({\r\n filterSelected,\r\n onExpand,\r\n onClear,\r\n}: ExpandClearToggleProps) => {\r\n const handleExpandOrClear = (e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n if (filterSelected && onClear) {\r\n return onClear();\r\n }\r\n\r\n return onExpand && onExpand();\r\n };\r\n\r\n const renderButton = () => {\r\n if (onClear && filterSelected) {\r\n return ;\r\n }\r\n\r\n return ;\r\n };\r\n\r\n return (\r\n
\r\n {renderButton()}\r\n
\r\n );\r\n}\r\n","import * as React from 'react';\r\n\r\ninterface Props {\r\n children: React.ReactNode,\r\n}\r\n\r\nexport const Filter = React.forwardRef(({ children }: Props, ref: React.ForwardedRef) => {\r\n return (\r\n
{children}
\r\n );\r\n});\r\n","import React from 'react';\r\nimport { FilterRadio, FilterRadioProps } from './FilterRadio';\r\n\r\ninterface FilterBooleanProps extends Omit, 'options'> {\r\n optionLabels?: string[];\r\n}\r\n\r\nexport function FilterBoolean({\r\n optionLabels = ['Yes', 'No'],\r\n ...props\r\n}: FilterBooleanProps) {\r\n // To limit options\r\n const [positive, negative] = optionLabels;\r\n\r\n return (\r\n ({\r\n text,\r\n value: !index,\r\n visible: true,\r\n disabled: false,\r\n }))}\r\n />\r\n );\r\n}\r\n","import cn from 'classnames';\r\nimport { ExpandClearToggle } from \"./ExpandClearToggle\";\r\n\r\ninterface FilterButtonProps {\r\n title: React.ReactNode;\r\n expanded: boolean;\r\n applied?: boolean;\r\n selected?: boolean;\r\n error?: boolean;\r\n withExpandToogle?: boolean;\r\n onExpand: (expanded: boolean) => void;\r\n onClearAll: () => void;\r\n disabled?: boolean;\r\n}\r\n\r\nexport function FilterButton({\r\n title,\r\n expanded,\r\n withExpandToogle = true,\r\n applied = false,\r\n selected = false,\r\n error = false,\r\n onExpand,\r\n onClearAll,\r\n disabled = false,\r\n}: FilterButtonProps) {\r\n return (\r\n onExpand(!expanded)}\r\n >\r\n
\r\n {title}\r\n
\r\n {withExpandToogle &&\r\n onExpand(!expanded)}\r\n onClear={onClearAll}\r\n />\r\n }\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\"\r\nimport cn from 'classnames';\r\nimport MaskedInput from \"react-text-mask\"\r\nimport { NumberMaskOptions } from \"../../controls/DecimalMaskedInput\"\r\nimport { createNumberMask } from \"text-mask-addons\"\r\nimport { FormFieldLabel } from '../../forms';\r\nimport { formatUtils, numericUtils, stringUtils } from '../../../utils';\r\nimport { constants, errorMessages } from '../../../constants';\r\nimport { ClickOutside } from '../ClickOutside';\r\nimport { FilterDropDown } from './FilterDropDown';\r\nimport { FilterGroup, FilterRangeGroup, FilterSelectGroup } from '../../../types/filters/FilterGroup';\r\nimport { Checkbox, FormError, RadioButtonGroup } from '../../controls';\r\nimport { ColorFilterType } from '../../../types/bwic/Color';\r\nimport { useAppDispatch } from '../../../effects/useAppDispatch';\r\nimport { TFilterType } from '../../../types/filters/FilterState';\r\nimport { createFilterActions } from '../../../actions/filter.actions';\r\nimport { FilterButton } from \"./FilterButton\";\r\nimport { FilterOption } from \"../../../types/filters/FilterOption\";\r\n\r\ninterface Props {\r\n defaultExpanded?: boolean\r\n disabled?: boolean\r\n group: FilterGroup[]\r\n filterType: TFilterType\r\n}\r\n\r\nexport function FilterColor({\r\n group,\r\n defaultExpanded = false,\r\n disabled = false,\r\n filterType,\r\n}: Props) {\r\n const dispatch = useAppDispatch();\r\n const [expanded, setExpanded] = useState(defaultExpanded);\r\n const [error, setError] = useState(false);\r\n\r\n const [color, range] = group as [FilterSelectGroup, FilterRangeGroup];\r\n const isTradedSelected = color.filter.some(o => o.selected && o.value === ColorFilterType.Traded);\r\n const isTradedColorSelected = color.filter.some(o => o.selected && o.value === ColorFilterType.TradedColor);\r\n const isTradedOptionsVisible = isTradedSelected || isTradedColorSelected;\r\n\r\n let defaultTradedOption: ColorFilterType | undefined;\r\n if (isTradedSelected) {\r\n defaultTradedOption = ColorFilterType.Traded;\r\n }\r\n if (isTradedColorSelected) {\r\n defaultTradedOption = ColorFilterType.TradedColor;\r\n }\r\n\r\n const selected = color.filter.some(o => o.selected);\r\n const isResetDisabled = !selected;\r\n const isApplied = color.isApplied;\r\n\r\n const filterActions = createFilterActions(filterType);\r\n\r\n const hasRange =\r\n numericUtils.isNumber(range.filter.from) ||\r\n numericUtils.isNumber(range.filter.to)\r\n\r\n useEffect(() => {\r\n // Swith TradedColor to All if user doesn't specify the range\r\n if (isTradedColorSelected && !hasRange && !expanded) {\r\n // Toggle Traded && TradedColor\r\n dispatch(filterActions.filterSelectChange(ColorFilterType.Traded, color.key));\r\n dispatch(filterActions.filterSelectChange(ColorFilterType.TradedColor, color.key));\r\n }\r\n // eslint-disable-next-line \r\n }, [isTradedColorSelected, hasRange, expanded, dispatch, color.key])\r\n\r\n const renderSingleSelectionTitle = (selectedOption: FilterOption) => {\r\n let text = selectedOption.text\r\n\r\n if (isTradedColorSelected && hasRange && !error) {\r\n const from = formatUtils.formatDecimal(+(range.filter.from ?? constants.filterTradedColorRange.min), 2);\r\n const to = formatUtils.formatDecimal(+(range.filter.to ?? constants.filterTradedColorRange.max), 2);\r\n\r\n text = `${from} - ${to}`;\r\n } else if (isTradedColorSelected) {\r\n text = \"Traded\";\r\n }\r\n\r\n return <>Color: {text}\r\n }\r\n\r\n const renderTitle = () => {\r\n const selectedOptions = color.filter.filter(o => o.selected);\r\n\r\n if (selectedOptions.length === 1) {\r\n return renderSingleSelectionTitle(selectedOptions[0]);\r\n } else if (\r\n selectedOptions.length > 1 &&\r\n selectedOptions.length < color.filter.length\r\n ) {\r\n return <>Color: {selectedOptions.length} selected\r\n }\r\n\r\n return `Color: All`;\r\n }\r\n\r\n function handleClearAll() {\r\n dispatch(filterActions.filterSelectClearAll(color.key));\r\n dispatch(filterActions.filterRangeClearSelectedOptions(range.key));\r\n setError(false);\r\n }\r\n\r\n const handleSelectionChange = (value: number) => {\r\n if (isTradedOptionsVisible && (value === ColorFilterType.TradedColor || value === ColorFilterType.Traded)) {\r\n\r\n if (isTradedSelected) dispatch(filterActions.filterSelectChange(ColorFilterType.Traded, color.key));\r\n if (isTradedColorSelected) dispatch(filterActions.filterSelectChange(ColorFilterType.TradedColor, color.key));\r\n\r\n dispatch(filterActions.filterRangeClearSelectedOptions(range.key));\r\n setError(false);\r\n } else {\r\n dispatch(filterActions.filterSelectChange(value, color.key));\r\n }\r\n }\r\n\r\n const getSelectedState = (o: FilterOption) => {\r\n if (o.value === ColorFilterType.Traded && (isTradedSelected || isTradedColorSelected)) {\r\n return true;\r\n }\r\n\r\n return o.selected;\r\n }\r\n\r\n const renderOptions = () =>\r\n
    \r\n {color.filter\r\n .filter(o => o.visible)\r\n .map(o =>\r\n
  • \r\n handleSelectionChange(o.value)}\r\n />\r\n
  • \r\n )}\r\n
\r\n\r\n return (\r\n setTimeout(() => setExpanded(false))}\r\n >\r\n \r\n {!disabled && expanded && (\r\n \r\n
\r\n \r\n Reset to default\r\n \r\n {renderOptions()}\r\n
\r\n {isTradedOptionsVisible &&\r\n
\r\n {\r\n dispatch(filterActions.filterRangeClearSelectedOptions(range.key));\r\n // Toggle Traded && TradedColor\r\n dispatch(filterActions.filterSelectChange(ColorFilterType.Traded, color.key));\r\n dispatch(filterActions.filterSelectChange(ColorFilterType.TradedColor, color.key));\r\n }}\r\n />\r\n\r\n {\r\n setError(hasError);\r\n dispatch(filterActions.changeRangeFilter(newRange, range.key))\r\n }}\r\n />\r\n
\r\n }\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nconst errorDefaults = { from: \"\", to: \"\" };\r\n\r\ninterface Range {\r\n from?: number\r\n to?: number\r\n}\r\n\r\ninterface RangeInputProps {\r\n range: Range\r\n limits: Range\r\n mask: Partial\r\n disabled?: boolean\r\n onChange: (range: Range, hasError: boolean) => void\r\n}\r\n\r\nfunction RangeInput({ range, limits, mask, disabled = false, onChange }: RangeInputProps) {\r\n const [errors, setErrors] = useState(errorDefaults);\r\n const [from, setFrom] = useState(range.from?.toString() ?? \"\");\r\n const [to, setTo] = useState(range.to?.toString() ?? \"\");\r\n\r\n useEffect(() => {\r\n const validate = () => {\r\n if (!stringUtils.isNullOrEmpty(from) && !stringUtils.isNullOrEmpty(to) && +from > +to) {\r\n setErrors({ from: errorMessages.fromRangeBiggerThenToRange, to: '' });\r\n } else {\r\n setErrors(errorDefaults);\r\n }\r\n };\r\n\r\n validate();\r\n }, [from, to])\r\n\r\n useEffect(() => {\r\n if (disabled) {\r\n setFrom(\"\");\r\n setTo(\"\");\r\n }\r\n }, [disabled])\r\n\r\n const cutToLimits = (value: number) => {\r\n let next = limits.from == null ? value : Math.max(value, limits.from);\r\n next = limits.to == null ? next : Math.min(next, limits.to);\r\n\r\n return next;\r\n }\r\n\r\n const getRange = () => ({\r\n from: numericUtils.isNumber(from) ? cutToLimits(+from) : undefined,\r\n to: numericUtils.isNumber(to) ? cutToLimits(+to) : undefined\r\n })\r\n\r\n const getPlaceholder = (value: number | string) => {\r\n if (typeof value === 'string') return String(value);\r\n\r\n if (numericUtils.isNumber(value)) {\r\n return mask.allowDecimal && mask.decimalLimit\r\n ? formatUtils.formatDecimal(Number(value), mask.decimalLimit) ?? ''\r\n : String(value);\r\n }\r\n\r\n return '';\r\n }\r\n\r\n const handleBlur = () => {\r\n const hasErrors = !!(errors.from || errors.to);\r\n const range = getRange();\r\n\r\n if (range.from != null) setFrom(range.from.toString());\r\n if (range.to != null) setTo(range.to.toString())\r\n\r\n onChange(range, hasErrors);\r\n }\r\n\r\n const renderInput = (\r\n label: string,\r\n value: string,\r\n placeholder: string,\r\n error: string | undefined,\r\n onChange: (value: string) => void\r\n ) =>\r\n
\r\n \r\n onChange(e.target.value)}\r\n onBlur={handleBlur}\r\n />\r\n \r\n
\r\n\r\n return (\r\n
\r\n {renderInput(\"From\", from, getPlaceholder(limits.from ?? 0), errors.from, (value: string) => setFrom(value))}\r\n {constants.emptyPlaceholder}\r\n {renderInput(\"To\", to, getPlaceholder(limits.to ?? 0), errors.to, (value: string) => setTo(value))}\r\n
\r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport moment from \"moment\";\r\nimport { isNil } from \"lodash\";\r\nimport { DateAfter, Matcher, DateInterval } from \"react-day-picker\";\r\nimport { DateRange } from \"../../../types/filters/DateRange\";\r\nimport { ClickOutside } from \"../ClickOutside\";\r\nimport { constants, errorMessages, pipelineFilters } from \"../../../constants\";\r\nimport { FilterRangeOption } from \"../../../types/filters/FilterRangeOption\";\r\nimport { DateFilterOption } from \"../../../types/filters/DateFilterOption\";\r\nimport { CustomDateRangePicker } from \"../date-range-custon-view/CustomDateRangePicker\";\r\nimport classnames from \"classnames\";\r\nimport { dateRangeFilterOptions as options } from \"../../../constants/date-range.filter\";\r\nimport { dateTimeUtils } from \"../../../utils\";\r\nimport { FilterDropDown } from \"./FilterDropDown\";\r\nimport MaskedInput from \"react-text-mask\";\r\nimport createNumberMask from \"text-mask-addons/dist/createNumberMask\";\r\nimport { getRangeFromDateOption } from \"../../../utils/amr-pipeline.utils\";\r\nimport { filterUtils, validateDateFormat } from \"../../../utils/filtering/filter.utils\";\r\nimport { FilterButton } from './FilterButton';\r\nimport { DropDownButton } from '../../controls/DropDownButton';\r\n\r\nconst dateFormat = \"MM/DD/YYYY\";\r\n\r\ninterface Props {\r\n acceptableOptions?: DateFilterOption[];\r\n defaultExpanded?: boolean;\r\n selectedFilterOption?: DateFilterOption;\r\n customDateRange: DateRange;\r\n customYearsRange?: FilterRangeOption;\r\n minSelectYear?: number;\r\n title: string;\r\n maxRangeValue?: number;\r\n isApplied?: boolean;\r\n isChanged?: boolean;\r\n buttonView?: 'filter' | 'chart';\r\n disabledDays?: Matcher;\r\n onSelectedDateChange: (option: DateFilterOption) => void;\r\n onCustomDateChange: (option: DateRange) => void;\r\n onYearsRangeChange?: (option: FilterRangeOption) => void;\r\n onClearAll?: () => void;\r\n disabled?: boolean;\r\n}\r\n\r\nconst defaultErrors = {\r\n year: { from: '', to: '' },\r\n date: { from: '', to: '' },\r\n};\r\n\r\nexport function FilterDateRange({\r\n acceptableOptions = options.dateOptions(),\r\n defaultExpanded = false,\r\n selectedFilterOption,\r\n customYearsRange,\r\n customDateRange,\r\n title,\r\n minSelectYear = 2010,\r\n maxRangeValue = pipelineFilters.maxRangeValue,\r\n isApplied = false,\r\n isChanged = false,\r\n buttonView = 'filter',\r\n disabledDays,\r\n onSelectedDateChange,\r\n onYearsRangeChange,\r\n onCustomDateChange,\r\n onClearAll,\r\n disabled = false,\r\n}: Props) {\r\n const dateOptions: DateFilterOption[] = getFilterOptions();\r\n const [expanded, setExpanded] = useState(defaultExpanded);\r\n\r\n const [customDates, setCustomDates] = useState({\r\n from: customDateRange.from ? moment(customDateRange.from).format(dateFormat) : undefined,\r\n to: customDateRange.to ? moment(customDateRange.to).format(dateFormat) : undefined,\r\n });\r\n const [errors, setErrors] = useState(defaultErrors);\r\n\r\n const [isCustomViewVisible, setCustomViewVisible] = useState(\r\n selectedFilterOption === options.Custom\r\n );\r\n const [isYearsRangeVisible, setYearsRangeVisible] = useState(\r\n selectedFilterOption === options.YearsRange\r\n );\r\n const selected = isFilterSelected();\r\n const isCustomOptionEmpty =\r\n !(customYearsRange?.from || customYearsRange?.to) &&\r\n !(customDateRange?.from || customDateRange?.to);\r\n const isResetDisabled = !selected && isCustomOptionEmpty;\r\n const dateMask = [/\\d/, /\\d/, \"/\", /\\d/, /\\d/, \"/\", /\\d/, /\\d/, /\\d/, /\\d/];\r\n const hasErrors = Object.values(errors.date).some(v => !!v) || Object.values(errors.year).some(v => !!v);\r\n\r\n useEffect(() => {\r\n setCustomViewVisible(options.Custom.key === selectedFilterOption?.key);\r\n setYearsRangeVisible(\r\n options.YearsRange.key === selectedFilterOption?.key\r\n );\r\n if (!customYearsRange?.from && !customYearsRange?.to)\r\n setErrors((errors) => ({ ...errors, year: defaultErrors.year }));\r\n }, [expanded, selectedFilterOption, customYearsRange]);\r\n\r\n useEffect(() => {\r\n if (!customDateRange.from && !customDateRange.to) {\r\n setCustomDates({ from: \"\", to: \"\" });\r\n setErrors((errors) => ({ ...errors, date: defaultErrors.date }));\r\n }\r\n }, [customDateRange.from, customDateRange.to]);\r\n\r\n useEffect(() => {\r\n if (isCustomOptionEmpty && selectedFilterOption && !selectedFilterOption.pureOption) {\r\n return onClearAllHandler();\r\n }\r\n\r\n if (!expanded && hasErrors) {\r\n onClearAllHandler();\r\n return;\r\n }\r\n\r\n if (!expanded) {\r\n return;\r\n }\r\n\r\n if (onYearsRangeChange) {\r\n if (customYearsRange?.from || customYearsRange?.to) {\r\n if (!customYearsRange.from) {\r\n const newInputValues = {\r\n to: customYearsRange.to,\r\n from: 0,\r\n };\r\n onYearsRangeChange(newInputValues);\r\n } else if (!customYearsRange.to) {\r\n const newInputValues = {\r\n from: customYearsRange.from,\r\n to: maxRangeValue,\r\n };\r\n onYearsRangeChange(newInputValues);\r\n }\r\n }\r\n }\r\n\r\n if (isCustomViewVisible) {\r\n if (customDateRange?.from || customDateRange.to) {\r\n if (!customDateRange.from) {\r\n const newInputValues = {\r\n to: customDateRange.to,\r\n from: customDateRange.to,\r\n };\r\n setCustomDates({ ...customDates, from: customDates.to });\r\n onCustomDateChange(newInputValues);\r\n } else if (!customDateRange.to) {\r\n const newInputValues = {\r\n from: customDateRange.from,\r\n to: customDateRange.from,\r\n };\r\n setCustomDates({ ...customDates, to: customDates.from });\r\n onCustomDateChange(newInputValues);\r\n }\r\n }\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [expanded]);\r\n\r\n useEffect(() => {\r\n const { from, to } = customDateRange;\r\n\r\n setCustomDates((prevState) => ({\r\n ...prevState,\r\n ...(from && { from: moment(from).format(dateFormat) }),\r\n ...(to && { to: moment(to).format(dateFormat) }),\r\n }));\r\n }, [customDateRange]);\r\n\r\n function getFilterOptions() {\r\n return acceptableOptions.map(option => {\r\n const dateRange = getRangeFromDateOption(option);\r\n\r\n if (!dateRange) {\r\n return option;\r\n }\r\n\r\n const from = dateRange.from?.format(dateFormat);\r\n const to = dateRange.to?.format(dateFormat);\r\n\r\n return {\r\n ...option,\r\n from,\r\n to,\r\n };\r\n });\r\n }\r\n\r\n function isFilterSelected() {\r\n if (!selectedFilterOption || selectedFilterOption.default) {\r\n return false;\r\n }\r\n\r\n if ([options.YearsRange.key].includes(selectedFilterOption.key)) {\r\n return (\r\n !isNil(customYearsRange?.from) && !isNil(customYearsRange?.to)\r\n );\r\n }\r\n\r\n if ([options.Custom.key].includes(selectedFilterOption.key)) {\r\n return !isNil(customDates.from) && !isNil(customDates.to);\r\n }\r\n\r\n if (selectedFilterOption.pureOption) {\r\n return true;\r\n }\r\n\r\n return (\r\n !isNil(selectedFilterOption.from) || !isNil(selectedFilterOption.to)\r\n );\r\n }\r\n\r\n function handleOptionsChange(option: DateFilterOption) {\r\n if (option.key !== selectedFilterOption?.key) {\r\n const isOptionCustom = option.key === options.Custom.key;\r\n const isYearsRange = option.key === options.YearsRange.key;\r\n const isDateOption = options\r\n .dateOptions()\r\n .some((o) => o.key === option.key);\r\n\r\n if (!isOptionCustom && !isYearsRange && !isDateOption) {\r\n setExpanded(false);\r\n onSelectedDateChange(option);\r\n setErrors(defaultErrors);\r\n } else if (isYearsRange) {\r\n onSelectedDateChange(options.YearsRange);\r\n setYearsRangeVisible(true);\r\n setCustomViewVisible(false);\r\n setErrors(defaultErrors);\r\n } else if (isDateOption && !isOptionCustom) {\r\n setExpanded(false);\r\n onSelectedDateChange(option);\r\n\r\n const from = option.from ? new Date(option.from) : null;\r\n const to = option.to ? new Date(option.to) : null;\r\n onCustomDateChange({ from, to });\r\n setErrors(defaultErrors);\r\n } else {\r\n onSelectedDateChange(options.Custom);\r\n setCustomViewVisible(true);\r\n setYearsRangeVisible(false);\r\n }\r\n }\r\n }\r\n\r\n function handleClickOutside() {\r\n setExpanded(false);\r\n setCustomViewVisible(false);\r\n setYearsRangeVisible(false);\r\n }\r\n\r\n function handleDayClick(range: DateRange) {\r\n const errorFrom = filterUtils.validateFromDate(minSelectYear, range.from, range.to);\r\n const errorTo = filterUtils.validateToDate(minSelectYear, range.to);\r\n\r\n setCustomDates({\r\n from: range.from\r\n ? moment(range.from).format(constants.dateShortFormat)\r\n : undefined,\r\n to: range.to\r\n ? moment(range.to).format(constants.dateShortFormat)\r\n : undefined,\r\n });\r\n\r\n setErrors({ ...errors, date: { from: errorFrom, to: errorTo } });\r\n onCustomDateChange({ from: range.from, to: range.to });\r\n }\r\n\r\n function handleDateToManualChange(e: React.ChangeEvent) {\r\n const from =\r\n dateTimeUtils.parseDate(customDates.from, dateFormat) || null;\r\n const to =\r\n dateTimeUtils.parseDate(e.target.value, dateFormat) || null;\r\n const errorTo = validateDateFormat(e.target.value, dateFormat, errorMessages.datePickerInvalidToDate)\r\n || filterUtils.validateToDate(minSelectYear, to || e.target.value, disabledDays as DateAfter);\r\n const errorFrom = validateDateFormat(customDates.from, dateFormat, errorMessages.datePickerInvalidFromDate)\r\n || filterUtils.validateFromDate(\r\n minSelectYear,\r\n from,\r\n to || e.target.value,\r\n disabledDays as DateInterval,\r\n );\r\n\r\n setCustomDates({ ...customDates, to: to || e.target.value });\r\n setErrors({ ...errors, date: { to: errorTo, from: errorFrom } });\r\n\r\n if (!errorTo && !errorFrom) {\r\n onCustomDateChange({ from, to });\r\n }\r\n }\r\n\r\n function handleDateFromManualChange(\r\n e: React.ChangeEvent\r\n ) {\r\n const from =\r\n dateTimeUtils.parseDate(e.target.value, dateFormat) || null;\r\n const to =\r\n dateTimeUtils.parseDate(customDates.to, dateFormat) || null;\r\n const errorTo = validateDateFormat(customDates.to, dateFormat, errorMessages.datePickerInvalidToDate)\r\n || filterUtils.validateToDate(minSelectYear, to, disabledDays as DateAfter);\r\n const errorFrom = validateDateFormat(e.target.value, dateFormat, errorMessages.datePickerInvalidFromDate)\r\n || filterUtils.validateFromDate(minSelectYear, from || e.target.value, to, disabledDays as DateInterval);\r\n\r\n setCustomDates({ ...customDates, from: from || e.target.value });\r\n setErrors({ ...errors, date: { to: errorTo, from: errorFrom } });\r\n\r\n if (!errorTo && !errorFrom) {\r\n onCustomDateChange({ from, to });\r\n }\r\n\r\n if (from && to && moment(from).isAfter(to)) {\r\n setCustomDates({ ...customDates, from });\r\n }\r\n }\r\n\r\n function onClearAllHandler() {\r\n onClearAll && onClearAll();\r\n setCustomDates({ to: \"\", from: \"\" });\r\n setErrors({ year: { from: \"\", to: \"\" }, date: { from: \"\", to: \"\" } });\r\n }\r\n\r\n function handleResetToDefault() {\r\n const defaultOption = acceptableOptions.find(o => o.default);\r\n if (defaultOption) {\r\n handleOptionsChange(defaultOption);\r\n } else {\r\n onClearAllHandler();\r\n }\r\n }\r\n\r\n function handleCustomYearsRangeChange(\r\n e: React.ChangeEvent\r\n ) {\r\n const newInputValues = {\r\n ...customYearsRange,\r\n [e.target.name]: e.target.value.replace(\"Y\", \"\"),\r\n };\r\n const { from, to } = newInputValues;\r\n\r\n setErrors({ ...errors, year: { from: \"\", to: \"\" } });\r\n\r\n if (from && to) {\r\n if (parseFloat(String(from)) > parseFloat(String(to)))\r\n setErrors({\r\n ...errors,\r\n year: {\r\n from: errorMessages.fromRangeBiggerThenToRange,\r\n to: \"\",\r\n },\r\n });\r\n }\r\n\r\n if (Number(from) > maxRangeValue) newInputValues.from = maxRangeValue;\r\n if (Number(to) > maxRangeValue) newInputValues.to = maxRangeValue;\r\n\r\n onYearsRangeChange && onYearsRangeChange(newInputValues);\r\n }\r\n\r\n ///Render functions\r\n\r\n function renderDateOptions() {\r\n return dateOptions.map((option) => (\r\n handleOptionsChange(option)}\r\n className={\r\n (option.key === selectedFilterOption?.key &&\r\n !isCustomViewVisible) ||\r\n (isCustomViewVisible && option.key === options.Custom.key)\r\n ? \"selected\"\r\n : \"\"\r\n }\r\n >\r\n {option.title}\r\n \r\n ));\r\n }\r\n\r\n function renderTitle() {\r\n return \r\n }\r\n\r\n function renderYearsRangeView() {\r\n return (\r\n
\r\n
\r\n \r\n \r\n {!!errors.year.from && (\r\n
{errors.year.from}
\r\n )}\r\n
\r\n {constants.emptyPlaceholder}\r\n
\r\n \r\n \r\n {!!errors.year.to && (\r\n
{errors.year.to}
\r\n )}\r\n
\r\n
\r\n );\r\n }\r\n\r\n function renderCustomView() {\r\n const from = dateTimeUtils.parseDate(customDates.from, dateFormat);\r\n const to = dateTimeUtils.parseDate(customDates.to, dateFormat);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {!!errors.date.from && (\r\n
\r\n {errors.date.from}\r\n
\r\n )}\r\n
\r\n \r\n
\r\n \r\n \r\n {!!errors.date.to && (\r\n
\r\n {errors.date.to}\r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n function renderDropDown() {\r\n return (\r\n 1,\r\n },\r\n {\r\n \"control-filter-content-year-range\":\r\n isYearsRangeVisible && onYearsRangeChange,\r\n },\r\n {\r\n \"control-filter-content-datepicker\":\r\n isCustomViewVisible,\r\n }\r\n )}\r\n expanded={expanded}\r\n value={\r\n selectedFilterOption?.key === 2\r\n ? customYearsRange\r\n : customDateRange\r\n }\r\n >\r\n
\r\n {onClearAll &&\r\n \r\n Reset to default\r\n \r\n }\r\n\r\n {dateOptions.length > 1 && (\r\n
    \r\n {renderDateOptions()}\r\n
\r\n )}\r\n
\r\n {isYearsRangeVisible &&\r\n onYearsRangeChange &&\r\n renderYearsRangeView()}\r\n {isCustomViewVisible && renderCustomView()}\r\n \r\n );\r\n }\r\n\r\n function renderFilterView() {\r\n return (\r\n <>\r\n \r\n {expanded && renderDropDown()}\r\n \r\n );\r\n }\r\n\r\n function renderChartView() {\r\n return (\r\n \r\n {renderDropDown()}\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {buttonView === 'filter' && renderFilterView()}\r\n {buttonView === 'chart' && renderChartView()}\r\n \r\n );\r\n}\r\n\r\ninterface FilterDateRangeTitleProps {\r\n name?: string;\r\n selected?: DateFilterOption;\r\n customDateRange: DateRange;\r\n customYearsRange?: FilterRangeOption;\r\n maxRangeValue?: number;\r\n}\r\n\r\nexport function FilterDateRangeTitle({\r\n name, selected, customDateRange, customYearsRange, maxRangeValue\r\n}: FilterDateRangeTitleProps) {\r\n const formatName = () => name ? `${name}: ` : \"\";\r\n\r\n if (selected) {\r\n if (customDateRange.from || customDateRange.to) {\r\n const from = dateTimeUtils.parseDate(customDateRange.from, dateFormat);\r\n const to = dateTimeUtils.parseDate(customDateRange.to, dateFormat);\r\n const fromFormatted = moment(from).format(dateFormat);\r\n const toFormatted = moment(to).format(dateFormat);\r\n\r\n if (selected.formatTitle) {\r\n return <>{formatName()}{selected.formatTitle(fromFormatted, toFormatted)};\r\n }\r\n\r\n if (from && to) {\r\n return <>{`${formatName()}${fromFormatted} - ${toFormatted}`};\r\n }\r\n } else if (customYearsRange?.from || customYearsRange?.to) {\r\n const fromFormatted = String(customYearsRange.from || 0);\r\n const toFormatted = String(customYearsRange.to || maxRangeValue);\r\n\r\n return (\r\n <>\r\n {formatName()}{selected.formatTitle?.(fromFormatted, toFormatted)\r\n ?? `${fromFormatted}Y - ${toFormatted}Y`}\r\n \r\n )\r\n }\r\n\r\n return <>{`${formatName()}${selected.title}`};\r\n }\r\n\r\n return <>{`${formatName()}All`};\r\n}\r\n","import { isEqual } from \"lodash\";\r\nimport { DateFilterOption } from \"../../../../types/filters/DateFilterOption\";\r\nimport { DateRange } from \"../../../../types/filters/DateRange\";\r\nimport { DateRangeOption } from \"../../../../types/user-config/UserConfigFilter\";\r\nimport DateRangeSelector from \"./DateRangeSelector\";\r\n\r\ninterface BwicDateFilterOption {\r\n key: number;\r\n title: string;\r\n}\r\n\r\ninterface DateSelectorProps {\r\n title: string;\r\n customClassName?: string;\r\n disabled: boolean;\r\n onReset?: () => void;\r\n acceptedOptions?: BwicDateFilterOption[];\r\n selectedDateOption: BwicDateFilterOption;\r\n selectedDefault?: BwicDateFilterOption;\r\n customDateRange?: DateRange;\r\n onCustomDateChange: (dateRange: DateRange) => void\r\n onSelectedDateChange: (selectedOption: DateFilterOption) => void\r\n disabledDays?: {\r\n after: Date;\r\n }\r\n}\r\n\r\ninterface DateRangeFilterState {\r\n selectedDateOption: DateFilterOption,\r\n customDateRange?: DateRange | DateRangeOption\r\n}\r\n\r\ninterface DateRangeFilterProps extends DateSelectorProps {\r\n lastAppliedFilter: DateRangeFilterState;\r\n initialFilter: DateRangeFilterState;\r\n filter: DateRangeFilterState;\r\n}\r\n\r\nconst isDateFilterApplied = (lastAppliedFilter: DateRangeFilterState, filter: DateRangeFilterState) => {\r\n return lastAppliedFilter.selectedDateOption.key === filter.selectedDateOption.key\r\n && isEqual(lastAppliedFilter.customDateRange, filter.customDateRange);\r\n}\r\n\r\nconst isDateFilterChanged = (initialFilter: DateRangeFilterState, filter: DateRangeFilterState) => {\r\n return initialFilter.selectedDateOption.key !== filter.selectedDateOption.key\r\n || !isEqual(initialFilter.customDateRange, filter.customDateRange);\r\n}\r\n\r\nexport const DateRangeFilter = ({ lastAppliedFilter, initialFilter, filter, ...props }: DateRangeFilterProps) => (\r\n \r\n)","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport cn from 'classnames';\r\nimport MaskedInput from 'react-text-mask';\r\nimport moment from 'moment';\r\nimport { ClickOutside } from '../../ClickOutside';\r\nimport { bwicDateFilterOptions as options, constants, errorMessages } from '../../../../constants';\r\nimport { CustomDateRangePicker } from '../../date-range-custon-view/CustomDateRangePicker';\r\nimport { FormError } from '../../../controls';\r\nimport { ExpandClearToggle } from '../ExpandClearToggle';\r\n\r\nexport default class DateRangeSelector extends Component {\r\n state = {\r\n expanded: false,\r\n selectFocus: false,\r\n customFrom: '',\r\n customTo: '',\r\n visibleCustomView: false,\r\n errorFrom: '',\r\n errorTo: ''\r\n };\r\n\r\n show = () => {\r\n if (!this.props.disabled) {\r\n this.setState({\r\n customClassName: false,\r\n expanded: true,\r\n selectFocus: true,\r\n customFrom: this.props.customDateRange.from,\r\n customTo: this.props.customDateRange.to,\r\n visibleCustomView: this.props.selectedDateOption.key === options.custom.key\r\n });\r\n }\r\n };\r\n\r\n hide = () => {\r\n const { selectedDateOption } = this.props;\r\n const { visibleCustomView, errorFrom, errorTo, customFrom, customTo } = this.state;\r\n const isCustom = visibleCustomView && selectedDateOption.key === options.custom.key;\r\n\r\n const isDateOrEmpty = date => date ? moment(date, true).isValid() : true;\r\n\r\n if (errorFrom || errorTo || (\r\n isCustom && ((!customFrom && !customTo) || !isDateOrEmpty(customFrom) || !isDateOrEmpty(customTo)) )) {\r\n this.props.onReset();\r\n this.setState({ customFrom: '', customTo: '' });\r\n }\r\n\r\n this.setState({ expanded: false, visibleCustomView: false, errorFrom: '', errorTo: '' });\r\n };\r\n\r\n parseCustomDateOrDefault = (date, defaultValue) => {\r\n if (date) {\r\n const dateMoment = moment(date, 'MM/DD/YYYY', true).startOf('day');\r\n return dateMoment.isValid() ? dateMoment.toDate() : defaultValue;\r\n }\r\n return date;\r\n };\r\n\r\n getRangeList = () => {\r\n const { acceptedOptions } = this.props;\r\n const dateFormat = 'M/D/YY';\r\n const rangeList = [];\r\n const today = moment().format(dateFormat);\r\n const monday = moment().day(1).format(dateFormat);\r\n const friday = moment().day(5).format(dateFormat);\r\n const weekAgo = moment().subtract(1, 'week').format(dateFormat);\r\n const monthAgo = moment().subtract(1, 'month').format(dateFormat);\r\n const yearAgo = moment().subtract(1, 'year').format(dateFormat);\r\n\r\n const mapping = [\r\n {\r\n key: options.todayAndUpcoming.key,\r\n action: () => rangeList.push({ ...options.todayAndUpcoming, selectedTitle: `Today and Upcoming` })\r\n },\r\n {\r\n key: options.current.key,\r\n action: (customSelectedTitle, customTitle) => rangeList.push({\r\n ...options.current,\r\n selectedTitle: customSelectedTitle || options.current.title,\r\n title: customTitle || options.current.title\r\n })\r\n },\r\n {\r\n key: options.thisWeek.key,\r\n action: () => rangeList.push({ ...options.thisWeek, selectedTitle: `This Week (${monday} - ${friday})` })\r\n },\r\n {\r\n key: options.lastWeek.key,\r\n action: () => rangeList.push({ ...options.lastWeek, selectedTitle: `Last Week (${weekAgo} - ${today})` })\r\n },\r\n {\r\n key: options.lastMonth.key,\r\n action: () => rangeList.push({ ...options.lastMonth, selectedTitle: `Last Month (${monthAgo} - ${today})` })\r\n },\r\n {\r\n key: options.lastYear.key,\r\n action: () => rangeList.push({ ...options.lastYear, selectedTitle: `Last Year (${yearAgo} - ${today})` })\r\n },\r\n {\r\n key: options.unspecified.key,\r\n action: () => rangeList.push({ ...options.unspecified, selectedTitle: 'All' })\r\n },\r\n {\r\n key: options.custom.key,\r\n action: () => rangeList.push({ ...options.custom, selectedTitle: `${monday} - ${friday}` })\r\n },\r\n {\r\n key: options.today.key,\r\n action: () => rangeList.push({ ...options.today, selectedTitle: options.today.title })\r\n },\r\n {\r\n key: options.currentInventory.key,\r\n action: () => rangeList.push({ ...options.currentInventory, selectedTitle: options.currentInventory.title })\r\n },\r\n ];\r\n acceptedOptions.forEach(o => mapping.find(m => m.key === o.key)?.action(o.selectedTitle, o.title));\r\n return rangeList;\r\n };\r\n\r\n formatTitle = filterTitle => {\r\n const { selectedDateOption, customDateRange } = this.props;\r\n const rangeList = this.getRangeList();\r\n const format = value => filterTitle ? `${filterTitle}: ${value}` : value;\r\n\r\n if (this.state.visibleCustomView && selectedDateOption.key !== options.custom.key) {\r\n return format('Custom');\r\n }\r\n if (selectedDateOption.key === options.custom.key) {\r\n const from = this.parseCustomDateOrDefault(customDateRange.from);\r\n const to = this.parseCustomDateOrDefault(customDateRange.to);\r\n if (from && to) {\r\n return format(`${moment(from).format('M/D/YY')} - ${moment(to).format('M/D/YY')}`);\r\n }\r\n return format('Custom');\r\n }\r\n for (let i = 0; i < rangeList.length; i++) {\r\n if (selectedDateOption.key === rangeList[i].key) {\r\n return format(rangeList[i].selectedTitle);\r\n }\r\n }\r\n return '';\r\n };\r\n\r\n validateFromDate = (date, toDate) => {\r\n const { disabledDays } = this.props;\r\n\r\n if (!date) {\r\n return errorMessages.datePickerInvalidFromDate;\r\n }\r\n if (date.getFullYear() < constants.datePickerMinYear || date.getFullYear() > constants.datePickerMaxYear) {\r\n return errorMessages.datePickerInvalidFromDate;\r\n }\r\n if (toDate && moment(date).isAfter(toDate, 'day')) {\r\n return errorMessages.fromDateBiggerThenToDate;\r\n }\r\n if (\r\n disabledDays &&\r\n disabledDays.after &&\r\n new Date(date).setHours(0, 0, 0, 0) > new Date(disabledDays.after).setHours(0, 0, 0, 0)\r\n ) {\r\n return errorMessages.datePickerInvalidFromDate;\r\n }\r\n return '';\r\n };\r\n\r\n validateToDate = (date) => {\r\n const { disabledDays } = this.props;\r\n if (!date) {\r\n return errorMessages.datePickerInvalidToDate;\r\n }\r\n if (date.getFullYear() < constants.datePickerMinYear || date.getFullYear() > constants.datePickerMaxYear) {\r\n return errorMessages.datePickerInvalidToDate;\r\n }\r\n if (\r\n disabledDays &&\r\n disabledDays.after &&\r\n new Date(date).setHours(0, 0, 0, 0) > new Date(disabledDays.after).setHours(0, 0, 0, 0)\r\n ) {\r\n return errorMessages.datePickerInvalidToDate;\r\n }\r\n return '';\r\n };\r\n\r\n handleDateFromManualChange = e => {\r\n const { customTo } = this.state;\r\n const fromValue = e.target.value;\r\n const from = this.parseCustomDateOrDefault(fromValue);\r\n const to = this.parseCustomDateOrDefault(customTo);\r\n const errorFrom = !String(fromValue).includes('_') && fromValue && this.validateFromDate(from, to);\r\n this.setState({ customFrom: from || e.target.value, errorFrom });\r\n if (from && to && moment(from).isAfter(to)) {\r\n this.setState({ customFrom: from });\r\n }\r\n this.props.onCustomDateChange({ from, to });\r\n };\r\n\r\n handleDateToManualChange = e => {\r\n const { customFrom } = this.state;\r\n const toValue = e.target.value;\r\n const from = this.parseCustomDateOrDefault(customFrom);\r\n const to = this.parseCustomDateOrDefault(toValue);\r\n const errorTo = !String(toValue).includes('_') && toValue && this.validateToDate(to);\r\n const errorFrom = customFrom && this.validateFromDate(from, to);\r\n this.setState({ customTo: to || e.target.value, errorTo, errorFrom });\r\n if (from && to && moment(from).isAfter(to)) {\r\n this.setState({ customTo: to });\r\n }\r\n this.props.onCustomDateChange({ from, to });\r\n };\r\n\r\n handleDayClick = range => {\r\n const errorFrom = this.validateFromDate(range.from, range.to);\r\n const errorTo = range.to && this.validateToDate(range.to);\r\n\r\n this.setState({\r\n customFrom: range.from,\r\n customTo: range.to,\r\n errorFrom,\r\n errorTo\r\n });\r\n this.props.onCustomDateChange(range);\r\n this.props.onSelectedDateChange(options.custom);\r\n };\r\n\r\n handleOptionsChange = option => {\r\n const isOptionCustom = option.key === options.custom.key;\r\n if (!isOptionCustom) {\r\n this.hide();\r\n this.props.onSelectedDateChange({ key: option.key, title: option.title }, false);\r\n } else {\r\n this.setState({ visibleCustomView: true });\r\n }\r\n };\r\n\r\n handleClickOutside = () => {\r\n if (this.state.expanded) {\r\n if (this.props.selectedDateOption.key === options.custom.key) {\r\n this.hide();\r\n return;\r\n }\r\n this.hide();\r\n }\r\n this.setState({ selectFocus: false });\r\n };\r\n\r\n handleDateManualBlur = () => {\r\n this.props.onSelectedDateChange(options.custom);\r\n };\r\n\r\n renderCustomView = () => {\r\n const { customFrom, customTo, errorTo, errorFrom } = this.state;\r\n const from = this.parseCustomDateOrDefault(customFrom);\r\n const to = this.parseCustomDateOrDefault(customTo);\r\n const dateMask = [/\\d/, /\\d/, \"/\", /\\d/, /\\d/, \"/\", /\\d/, /\\d/, /\\d/, /\\d/];\r\n const dateFormat = 'MM/DD/YYYY';\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n };\r\n\r\n renderDateOptions = (dateOptions) => {\r\n return dateOptions.map(option =>\r\n this.handleOptionsChange(option)}\r\n className={\r\n (option.key === this.props.selectedDateOption.key && !this.state.visibleCustomView) ||\r\n (this.state.visibleCustomView && option.key === options.custom.key) ? 'selected' : ''\r\n }\r\n >\r\n {option.title}\r\n \r\n );\r\n };\r\n\r\n renderRestyled = () => {\r\n const dateOptions = this.getRangeList();\r\n const { selectedDateOption, title, disabled, isApplied, onReset, selectedDefault = options.unspecified } = this.props;\r\n const isSelected = selectedDateOption.key !== selectedDefault.key;\r\n\r\n return (\r\n
\r\n \r\n {this.formatTitle(title)}\r\n \r\n
\r\n {\r\n this.state.expanded &&\r\n \r\n
\r\n
\r\n
    \r\n {this.renderDateOptions(dateOptions)}\r\n
\r\n
\r\n {this.state.visibleCustomView && this.renderCustomView()}\r\n
\r\n
\r\n }\r\n \r\n );\r\n }\r\n\r\n render = () => {\r\n const dateOptions = this.getRangeList();\r\n const { selectedDateOption, restyled, disabled } = this.props;\r\n\r\n if (!selectedDateOption || !dateOptions) {\r\n return null;\r\n }\r\n\r\n if (restyled) {\r\n return this.renderRestyled();\r\n }\r\n\r\n const containerClassNames = cn('select-date-range',\r\n {\r\n 'select-expanded': this.state.expanded,\r\n 'select-focused': this.state.selectFocus,\r\n disabled\r\n }\r\n );\r\n\r\n return (\r\n
\r\n \r\n {this.formatTitle()}\r\n
\r\n {\r\n this.state.expanded &&\r\n \r\n
\r\n
    \r\n {this.renderDateOptions(dateOptions)}\r\n
\r\n {this.state.visibleCustomView && this.renderCustomView()}\r\n
\r\n
\r\n }\r\n \r\n );\r\n };\r\n}\r\n\r\nDateRangeSelector.defaultProps = {\r\n restyled: false,\r\n isApplied: false,\r\n acceptedOptions: options.toDefaultArray(),\r\n disabled: false,\r\n disabledDays: []\r\n};\r\n\r\nDateRangeSelector.propTypes = {\r\n selectedDateOption: PropTypes.object.isRequired,\r\n customDateRange: PropTypes.object.isRequired,\r\n onCustomDateChange: PropTypes.func.isRequired,\r\n onSelectedDateChange: PropTypes.func.isRequired,\r\n disabled: PropTypes.bool\r\n};\r\n\r\n\r\n\r\n","export const dateTimeFilterConstants = {\r\n anyTimeTitle: \"Any Time\",\r\n radioInputLabel: \"Time (EST)\",\r\n};\r\n","import { useState } from 'react';\r\nimport moment, { Moment } from 'moment';\r\nimport { ClickOutside } from '../../ClickOutside';\r\nimport { RadioButtonGroup } from '../../../controls';\r\nimport TimePicker from 'rc-time-picker';\r\nimport { dateTimeFilterConstants } from './constants';\r\nimport { constants } from '../../../../constants';\r\nimport classNames from 'classnames';\r\nimport { DateTimeValue } from '../../../../types/filters/DateTimeValue';\r\nimport { TimeOption } from '../../../../types/filters/TimeOption';\r\n\r\ninterface TimeInputProps {\r\n date?: Date;\r\n timeOption?: TimeOption;\r\n label?: string;\r\n onChange: (value: DateTimeValue) => void;\r\n}\r\n\r\nconst OptionsList = [\r\n { label: \"Any time\", value: TimeOption.AnyTime },\r\n { label: \"Select time\", value: TimeOption.CustomTime },\r\n];\r\n\r\nexport function TimeInput({\r\n onChange,\r\n date,\r\n timeOption,\r\n label,\r\n}: TimeInputProps) {\r\n const selectedDate = date ? moment(date) : moment();\r\n\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n const customTimeMode = timeOption === TimeOption.CustomTime;\r\n\r\n const inputValue = customTimeMode\r\n ? moment(selectedDate).format(constants.timeFormat)\r\n : dateTimeFilterConstants.anyTimeTitle;\r\n\r\n const handleModeChange = (timeOption: TimeOption) => {\r\n onChange({\r\n date: timeOption === TimeOption.CustomTime\r\n ? selectedDate.startOf('day').toDate()\r\n : selectedDate.toDate(),\r\n timeOption,\r\n });\r\n };\r\n\r\n const handleTimeChange = (date: Moment) => {\r\n onChange({\r\n date: date.toDate(),\r\n timeOption: TimeOption.CustomTime,\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n setIsOpen(false)}\r\n >\r\n setIsOpen(true)}\r\n readOnly\r\n type=\"text\"\r\n value={inputValue}\r\n placeholder=\"Placeholder\"\r\n />\r\n {isOpen && (\r\n
\r\n
\r\n \r\n
\r\n {customTimeMode && (\r\n \r\n \r\n document.getElementById(\"pop-cngt-t\")\r\n }\r\n showSecond={false}\r\n minuteStep={15}\r\n use12Hours\r\n format={constants.timeFormat}\r\n focusOnOpen={true}\r\n value={selectedDate}\r\n onChange={handleTimeChange}\r\n open\r\n />\r\n
\r\n )}\r\n
\r\n )}\r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport moment from \"moment\";\r\nimport classnames from \"classnames\";\r\nimport MaskedInput from \"react-text-mask\";\r\nimport { TimeInput } from './TimeInput';\r\nimport { dateTimeFilterConstants } from \"./constants\";\r\nimport { DateTimeValue } from '../../../../types/filters/DateTimeValue';\r\nimport { filterUtils } from '../../../../utils/filtering/filter.utils';\r\nimport { TimeOption } from '../../../../types/filters/TimeOption';\r\n\r\ninterface DateTimeInputProps {\r\n label: string;\r\n value?: DateTimeValue;\r\n minYear: number;\r\n errorMessage?: string;\r\n onChange: (value: DateTimeValue) => void;\r\n onError: () => void;\r\n}\r\n\r\nconst DateFormat = \"MM/DD/YYYY\";\r\nconst DateMask = [/\\d/, /\\d/, \"/\", /\\d/, /\\d/, \"/\", /\\d/, /\\d/, /\\d/, /\\d/];\r\n\r\nexport function DateTimeInput({\r\n label,\r\n value,\r\n minYear,\r\n errorMessage,\r\n onChange,\r\n onError,\r\n}: DateTimeInputProps) {\r\n const [timeOption, setTimeOption] = useState(value?.timeOption || TimeOption.AnyTime);\r\n const [inputValue, setInputValue] = useState();\r\n\r\n const [error, setError] = useState();\r\n\r\n useEffect(() => {\r\n setTimeOption(value?.timeOption || TimeOption.AnyTime);\r\n setInputValue(value?.date ? moment(value.date).format(DateFormat) : '');\r\n }, [value]);\r\n\r\n useEffect(() => {\r\n const dateMoment = moment(inputValue, DateFormat, true);\r\n const error = inputValue && filterUtils.validateDate(minYear, dateMoment.toDate());\r\n\r\n if (errorMessage) {\r\n onError();\r\n }\r\n\r\n setError(errorMessage || error);\r\n }, [errorMessage, onError, inputValue, minYear])\r\n\r\n\r\n const handleDateChange = (e: React.ChangeEvent) => {\r\n const value = e.target.value;\r\n setInputValue(value);\r\n\r\n const dateMoment = moment(value, DateFormat, true);\r\n\r\n if (dateMoment.isValid()) {\r\n const newValue = {\r\n date: dateMoment.toDate(),\r\n timeOption,\r\n };\r\n\r\n onChange(newValue);\r\n }\r\n\r\n const error = filterUtils.validateDate(minYear, dateMoment.toDate());\r\n setError(error);\r\n\r\n if (error) {\r\n onError();\r\n }\r\n };\r\n\r\n const handleTimeChange = (value: DateTimeValue) => {\r\n setTimeOption(value.timeOption);\r\n setError(undefined);\r\n onChange(value);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n {error &&
{error}
}\r\n
\r\n \r\n
\r\n );\r\n}\r\n","import moment from 'moment';\r\nimport { DateTimeValue } from '../../../../types/filters/DateTimeValue';\r\nimport { TimeOption } from '../../../../types/filters/TimeOption';\r\n\r\nexport const replicateTimeToDate = (date: Date, previousValue?: Date) => {\r\n if (!previousValue) {\r\n return date;\r\n }\r\n\r\n const previousParsedTime = moment(previousValue)\r\n\r\n return moment(date).set({\r\n hour: previousParsedTime.get('hour'),\r\n minute: previousParsedTime.get('minute'),\r\n second: previousParsedTime.get('second'),\r\n }).toDate();\r\n}\r\n\r\nexport const alignDayTime = (value?: DateTimeValue, endOfDay = false) => {\r\n if (!value) {\r\n return value;\r\n }\r\n\r\n const { timeOption } = value;\r\n let date: Date | undefined = undefined;\r\n\r\n if (value.date) {\r\n const exactTime = moment(value.date).startOf('minute').toDate();\r\n const edgeTime = endOfDay\r\n ? moment(value.date).endOf('day').toDate()\r\n : moment(value.date).startOf('day').toDate();\r\n\r\n date = timeOption === TimeOption.AnyTime ? edgeTime : exactTime\r\n }\r\n\r\n return {\r\n timeOption,\r\n date\r\n } as DateTimeValue;\r\n}\r\n","import React, { useEffect, useState } from 'react';\r\nimport { DateTimeInput } from './DateTimeInput';\r\nimport { DateTimeValue } from '../../../../types/filters/DateTimeValue';\r\nimport { CustomDateRangePicker } from '../../date-range-custon-view/CustomDateRangePicker';\r\nimport { TimeOption } from '../../../../types/filters/TimeOption';\r\nimport { DateRange } from 'react-day-picker';\r\nimport { alignDayTime } from './utils';\r\nimport { errorMessages } from '../../../../constants';\r\n\r\ninterface DateTimeRangeSelectorProps {\r\n valueFrom?: DateTimeValue;\r\n valueTo?: DateTimeValue;\r\n minSelectYear?: number;\r\n onChange: (from?: DateTimeValue, to?: DateTimeValue) => void;\r\n onError: () => void;\r\n}\r\n\r\nexport function DateTimeRangeSelector({\r\n valueFrom,\r\n valueTo,\r\n minSelectYear = 2010,\r\n onChange,\r\n onError,\r\n}: DateTimeRangeSelectorProps) {\r\n const [internalFromValue, setInternalFromValue] = useState(valueFrom);\r\n const [internalToValue, setInternalToValue] = useState(valueTo);\r\n const [errorFrom, setErrorFrom] = useState('');\r\n\r\n useEffect(() => {\r\n setInternalFromValue(valueFrom);\r\n setInternalToValue(valueTo);\r\n }, [valueFrom, valueTo]);\r\n\r\n const handleTimeFromChange = (value: DateTimeValue) => {\r\n setInternalFromValue(value);\r\n if (internalToValue) {\r\n if (value.date > internalToValue.date) {\r\n setErrorFrom(errorMessages.fromDateBiggerThenToDate)\r\n onChange(alignDayTime(value), alignDayTime(internalToValue, true));\r\n return;\r\n }\r\n onChange(alignDayTime(value), alignDayTime(internalToValue, true));\r\n setErrorFrom('');\r\n }\r\n };\r\n\r\n const handleTimeToChange = (value: DateTimeValue) => {\r\n setInternalToValue(value);\r\n\r\n if (internalFromValue) {\r\n if (value.date < internalFromValue.date) {\r\n setErrorFrom(errorMessages.fromDateLaterThenToDate);\r\n onChange(alignDayTime(internalFromValue), alignDayTime(value, true));\r\n return;\r\n }\r\n onChange(alignDayTime(internalFromValue), alignDayTime(value, true));\r\n setErrorFrom('' );\r\n }\r\n };\r\n\r\n const handleDateChange = (range: DateRange) => {\r\n let newFromState = internalFromValue;\r\n let newToState = internalToValue;\r\n\r\n if (range.from) {\r\n newFromState = {\r\n date: range.from,\r\n timeOption: internalFromValue?.timeOption || TimeOption.AnyTime,\r\n };\r\n\r\n setInternalFromValue(newFromState);\r\n } else {\r\n newFromState = undefined;\r\n }\r\n\r\n if (range.to) {\r\n newToState = {\r\n date: range.to,\r\n timeOption: internalToValue?.timeOption || TimeOption.AnyTime,\r\n };\r\n\r\n setInternalToValue(newToState);\r\n } else {\r\n newToState = undefined;\r\n }\r\n\r\n onChange(alignDayTime(newFromState), alignDayTime(newToState, true));\r\n setErrorFrom('');\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n}\r\n","import React, { useEffect, useState } from 'react';\r\nimport { CustomDatePicker } from '../../date-range-custon-view/CustomDatePicker';\r\nimport { DateTimeInput } from './DateTimeInput';\r\nimport { DateTimeValue } from '../../../../types/filters/DateTimeValue';\r\nimport { TimeOption } from '../../../../types/filters/TimeOption';\r\nimport { alignDayTime, replicateTimeToDate } from './utils';\r\n\r\ninterface DateTimeSelectorProps {\r\n value?: DateTimeValue;\r\n minSelectYear?: number;\r\n onChange: (from?: DateTimeValue, to?: DateTimeValue) => void;\r\n onError: () => void;\r\n}\r\n\r\nexport function DateTimeSelector({\r\n value,\r\n minSelectYear = 2010,\r\n onChange,\r\n onError,\r\n}: DateTimeSelectorProps) {\r\n const [internalValue, setInternalValue] = useState(value);\r\n\r\n useEffect(() => {\r\n setInternalValue(value);\r\n }, [value]);\r\n\r\n const handleTimeChange = (value?: DateTimeValue) => {\r\n setInternalValue(value);\r\n onChange(alignDayTime(value), alignDayTime(value, true));\r\n };\r\n\r\n const handleDateChange = (date: Date) => {\r\n const newState = {\r\n date: replicateTimeToDate(date, internalValue?.date),\r\n timeOption: internalValue?.timeOption || TimeOption.AnyTime,\r\n };\r\n\r\n setInternalValue(newState);\r\n onChange(alignDayTime(newState), alignDayTime(newState, true));\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n}\r\n","import React, { useEffect, useState } from 'react';\r\nimport moment from 'moment';\r\nimport { isNil } from 'lodash';\r\nimport { ClickOutside } from '../../ClickOutside';\r\nimport classnames from 'classnames';\r\nimport { dateTimeRangeFilterOptions as options } from '../../../../constants/date-range.filter';\r\nimport { FilterDropDown } from '../FilterDropDown';\r\nimport { ExpandClearToggle } from '../ExpandClearToggle';\r\nimport { getRangeFromDateTimeOption } from '../../../../utils/amr-pipeline.utils';\r\nimport { DateTimeFilterOption } from '../../../../types/filters/DateTimeFilterOption';\r\nimport { DateTimeRange } from '../../../../types/filters/DateTimeRange';\r\nimport classNames from 'classnames';\r\nimport { DateTimeValue } from '../../../../types/filters/DateTimeValue';\r\nimport { TimeOption } from '../../../../types/filters/TimeOption';\r\nimport { DateTimeRangeSelector } from './DateTimeRangeSelector';\r\nimport { DateTimeSelector } from './DateTimeSelector';\r\nimport { dateTimeFilterConstants } from './constants';\r\n\r\ninterface FilterDateTimeRangeProps {\r\n acceptableOptions?: DateTimeFilterOption[];\r\n defaultExpanded?: boolean;\r\n selectedFilterOption?: DateTimeFilterOption;\r\n value?: DateTimeRange;\r\n minSelectYear?: number;\r\n formatTitle?: boolean;\r\n onSelectedDateChange: (option: DateTimeFilterOption) => {};\r\n onCustomDateChange: (option: DateTimeRange) => {};\r\n title: string;\r\n onClearAll: () => void;\r\n isApplied?: boolean;\r\n disabled?: boolean;\r\n}\r\n\r\nconst DateFormat = 'MM/DD/YYYY';\r\nconst DateTimeFormat = 'MM/DD/YYYY, hh:mm A';\r\nconst EmptyValue = { from: undefined, to: undefined } as DateTimeFilterOption;\r\n\r\nexport function FilterDateTimeRange({\r\n acceptableOptions = options.rollerDeadline(),\r\n defaultExpanded = false,\r\n selectedFilterOption,\r\n value,\r\n onSelectedDateChange,\r\n onCustomDateChange,\r\n formatTitle = true,\r\n title,\r\n onClearAll,\r\n minSelectYear = 2010,\r\n isApplied = false,\r\n disabled = false,\r\n}: FilterDateTimeRangeProps) {\r\n function getFilterOptions() {\r\n return acceptableOptions\r\n .map((option) => {\r\n const dateRange = getRangeFromDateTimeOption(option);\r\n\r\n if (!dateRange) {\r\n return option;\r\n }\r\n\r\n const { from, to } = dateRange;\r\n const fromTitle = from.date.format(DateFormat);\r\n const toTitle = to.date.format(DateFormat);\r\n\r\n return {\r\n ...option,\r\n selectedTitle: `${fromTitle} - ${toTitle}`,\r\n from: {\r\n ...from,\r\n date: from.date.toDate(),\r\n },\r\n to: {\r\n ...to,\r\n date: to.date.toDate(),\r\n },\r\n };\r\n });\r\n }\r\n\r\n const dateOptions: DateTimeFilterOption[] = getFilterOptions();\r\n const [expanded, setExpanded] = useState(defaultExpanded);\r\n\r\n const [internalValue, setInternalValue] = useState(value || EmptyValue);\r\n\r\n const [hasError, setHasError] = useState(false);\r\n\r\n const [selectedOption, setSelectedOption] = useState(selectedFilterOption?.key);\r\n\r\n useEffect(() => {\r\n setSelectedOption(selectedFilterOption?.key);\r\n }, [selectedFilterOption]);\r\n\r\n useEffect(() => {\r\n setInternalValue(value || EmptyValue);\r\n }, [value]);\r\n\r\n useEffect(() => {\r\n if (!internalValue.from && !internalValue.to && selectedFilterOption) {\r\n return handleClearAll();\r\n }\r\n\r\n if (!expanded) {\r\n setHasError(false);\r\n return;\r\n }\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [expanded]);\r\n\r\n const isFilterSelected = () => {\r\n if (!selectedFilterOption) {\r\n return false;\r\n }\r\n\r\n return !isNil(internalValue?.from) && !isNil(internalValue?.to);\r\n };\r\n\r\n const handleOptionChange = (option: DateTimeFilterOption) => {\r\n setSelectedOption(option.key);\r\n setInternalValue(option);\r\n onSelectedDateChange(option);\r\n setHasError(false);\r\n };\r\n\r\n const handleClearAll = () => {\r\n onClearAll();\r\n setSelectedOption(undefined);\r\n setInternalValue(EmptyValue);\r\n onCustomDateChange(EmptyValue);\r\n\r\n setHasError(false);\r\n };\r\n\r\n const formatDateTimeValue = (value: DateTimeValue) => {\r\n return value.timeOption === TimeOption.AnyTime\r\n ? moment(value.date).format(`${DateFormat} [${dateTimeFilterConstants.anyTimeTitle}]`)\r\n : moment(value.date).format(DateTimeFormat);\r\n }\r\n\r\n const handleDateRangeChange = (from?: DateTimeValue, to?: DateTimeValue) => {\r\n setInternalValue({ from, to });\r\n onCustomDateChange({ from, to });\r\n setHasError(false);\r\n };\r\n\r\n function renderOptions() {\r\n return dateOptions.map((option) => (\r\n handleOptionChange(option)}\r\n className={classNames({\r\n selected: option.key === selectedFilterOption?.key\r\n })}\r\n >\r\n {option.title}\r\n \r\n ));\r\n }\r\n\r\n function renderTitle() {\r\n const { from, to } = internalValue;\r\n\r\n if (!from || !to) {\r\n return formatTitle ? `${title}: All` : title;\r\n }\r\n\r\n const formattedFrom = formatDateTimeValue(from);\r\n const formattedTo = formatDateTimeValue(to);\r\n\r\n if (selectedFilterOption?.formatTitle) {\r\n return (\r\n <>\r\n {`${title}: `}\r\n {selectedFilterOption!.formatTitle(formattedFrom, formattedTo)}\r\n \r\n );\r\n }\r\n\r\n return selectedOption === options.DateWithTimePeriod.key\r\n ? `${title}: ${formattedFrom} - ${formattedTo}`\r\n : `${title}: ${formattedFrom}`;\r\n }\r\n\r\n const renderSelectors = () => {\r\n switch (selectedOption) {\r\n case options.DateWithTime.key:\r\n return (\r\n setHasError(true)}\r\n />\r\n );\r\n case options.DateWithTimePeriod.key:\r\n return (\r\n setHasError(true)}\r\n />\r\n );\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n const isSelected = isFilterSelected();\r\n\r\n const toggleExpand = disabled ? undefined : () => setExpanded(!expanded);\r\n\r\n return (\r\n setExpanded(false)}\r\n >\r\n \r\n
\r\n {renderTitle()}\r\n
\r\n \r\n \r\n {expanded && (\r\n 1,\r\n },\r\n {\r\n \"control-filter-content-datepicker\":\r\n selectedOption === options.DateWithTimePeriod.key ||\r\n selectedOption === options.DateWithTime.key\r\n },\r\n {\r\n \"control-filter-content-single-date\":\r\n selectedOption === options.DateWithTime.key,\r\n }\r\n )}\r\n expanded={expanded}\r\n value={value}\r\n >\r\n
\r\n \r\n Reset to default\r\n \r\n\r\n {dateOptions.length > 1 && (\r\n
    \r\n {renderOptions()}\r\n
\r\n )}\r\n
\r\n {renderSelectors()}\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport classNames from 'classnames';\r\n\r\ninterface Props {\r\n children: React.ReactNode;\r\n className: string;\r\n expanded: boolean;\r\n value?: any;\r\n}\r\n\r\nexport function FilterDropDown({children, className, expanded, value }: Props) {\r\n const filterDropDownRef = React.useRef(null);\r\n\r\n React.useEffect(() => {\r\n if (expanded && filterDropDownRef != null && filterDropDownRef.current) {\r\n const bounding = filterDropDownRef.current.getBoundingClientRect();\r\n\r\n if (bounding.left < 0) {\r\n // Left side is out of viewoprt\r\n filterDropDownRef.current.style.right = \"auto\";\r\n filterDropDownRef.current.style.left = \"0px\";\r\n delete filterDropDownRef.current.dataset.turnRight;\r\n }\r\n\r\n if (bounding.right > (window.innerWidth || document.documentElement.clientWidth)) {\r\n // Right side is out of viewport\r\n filterDropDownRef.current.style.right = \"0px\";\r\n filterDropDownRef.current.style.left = \"auto\";\r\n filterDropDownRef.current.dataset.turnRight = \"\";\r\n }\r\n }\r\n }, [expanded, className, value]);\r\n\r\n return (\r\n
e.stopPropagation()}\r\n >\r\n {children}\r\n
\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport { kebabCase } from 'lodash';\r\nimport { RadioOption } from '../../../types/filters/RadioOption';\r\nimport { ClickOutside } from '../../common/';\r\nimport { RadioButtonGroup } from '../../controls';\r\nimport classNames from 'classnames';\r\nimport { EmptyPlaceholder } from '../../common';\r\nimport { FilterDropDown } from './FilterDropDown';\r\nimport { ExpandClearToggle } from './ExpandClearToggle';\r\n\r\nexport interface FilterRadioProps {\r\n options: RadioOption[];\r\n value?: FilterType;\r\n defaultExpanded?: boolean;\r\n title: string | React.ReactNode;\r\n formatTitle?: boolean;\r\n onChangeItemSelection: (i: RadioOption) => void;\r\n onClearAll?: () => void;\r\n className?: string;\r\n isApplied?: boolean;\r\n disabled?: boolean;\r\n}\r\n\r\nexport function FilterRadio({\r\n options,\r\n value,\r\n defaultExpanded = false,\r\n title,\r\n onChangeItemSelection,\r\n formatTitle = true,\r\n onClearAll,\r\n className,\r\n isApplied = false,\r\n disabled = false\r\n}: FilterRadioProps) {\r\n const radioOptions = [\r\n {\r\n text: \"All\",\r\n value: null,\r\n },\r\n ...options,\r\n ];\r\n const [expanded, setExpanded] = useState(defaultExpanded);\r\n const selectedOption = radioOptions.find(o => o.value === value);\r\n const isOptionSelected = !!selectedOption && selectedOption.value !== null;\r\n\r\n function renderTitle() {\r\n if (!formatTitle) {\r\n return title;\r\n }\r\n\r\n if (selectedOption) {\r\n return <>\r\n {title}: {selectedOption.text}\r\n ;\r\n }\r\n\r\n return `${title}: All`;\r\n }\r\n\r\n function renderOptions() {\r\n if (!options.length) return ;\r\n\r\n return (\r\n ({ label: o.text, value: o.value }))}\r\n value={selectedOption?.value}\r\n onChange={(value: any) => onChangeItemSelection(value)}\r\n disabled={false}\r\n />\r\n );\r\n }\r\n\r\n function renderClearSelectTrigger() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n setExpanded(false)}>\r\n setExpanded(!expanded)}\r\n >\r\n {renderTitle()}\r\n setExpanded(!expanded)} onClear={onClearAll} />\r\n \r\n {!disabled && expanded && (\r\n \r\n {onClearAll && renderClearSelectTrigger()}\r\n {renderOptions()}\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport MaskedInput from \"react-text-mask\";\r\nimport { createNumberMask } from 'text-mask-addons';\r\nimport { formatUtils, numericUtils } from \"../../utils\";\r\n\r\nconst decimalDelimiter = \".\";\r\n\r\nexport interface NumberMaskOptions {\r\n prefix: string;\r\n suffix: string;\r\n includeThousandsSeparator: boolean;\r\n thousandsSeparatorSymbol: string;\r\n allowDecimal: boolean;\r\n decimalSymbol: string;\r\n decimalLimit: number;\r\n requireDecimal: boolean;\r\n allowNegative: boolean;\r\n allowLeadingZeroes: boolean;\r\n integerLimit: number | null;\r\n}\r\n\r\ninterface Props extends React.InputHTMLAttributes {\r\n integerLimit?: number | null;\r\n decimalLimit: number; \r\n onValueChange?: (value?: string) => void;\r\n}\r\n\r\nexport function DecimalMaskedInput({ integerLimit, decimalLimit, placeholder, value, onValueChange, ...rest }: Props) {\r\n const mask = createNumberMask({\r\n prefix: '',\r\n allowDecimal: true,\r\n includeThousandsSeparator: false,\r\n integerLimit,\r\n decimalLimit\r\n });\r\n\r\n const handleKeyDown = (e: React.KeyboardEvent) => {\r\n const { selectionStart, selectionEnd, value } = e.currentTarget;\r\n\r\n if (typeof selectionStart === \"number\" && typeof selectionEnd === \"number\") {\r\n const decimalDelimiterIndex = value.indexOf(decimalDelimiter);\r\n const integerPart = value.slice(0, decimalDelimiterIndex);\r\n const decimalPart = value.slice(decimalDelimiterIndex, value.length);\r\n\r\n const formatValue = (intValue: string) => formatUtils.formatDecimal(Number(intValue + decimalPart))\r\n\r\n const changeSelect = (pointerPosition: number) => e.currentTarget.setSelectionRange(pointerPosition, pointerPosition);\r\n\r\n switch (e.key) {\r\n case \"Backspace\":\r\n if (!Number(value)) {\r\n return onValueChange?.(\"\");\r\n }\r\n const backspaceSelectionIndex = selectionEnd - 1;\r\n if (backspaceSelectionIndex === decimalDelimiterIndex) {\r\n e.preventDefault();\r\n changeSelect(backspaceSelectionIndex);\r\n } else if (!backspaceSelectionIndex && integerPart.length === 1) {\r\n e.preventDefault();\r\n onValueChange?.(formatValue(\"0\"));\r\n }\r\n break;\r\n case decimalDelimiter:\r\n e.preventDefault();\r\n if (!selectionStart && !value) {\r\n e.currentTarget.value = \"0.00\";\r\n onValueChange?.(formatValue(\"0\"));\r\n changeSelect(2);\r\n } else {\r\n changeSelect(decimalDelimiterIndex + 1);\r\n }\r\n\r\n break;\r\n case \"Delete\":\r\n case \"Del\":\r\n if (!Number(value)) {\r\n return onValueChange?.(\"\");\r\n }\r\n if (selectionStart === decimalDelimiterIndex) {\r\n e.preventDefault();\r\n changeSelect(selectionStart + 1);\r\n }\r\n break;\r\n default:\r\n const selection = selectionEnd - selectionStart;\r\n const selectAll = Boolean(selection) && selection === value.length;\r\n const integerPartSelected = Boolean(selection) && selection === integerPart.length\r\n const stopEvent = !selectionStart && !integerPartSelected && !selectAll && e.key === \"0\" && +value;\r\n if (stopEvent) {\r\n e.preventDefault();\r\n return;\r\n }\r\n\r\n if (numericUtils.isNumber(e.key)) {\r\n if (selectionStart === 1 && !+integerPart) {\r\n e.preventDefault();\r\n onValueChange?.(formatValue(e.key));\r\n }\r\n if (\r\n selectionStart > decimalDelimiterIndex &&\r\n e.key === value[selectionStart] &&\r\n (e.key === value[selectionStart + 1] ||\r\n value[selectionStart + 1] === undefined)\r\n ) {\r\n changeSelect(selectionStart + 1);\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n };\r\n\r\n return \r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport MaskedInput from \"react-text-mask\";\r\nimport classNames from 'classnames';\r\nimport { FilterRangeOption } from \"../../../types/filters/FilterRangeOption\";\r\nimport { formatUtils, numericUtils } from \"../../../utils\";\r\nimport { ClickOutside } from \"../../common\";\r\nimport { constants, errorMessages } from \"../../../constants\";\r\nimport { FilterDropDown } from \"./FilterDropDown\";\r\nimport { ExpandClearToggle } from './ExpandClearToggle';\r\nimport { DecimalMaskedInput, NumberMaskOptions } from \"../../controls/DecimalMaskedInput\";\r\nimport { FormError } from \"../../controls\";\r\nimport { FormFieldLabel } from \"../../forms\";\r\nimport { createNumberMask } from \"text-mask-addons\";\r\n\r\ninterface Props {\r\n defaultExpanded?: boolean;\r\n disabled?: boolean;\r\n options: FilterRangeOption;\r\n title: string | React.ReactNode;\r\n onChangeRange: (i: FilterRangeOption) => void;\r\n onClearAll?: () => void;\r\n isApplied?: boolean;\r\n mask: Partial;\r\n}\r\n\r\nconst initialValues = { from: \"\", to: \"\" };\r\n\r\nexport function FilterRange({\r\n defaultExpanded = false,\r\n options,\r\n title,\r\n onChangeRange,\r\n onClearAll,\r\n isApplied = false,\r\n disabled = false,\r\n mask\r\n}: Props) {\r\n const { from, to, minValue, maxValue } = options;\r\n const [expanded, setExpanded] = useState(defaultExpanded);\r\n const [errors, setErrors] = useState(initialValues);\r\n\r\n const minRangeValue = Number(minValue ?? 0);\r\n const maxRangeValue = Number(maxValue);\r\n const selected = numericUtils.isNumber(from) || numericUtils.isNumber(to);\r\n const isResetDisabled = !(!!from || !!to);\r\n\r\n useEffect(() => {\r\n if (from || to) {\r\n if (!String(from)) {\r\n const newInputValues = { ...options, from: 0 };\r\n setErrors(initialValues);\r\n onChangeRange(newInputValues);\r\n } else if (!String(to) && maxRangeValue) {\r\n const newInputValues = { ...options, to: maxRangeValue };\r\n setErrors(initialValues);\r\n onChangeRange(newInputValues);\r\n }\r\n } // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [expanded]);\r\n\r\n useEffect(() => {\r\n if (\r\n (from == null || from === initialValues.from) &&\r\n (to == null || to === initialValues.to)) {\r\n setErrors(initialValues);\r\n }\r\n }, [from, to])\r\n\r\n function renderTitle() {\r\n return numericUtils.isNumber(from) || numericUtils.isNumber(to)\r\n ? `${title}:\r\n ${formatUtils.formatDecimal(Number(from || minRangeValue) || 0, mask.decimalLimit || 0)} -\r\n ${formatUtils.formatDecimal(Number(to || maxRangeValue) || 0, mask.decimalLimit || 0)}`\r\n : `${title}: All`;\r\n }\r\n\r\n function getPlaceholder(value?: number | string) {\r\n if (value != null && numericUtils.isNumber(value)) {\r\n if (typeof value === 'string') return value;\r\n\r\n return mask.allowDecimal && mask.decimalLimit\r\n ? formatUtils.formatDecimal(Number(value), mask.decimalLimit)\r\n : String(value);\r\n }\r\n\r\n return '';\r\n }\r\n\r\n function renderInput(key: string, value?: number | string, placeholder?: string, hasError: boolean = false) {\r\n const className = classNames('form-control', { 'is-invalid': hasError });\r\n\r\n if (mask.allowDecimal) {\r\n return onChangeRange({ ...options, [key]: value })}\r\n onChange={handleInputChange}\r\n />\r\n }\r\n\r\n return \r\n }\r\n\r\n function handleInputChange(e: React.ChangeEvent) {\r\n let newInputValues = {\r\n ...options,\r\n [e.target.name]: e.target.value\r\n };\r\n const { from, to } = newInputValues;\r\n\r\n setErrors(initialValues);\r\n\r\n if (from && to && Number(from) > Number(to)) {\r\n setErrors({ from: errorMessages.fromRangeBiggerThenToRange, to: '' });\r\n }\r\n\r\n if (Number(from) < minRangeValue)\r\n newInputValues.from = minRangeValue;\r\n else if (Number(from) > maxRangeValue)\r\n newInputValues.from = maxRangeValue;\r\n\r\n if (Number(to) < minRangeValue)\r\n newInputValues.to = minRangeValue;\r\n else if (Number(to) > maxRangeValue)\r\n newInputValues.to = maxRangeValue;\r\n\r\n onChangeRange(newInputValues);\r\n }\r\n\r\n function handleClearAll() {\r\n setErrors(initialValues);\r\n onClearAll && onClearAll();\r\n }\r\n\r\n return (\r\n setExpanded(false)}>\r\n setExpanded(!expanded)}\r\n >\r\n {renderTitle()}\r\n setExpanded(!expanded)}\r\n onClear={onClearAll}\r\n />\r\n \r\n {!disabled && expanded && (\r\n \r\n \r\n Reset to default\r\n \r\n
\r\n
\r\n \r\n {renderInput(\"from\", from, getPlaceholder(minValue ?? 0), Boolean(errors.from))}\r\n \r\n
\r\n {constants.emptyPlaceholder}\r\n
\r\n \r\n {renderInput(\"to\", to, getPlaceholder(maxValue ?? 0), Boolean(errors.to))}\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { kebabCase, noop } from 'lodash';\r\nimport { FilterOption } from \"../../../types/filters/FilterOption\";\r\nimport { ClickOutside, SearchInput } from \"../../common/\";\r\nimport { Checkbox } from \"../../controls/Checkbox\";\r\nimport classNames from 'classnames';\r\nimport { EmptyPlaceholder } from \"../../common\";\r\nimport { FilterDropDown } from \"./FilterDropDown\";\r\nimport { DropDownButton } from '../../controls/DropDownButton';\r\nimport { FilterButton } from './FilterButton';\r\nimport { BlockedFeatureContext } from \"../../access/BlockedFeatureContext\";\r\n\r\ninterface Props {\r\n defaultExpanded?: boolean;\r\n options: FilterOption[];\r\n title: string | React.ReactNode;\r\n withSearch?: boolean;\r\n formatTitle?: boolean;\r\n multiply?: boolean;\r\n className?: string;\r\n closeOnSelect?: boolean;\r\n isApplied?: boolean;\r\n isChanged?: boolean;\r\n withExpandToggle?: boolean;\r\n disabled?: boolean;\r\n buttonView?: 'filter' | 'chart';\r\n onChangeItemSelection: (item: FilterOption, checked: boolean) => void;\r\n onClearAll?: () => void;\r\n onSelectAll?: (searchTerm: string) => void;\r\n}\r\n\r\nexport function FilterSelect({\r\n isApplied = false,\r\n defaultExpanded = false,\r\n options,\r\n title,\r\n withSearch,\r\n formatTitle = true,\r\n closeOnSelect = false,\r\n className,\r\n withExpandToggle = true,\r\n disabled = false,\r\n buttonView = 'filter',\r\n onChangeItemSelection,\r\n onSelectAll,\r\n onClearAll,\r\n}: Props) {\r\n const [expanded, setExpanded] = useState(defaultExpanded);\r\n const [searchTerm, setSearchTerm] = useState(\"\");\r\n const selectedOptions = options.filter((o) => o.selected);\r\n const selected = !!selectedOptions.length;\r\n\r\n const isFeatureBlocked = React.useContext(BlockedFeatureContext);\r\n\r\n function handleSearchTermChange(value: string) {\r\n setSearchTerm(value);\r\n }\r\n\r\n function handleClear() {\r\n setSearchTerm('')\r\n }\r\n\r\n function handleSelectAll() {\r\n onSelectAll && onSelectAll(searchTerm);\r\n }\r\n\r\n function handleSelectItem(item: FilterOption, checked: boolean) {\r\n onChangeItemSelection(item, checked);\r\n\r\n if (closeOnSelect && !item.selected) {\r\n setExpanded(false);\r\n }\r\n }\r\n\r\n function renderTitle() {\r\n const numberOfSelectedOptions = selectedOptions.length;\r\n if (formatTitle) {\r\n if (numberOfSelectedOptions === 1)\r\n return <>\r\n {title}: {selectedOptions[0].text}\r\n ;\r\n else if (\r\n numberOfSelectedOptions > 1 &&\r\n numberOfSelectedOptions < options.length\r\n )\r\n return <>\r\n {title}: {`${numberOfSelectedOptions} selected`}\r\n ;\r\n else return `${title}: All`;\r\n }\r\n return title;\r\n }\r\n\r\n function getFilteredItems() {\r\n const searchTermLowerCase = searchTerm.trim().toLowerCase();\r\n return options.filter((o) =>\r\n o.text.toLowerCase().includes(searchTermLowerCase)\r\n );\r\n }\r\n\r\n function renderLookup() {\r\n const filteredOptions = searchTerm.length\r\n ? getFilteredItems()\r\n : options;\r\n\r\n if (!filteredOptions.length) return ;\r\n\r\n return (\r\n
    \r\n {filteredOptions.map((o) => (\r\n
  • \r\n handleSelectItem(o, !o.selected)}\r\n />\r\n
  • \r\n ))}\r\n
\r\n );\r\n }\r\n\r\n function renderClearSelectTrigger() {\r\n const filteredOptions = searchTerm.length\r\n ? getFilteredItems()\r\n : options;\r\n\r\n if (!filteredOptions.length || (!onClearAll && !onSelectAll)) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n function renderSelectedItems() {\r\n if (!selectedOptions.length) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n {selectedOptions.map((i) => (\r\n
  • \r\n onChangeItemSelection(i, !i.selected)}\r\n />\r\n
  • \r\n ))}\r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n function renderDropDown() {\r\n return (\r\n \r\n {withSearch ? (\r\n <>\r\n \r\n {renderClearSelectTrigger()}\r\n {renderSelectedItems()}\r\n \r\n ) : (\r\n renderClearSelectTrigger()\r\n )}\r\n\r\n {renderLookup()}\r\n \r\n );\r\n }\r\n\r\n function renderFilterView() {\r\n return (\r\n <>\r\n \r\n {!disabled && !isFeatureBlocked && expanded && renderDropDown()}\r\n \r\n );\r\n }\r\n\r\n function renderChartView() {\r\n return (\r\n \r\n {renderDropDown()}\r\n \r\n );\r\n }\r\n\r\n return (\r\n setExpanded(false)}\r\n >\r\n {buttonView === 'filter' && renderFilterView()}\r\n {buttonView === 'chart' && renderChartView()}\r\n \r\n );\r\n}\r\n","import { useEffect, useState } from 'react';\r\nimport moment from 'moment';\r\nimport { isNil } from 'lodash';\r\nimport MaskedInput from 'react-text-mask';\r\nimport { createNumberMask } from 'text-mask-addons';\r\nimport { DateFilterOption } from '../../../types/filters/DateFilterOption';\r\nimport { DateRange } from '../../../types/filters/DateRange';\r\nimport { dateRangeFilterOptions } from '../../../constants/date-range.filter';\r\nimport { getRangeFromDateOption } from '../../../utils/amr-pipeline.utils';\r\nimport classnames from 'classnames';\r\nimport { ExpandClearToggle } from './ExpandClearToggle';\r\nimport { ClickOutside } from '../ClickOutside';\r\nimport { FilterDropDown } from './FilterDropDown';\r\nimport classNames from 'classnames';\r\nimport { validateYear } from '../../../utils/amr-pipeline-filter.utils';\r\n\r\ninterface FilterDateTimeRangeProps {\r\n acceptableOptions?: DateFilterOption[];\r\n defaultExpanded?: boolean;\r\n selectedFilterOption?: DateFilterOption;\r\n value?: DateRange;\r\n minYear?: number;\r\n maxYear?: number;\r\n formatTitle?: boolean;\r\n onSelectedDateChange: (option: DateFilterOption) => {};\r\n onCustomDateChange: (option: DateRange) => {};\r\n title: string;\r\n onClearAll: () => void;\r\n isApplied?: boolean;\r\n}\r\n\r\nconst DateFormat = 'YYYY';\r\nconst EmptyValue = { from: undefined, to: undefined }\r\n\r\nexport function FilterYearsDateRange({\r\n acceptableOptions = dateRangeFilterOptions.vintage(),\r\n defaultExpanded = false,\r\n selectedFilterOption,\r\n value,\r\n onSelectedDateChange,\r\n onCustomDateChange,\r\n formatTitle = true,\r\n title,\r\n onClearAll,\r\n minYear = 2010,\r\n maxYear = moment().year(),\r\n isApplied = false,\r\n}: FilterDateTimeRangeProps) {\r\n function getFilterOptions() {\r\n return acceptableOptions.map(option => {\r\n const dateRange = getRangeFromDateOption(option);\r\n\r\n if (!dateRange) {\r\n return option;\r\n }\r\n\r\n const { from, to } = dateRange;\r\n const fromTitle = from?.year();\r\n const toTitle = to?.year();\r\n\r\n const selectedTitle = fromTitle === toTitle ? `${fromTitle}` : `${fromTitle} - ${toTitle}`;\r\n\r\n return {\r\n ...option,\r\n selectedTitle,\r\n from: from?.toDate(),\r\n to: to?.toDate(),\r\n };\r\n });\r\n }\r\n\r\n const dateOptions: DateFilterOption[] = getFilterOptions();\r\n const [expanded, setExpanded] = useState(defaultExpanded);\r\n\r\n const [internalValue, setInternalValue] = useState(value as DateFilterOption);\r\n\r\n const [error, setError] = useState({ from: '', to: '' });\r\n\r\n const [selectedOption, setSelectedOption] = useState(selectedFilterOption?.key);\r\n\r\n useEffect(() => {\r\n setSelectedOption(selectedFilterOption?.key);\r\n }, [selectedFilterOption]);\r\n\r\n useEffect(() => {\r\n const fromYear = moment(value?.from, DateFormat).year().toString();\r\n const toYear = moment(value?.to, DateFormat).year().toString();\r\n\r\n setInternalValue(prevState => ({\r\n ...prevState,\r\n ...(value?.from && { from: moment(value.from).format(DateFormat) }),\r\n ...(value?.to && { to: moment(value.to).format(DateFormat) }),\r\n }));\r\n\r\n setError({ from: validateYear(fromYear) || validateRange(value!), to: validateYear(toYear) });\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [value]);\r\n\r\n useEffect(() => {\r\n const { to, from } = internalValue;\r\n\r\n if (!from && !to && selectedFilterOption) {\r\n return handleClearAll();\r\n }\r\n\r\n if (from || to) {\r\n if (!from) {\r\n const newDateValues = {\r\n to: moment(to, DateFormat).endOf('year').toDate(),\r\n from: moment(to, DateFormat).toDate(),\r\n };\r\n setInternalValue({ ...internalValue, from: to });\r\n\r\n onCustomDateChange(newDateValues);\r\n }\r\n if (!to) {\r\n const newDateValues = {\r\n to: moment(from, DateFormat).endOf('year').toDate(),\r\n from: moment(from, DateFormat).toDate(),\r\n };\r\n setInternalValue({ ...internalValue, to: from });\r\n\r\n onCustomDateChange(newDateValues);\r\n }\r\n }\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [expanded]);\r\n\r\n const isFilterSelected = () => {\r\n if (!selectedFilterOption) {\r\n return false;\r\n }\r\n\r\n return !isNil(internalValue?.from) && !isNil(internalValue?.to);\r\n };\r\n\r\n const handleOptionChange = (option: DateFilterOption) => {\r\n setSelectedOption(option.key);\r\n setInternalValue(option);\r\n onSelectedDateChange(option);\r\n\r\n const from = option.from ? new Date(option.from) : null;\r\n const to = option.to ? new Date(option.to) : null;\r\n\r\n onCustomDateChange({ from, to });\r\n };\r\n\r\n const handleClearAll = () => {\r\n onClearAll();\r\n setSelectedOption(undefined);\r\n setInternalValue(EmptyValue as DateFilterOption);\r\n onCustomDateChange(EmptyValue);\r\n\r\n setError({ from: '', to: '' });\r\n };\r\n\r\n const validateRange = (range: DateFilterOption | DateRange) => {\r\n if (range.from && range.to) {\r\n const from = moment(range.from, DateFormat).year();\r\n const to = moment(range.to, DateFormat).year();\r\n\r\n if (from > to) {\r\n return 'From year must be less than To year';\r\n }\r\n }\r\n\r\n return '';\r\n }\r\n\r\n const handleYearsFromChange = (from?: string) => {\r\n setInternalValue({ ...internalValue, from });\r\n\r\n if (from?.length === 4) {\r\n const errorFrom = validateYear(from) || validateRange(internalValue);\r\n\r\n const fromDate = moment(from, DateFormat).toDate();\r\n onCustomDateChange({ from: fromDate, to: value?.to });\r\n setError({ ...error, from: errorFrom });\r\n } else if(from?.length === 0) {\r\n setError({ ...error, from: '' });\r\n }\r\n };\r\n\r\n const handleYearsToChange = (to?: string) => {\r\n setInternalValue({ ...internalValue, to });\r\n\r\n if (to?.length === 4) {\r\n const errorTo = validateYear(to);\r\n\r\n const toDate = moment(to, DateFormat).endOf('year').toDate();\r\n onCustomDateChange({ from: value?.from, to: toDate });\r\n setError({ ...error, to: errorTo });\r\n }\r\n };\r\n\r\n function renderOptions() {\r\n return dateOptions.map(option => (\r\n handleOptionChange(option)}\r\n className={classNames({\r\n selected: option.key === selectedFilterOption?.key,\r\n })}\r\n >\r\n {option.title}\r\n \r\n ));\r\n }\r\n\r\n function renderTitle() {\r\n const { from, to } = value!;\r\n const selectedFilterOption = dateOptions.find(o => o.key === selectedOption);\r\n const selectedTitle = selectedFilterOption?.selectedTitle || selectedFilterOption?.title;\r\n\r\n if (!from || !to) {\r\n if (selectedFilterOption) {\r\n return `${title}: ${selectedTitle}`;\r\n }\r\n\r\n return formatTitle ? `${title}: All` : title;\r\n }\r\n\r\n const formattedFrom = moment(from).year();\r\n const formattedTo = moment(to).year();\r\n\r\n\r\n return selectedOption === dateRangeFilterOptions.Custom.key\r\n ? `${title}: ${formattedFrom} - ${formattedTo}`\r\n : selectedFilterOption?.formatTitle ? `${title}: ${selectedFilterOption?.formatTitle(selectedTitle)}` : `${title}: ${selectedTitle}`;\r\n }\r\n\r\n const renderCustomView = () => {\r\n const { from, to } = internalValue;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n handleYearsFromChange(e.target.value)}\r\n />\r\n {!!error.from &&
{error.from}
}\r\n {\r\n \r\n Year range: [{minYear} - {maxYear}]\r\n \r\n }\r\n
\r\n \r\n
\r\n \r\n handleYearsToChange(e.target.value)}\r\n />\r\n {!!error.to &&
{error.to}
}\r\n {\r\n \r\n Year range: [{minYear} - {maxYear}]\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n );\r\n };\r\n\r\n const isSelected = isFilterSelected();\r\n\r\n return (\r\n setExpanded(false)}>\r\n \r\n
setExpanded(!expanded)}>{renderTitle()}
\r\n setExpanded(!expanded)}\r\n onClear={handleClearAll}\r\n />\r\n \r\n {expanded && (\r\n 1,\r\n },\r\n {\r\n 'control-filter-content-datepicker': selectedOption === dateRangeFilterOptions.Custom.key,\r\n },\r\n )}\r\n expanded={expanded}\r\n value={value}\r\n >\r\n
\r\n \r\n\r\n {dateOptions.length > 1 &&
    {renderOptions()}
}\r\n
\r\n {selectedOption === dateRangeFilterOptions.Custom.key && renderCustomView()}\r\n \r\n )}\r\n
\r\n );\r\n}\r\n","import { useField } from 'formik';\r\nimport cn from 'classnames';\r\nimport { BaseFieldProps } from './InputField';\r\n\r\nexport const CheckboxField = ({ ...props }: BaseFieldProps) => {\r\n const [field] = useField({ name: props.name, type: 'checkbox' });\r\n\r\n return (\r\n
\r\n
\r\n e.stopPropagation()}\r\n >\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n}\r\n","import { BaseFieldProps, InputField } from \"./InputField\";\r\nimport { constants } from \"../../../constants/constants\";\r\nimport { DayPickerInput } from \"../../controls/DayPickerInput\";\r\nimport moment from \"moment\";\r\n\r\ninterface DateFieldProps extends BaseFieldProps {\r\n placeholder?: string;\r\n maximumDate?: Date;\r\n emptyIfNull?: boolean;\r\n dateFormat?: string;\r\n dateInputFormat?: string[];\r\n withCustomView?: boolean;\r\n disabled?: boolean;\r\n}\r\n\r\nexport const DateField = ({\r\n placeholder = \"MM/DD/YYYY\",\r\n maximumDate,\r\n emptyIfNull,\r\n dateFormat = constants.dateShortFormat,\r\n dateInputFormat = [constants.dateShortFormat, constants.dateFormat, constants.dateFormat5],\r\n withCustomView,\r\n disabled,\r\n ...props\r\n}: DateFieldProps) => {\r\n return (\r\n (\r\n
\r\n
\r\n \r\n formik.setFieldValue(\r\n field.name,\r\n day\r\n ? moment(day)\r\n .startOf(\"day\")\r\n .utcOffset(0, true)\r\n .format()\r\n : null\r\n )\r\n }\r\n toMonth={maximumDate}\r\n className=\"form-control\"\r\n withCustomView={withCustomView}\r\n />\r\n
\r\n {meta.touched && meta.error && (\r\n
{meta.error}
\r\n )}\r\n
\r\n )}\r\n />\r\n );\r\n};\r\n","import { BaseTextFieldProps, InputField } from './InputField';\r\nimport { JoditEditor } from '../../common/JoditEditor';\r\n\r\nexport const EditorField = ({ maxLength, ...props }: BaseTextFieldProps) => {\r\n return (\r\n (\r\n
\r\n formik.setFieldValue(field.name, value)}\r\n placeholder=\"Add Event Description\"\r\n />\r\n {meta.touched && meta.error &&
{meta.error}
}\r\n
\r\n )} />\r\n );\r\n}\r\n","import classNames from 'classnames';\r\nimport { FieldHelperProps, FieldInputProps, FieldMetaProps, FormikContextType, useField, useFormikContext } from 'formik';\r\n\r\nexport interface BaseFieldProps {\r\n name: string;\r\n label?: string;\r\n hint?: string;\r\n wrapperClassName?: string;\r\n required?: boolean;\r\n placeholder?: string;\r\n capitalize?: boolean;\r\n disabled?: boolean;\r\n}\r\n\r\nexport interface BaseTextFieldProps extends BaseFieldProps {\r\n maxLength?: number;\r\n formControlClassName?: string;\r\n}\r\n\r\ninterface InputFieldProps extends BaseFieldProps {\r\n renderElement: (\r\n formik: FormikContextType,\r\n field: FieldInputProps,\r\n meta: FieldMetaProps,\r\n helpers: FieldHelperProps\r\n ) => React.ReactElement;\r\n}\r\n\r\nexport const InputField = ({ name, label, hint, renderElement, wrapperClassName, required, capitalize = true }: InputFieldProps) => {\r\n const formik = useFormikContext();\r\n const [field, meta, helpers] = useField(name);\r\n\r\n return (\r\n
e.stopPropagation()}>\r\n {label && (\r\n \r\n )}\r\n {renderElement(formik, field, meta, helpers)}\r\n {hint && {hint}}\r\n
\r\n );\r\n}\r\n","import { BaseTextFieldProps, InputField } from './InputField';\r\nimport { MarkdownEditor } from '../../common/markdown-editor';\r\n\r\nexport const MarkdownField = ({ maxLength, ...props }: BaseTextFieldProps) => {\r\n return (\r\n (\r\n
\r\n field.onChange(props.name)(value)} />\r\n {meta.touched && meta.error &&
{meta.error}
}\r\n
\r\n )} />\r\n );\r\n}\r\n","import classNames from 'classnames';\r\nimport MaskedInput from 'react-text-mask';\r\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\r\nimport { BaseFieldProps, InputField } from './InputField';\r\n\r\ninterface Props extends BaseFieldProps {\r\n includeThousandsSeparator?: boolean;\r\n}\r\n\r\nexport const NumberField = ({ includeThousandsSeparator = true, ...props }: Props) => {\r\n return (\r\n (\r\n
\r\n {\r\n const value = e.target.value.replace(/,/g, '');\r\n const valueNumber = Number(value);\r\n\r\n helpers.setValue(valueNumber);\r\n }}\r\n placeholder={props.placeholder}\r\n />\r\n {meta.touched && meta.error &&
{meta.error}
}\r\n
\r\n )} />\r\n );\r\n}\r\n","import { useEffect, useState } from \"react\";\r\nimport classNames from \"classnames\";\r\nimport { ClickOutside } from \"../common\";\r\nimport IconSVG from \"../../styles/svg-icons\";\r\nimport { EmptyPlaceholder } from \"../common\";\r\n\r\ninterface Item {\r\n key: string;\r\n text: string;\r\n}\r\n\r\ninterface Props {\r\n items: Item[];\r\n selectedItem?: string;\r\n onChange: (key: string) => void;\r\n dropdownClass?: string;\r\n disabled?: boolean;\r\n placeholder?: string;\r\n lookup?: boolean;\r\n selectSearchIfNotFound?: boolean;\r\n error?: boolean;\r\n clearable?: boolean;\r\n}\r\n\r\nexport function Select({\r\n items,\r\n selectedItem,\r\n onChange,\r\n dropdownClass,\r\n disabled = false,\r\n placeholder = \"Select\",\r\n lookup = false,\r\n selectSearchIfNotFound = true,\r\n error = false,\r\n clearable = false,\r\n}: Props) {\r\n const selected = items.find((i) => i.key === selectedItem);\r\n const [expanded, setExpanded] = useState(false);\r\n const [searchValue, setSearchValue] = useState(\"\");\r\n\r\n useEffect(() => {\r\n setSearchValue(selected?.text || \"\");\r\n }, [selected?.text]);\r\n\r\n if (!items) {\r\n return null;\r\n }\r\n\r\n const handleChange = (item: Item) => {\r\n setExpanded(false);\r\n setSearchValue(item.text);\r\n onChange(item.key);\r\n };\r\n\r\n const handleClear = (e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n setExpanded(false);\r\n setSearchValue(\"\");\r\n onChange(\"\");\r\n };\r\n\r\n const onSearchValueChange = (value: string) => {\r\n setSearchValue(value);\r\n\r\n if (selectSearchIfNotFound) {\r\n onChange(value);\r\n }\r\n };\r\n\r\n const filteredItems =\r\n lookup && searchValue !== selected?.text\r\n ? items.filter(\r\n (item) =>\r\n item.text\r\n ?.toLowerCase()\r\n .indexOf(searchValue.toLowerCase()) !== -1\r\n )\r\n : items;\r\n\r\n const options = filteredItems.map((item, index) => {\r\n return (\r\n handleChange(item)}\r\n >\r\n {item.text}\r\n \r\n );\r\n });\r\n\r\n return (\r\n setExpanded(false)}\r\n >\r\n (disabled ? undefined : setExpanded(!expanded))}\r\n >\r\n {lookup ? (\r\n onSearchValueChange(e.target.value)}\r\n readOnly={!expanded}\r\n autoComplete=\"turnoff\"\r\n placeholder={placeholder}\r\n />\r\n ) : (\r\n <>\r\n {selected?.text ? (\r\n {selected?.text}\r\n ) : (\r\n {placeholder}\r\n )}\r\n \r\n\r\n )}\r\n {clearable && selected && (\r\n \r\n \r\n
\r\n )}\r\n \r\n \r\n {expanded && (\r\n
\r\n {filteredItems.length ? (\r\n options\r\n ) : (\r\n \r\n )}\r\n
\r\n )}\r\n \r\n );\r\n}\r\n","import cn from 'classnames';\r\nimport { BaseFieldProps, InputField } from './InputField';\r\nimport { FieldHelperProps, FieldInputProps, FieldMetaProps, FormikContextType } from 'formik';\r\nimport { constants } from '../../../constants';\r\nimport { Select } from '../../controls/Select';\r\n\r\ninterface SelectInputProps extends BaseFieldProps {\r\n withEmptyValue?: boolean;\r\n placeholder?: string;\r\n values: T[];\r\n optionLabelProp: keyof T;\r\n optionKeyProp: keyof T;\r\n className?: string;\r\n onSelect?: (\r\n formik: FormikContextType,\r\n field: FieldInputProps,\r\n meta: FieldMetaProps,\r\n helpers: FieldHelperProps\r\n ) => void;\r\n}\r\n\r\nexport const SelectField = ({\r\n withEmptyValue = false,\r\n placeholder,\r\n values,\r\n optionLabelProp,\r\n optionKeyProp,\r\n className,\r\n disabled,\r\n onSelect,\r\n ...props\r\n}: SelectInputProps) => {\r\n const getListItems = () => {\r\n const items = values.map((value: T) => {\r\n const key = value[optionKeyProp] as unknown as string;\r\n const text = value[optionLabelProp] as unknown as string;\r\n\r\n return { key, text };\r\n });\r\n\r\n if (withEmptyValue) {\r\n items.unshift({\r\n key: '',\r\n text: constants.emptyPlaceholder,\r\n });\r\n }\r\n\r\n return items;\r\n };\r\n\r\n return (\r\n (\r\n
\r\n {\r\n helpers.setValue(value || undefined);\r\n\r\n if (onSelect) {\r\n onSelect(formik, field, meta, helpers);\r\n }\r\n }}\r\n selectedItem={field.value || ''}\r\n placeholder={placeholder}\r\n disabled={disabled}\r\n />\r\n\r\n {meta.touched && meta.error && (\r\n
{meta.error}
\r\n )}\r\n
\r\n )}\r\n />\r\n );\r\n};\r\n","import classNames from 'classnames';\r\nimport { BaseTextFieldProps, InputField } from './InputField';\r\n\r\nexport const TextField = ({ maxLength, placeholder, formControlClassName, ...props }: BaseTextFieldProps) => {\r\n return (\r\n {\r\n const withError = meta.touched && meta.error;\r\n return (\r\n
\r\n \r\n {withError &&
{meta.error}
}\r\n
\r\n )\r\n }} />\r\n );\r\n}\r\n","import classNames from 'classnames';\r\nimport { BaseTextFieldProps, InputField } from './InputField';\r\n\r\nexport const TextareaField = ({ maxLength, ...props }: BaseTextFieldProps) => {\r\n return (\r\n (\r\n
\r\n \r\n {meta.touched && meta.error &&
{meta.error}
}\r\n
\r\n )} />\r\n );\r\n}\r\n","import { kebabCase, sumBy } from 'lodash';\r\nimport moment, { Moment } from 'moment';\r\nimport { PlotMouseEvent } from 'plotly.js';\r\nimport { Plot, mainConfig } from '../charts';\r\nimport { chartUtils } from '../../../utils';\r\nimport { arrayUtils } from '../../../utils/array.utils';\r\nimport { ChartView } from '../../../types/dashboard/AmrChart';\r\nimport { clientsActivityChart } from '../../../constants/amr-pipeline/clientsActivityChart';\r\nimport { constants } from '../../../constants';\r\nimport { DashboardNoSelectedFilters } from '../../dashboard/DashboardNoSelectedFilters';\r\nimport { amrChartUtils, GroupedBy, Range } from '../../../utils/amr-chart.utils';\r\nimport { AnalyticsFilterBase } from '../../../types/analytics/AnalyticsFilter';\r\nimport { SessionAccess } from '../../../types/amr-pipeline/models/AnalyticsSession';\r\nimport classNames from 'classnames';\r\nimport { AccessTypeMeta } from '../../../types/analytics/AccessTypeMeta';\r\n\r\ntype BarClickEventHandler = (accessType: T, date: Date) => void;\r\n\r\ninterface ClientsActivityChartProps> {\r\n divId?: string;\r\n filter: K;\r\n data: SessionAccess[];\r\n accessTypes: AccessTypeMeta[],\r\n onBarClick: BarClickEventHandler;\r\n}\r\n\r\nconst ChartRangeFormat = 'YYYY-MM-DD';\r\nconst DefaultRangeDays = 10;\r\n\r\nexport function ClientsActivityChart>({ divId, data, filter, accessTypes, onBarClick }: ClientsActivityChartProps) {\r\n const chartEndMoment = moment();\r\n\r\n const {\r\n chartLayout,\r\n tickColor,\r\n tickFont,\r\n barColors,\r\n zeroLineColor,\r\n hoverlabel,\r\n } = clientsActivityChart;\r\n\r\n const handleBarClick = (e: PlotMouseEvent) => {\r\n const point = e && e.points && e.points[0];\r\n\r\n if (point && point.data) {\r\n const date = moment(point.x).toDate();\r\n const [accessType] = point.data.customdata;\r\n\r\n onBarClick(accessType as T, date);\r\n }\r\n };\r\n\r\n const getEdgeDimensionValues = (clientsActivity: SessionAccess[]): Range => {\r\n if (filter.date.dateFrom && filter.date.dateTo) {\r\n const min = moment(filter.date.dateFrom);\r\n const max = moment(filter.date.dateTo);\r\n\r\n // If filter is selected for one day, chart will render shitty\r\n // thin bars. Extend to two days to help it render correctly.\r\n if (moment.duration(max.diff(min)).days() < 2) {\r\n return {\r\n min: min.subtract(1, 'day'),\r\n max,\r\n }\r\n }\r\n\r\n return { min, max };\r\n }\r\n\r\n const minDateRow = arrayUtils.min(clientsActivity, x => x.accessDateTime)!;\r\n const tenDaysAgo = chartEndMoment.clone()\r\n .subtract(DefaultRangeDays, 'days')\r\n .startOf('day');\r\n\r\n const min = tenDaysAgo.isBefore(minDateRow?.accessDateTime) ? tenDaysAgo : moment.utc(minDateRow?.accessDateTime);\r\n\r\n return {\r\n min,\r\n max: chartEndMoment,\r\n };\r\n };\r\n\r\n const getChartRange = () => {\r\n // Pick either dates from filter, or current date as\r\n // reference. Manipulations with start/end of days and 12 hours\r\n // are to align ticks of chart and now show an edge of previous/next\r\n // days\r\n const fromMoment = filter.date.dateFrom\r\n ? moment(filter.date.dateFrom)\r\n .startOf('day')\r\n .subtract(12, 'hours')\r\n : chartEndMoment\r\n .clone()\r\n .subtract(DefaultRangeDays, 'days')\r\n .startOf('day')\r\n .add(12, 'hours');\r\n\r\n const toMoment = filter.date.dateTo\r\n ? moment(filter.date.dateTo)\r\n .endOf('day')\r\n .subtract(12, 'hours')\r\n : chartEndMoment\r\n .clone()\r\n .endOf('day')\r\n .subtract(12, 'hours');\r\n\r\n return [\r\n fromMoment.format(constants.dateTimeFormatUtc),\r\n toMoment.format(constants.dateTimeFormatUtc)\r\n ];\r\n };\r\n\r\n const getSliderRange = ({ min, max }: Range) => {\r\n if (!min || !max) {\r\n return [];\r\n }\r\n\r\n // Set same range for slider as for chart,\r\n // only if date range is less or equal than 10 days\r\n return moment.duration(max.diff(min)).asDays() > DefaultRangeDays\r\n ? []\r\n : getChartRange();\r\n };\r\n\r\n const getHoverInfoText = (cloManagerClientsActivity: SessionAccess[]) => {\r\n const [firstEntry] = cloManagerClientsActivity;\r\n\r\n if (!firstEntry) {\r\n return '';\r\n }\r\n\r\n const accessTypeTitle = accessTypes.find(t => t.value === firstEntry.accessType)?.text;\r\n\r\n return `${accessTypeTitle}: ${sumBy(cloManagerClientsActivity, x => x.numberOfAccess)} view(s)`;\r\n };\r\n\r\n const getChartData = ({ min, max } : Range) => {\r\n const map = arrayUtils.groupBy(data, (row: SessionAccess) => row.accessType);\r\n\r\n return accessTypes.map((accessType, index) => {\r\n const data: SessionAccess[] = map.get(accessType.value) || [];\r\n\r\n const isSameDay = (row: SessionAccess) => (iteratee: GroupedBy>) => iteratee.date.isSame(row.accessDateTime, 'day');\r\n\r\n const groupedByDate = data.reduce((acc: GroupedBy>[], row: SessionAccess) => {\r\n const existingEntry = acc.find(isSameDay(row));\r\n\r\n if (existingEntry) {\r\n return [\r\n ...acc.filter(x => !isSameDay(row)(x)),\r\n {\r\n ...existingEntry,\r\n entries: [\r\n ...existingEntry.entries,\r\n row,\r\n ]\r\n }\r\n ];\r\n }\r\n\r\n return [\r\n ...acc,\r\n { date: moment(row.accessDateTime), entries: [row] }\r\n ];\r\n }, []);\r\n\r\n // Fill in gaps in dates with blank items, to preserve integrity of chart data\r\n const fillGaps = amrChartUtils.gapsFiller(groupedByDate, row => row.date, date => ({ date, entries: [] }));\r\n\r\n const dataWithFilledGaps = (min && max) ? fillGaps({ min, max }, 'day') : groupedByDate;\r\n\r\n return dataWithFilledGaps.reduce((acc: any, { date, entries }: { date: Moment, entries: SessionAccess[] }) => {\r\n const { x, y, hovertext } = acc;\r\n\r\n return {\r\n ...acc,\r\n hovertext: [...hovertext, getHoverInfoText(entries)],\r\n x: [...x, date.format(ChartRangeFormat)],\r\n y: [...y, sumBy(entries, r => r.numberOfAccess)],\r\n };\r\n }, {\r\n x: [],\r\n y: [],\r\n hovertext: [],\r\n type: 'bar',\r\n hoverinfo: 'text',\r\n customdata: [accessType.value],\r\n marker: {\r\n color: barColors[index],\r\n },\r\n });\r\n })\r\n };\r\n\r\n const getLayout = (dateRange: Range) => {\r\n const xAxisRange = getChartRange();\r\n const rangeSliderRange = getSliderRange(dateRange);\r\n\r\n return {\r\n ...chartLayout,\r\n showlegend: false,\r\n autosize: true,\r\n hovermode: 'closest',\r\n hoverlabel,\r\n barmode: ChartView.Grouped,\r\n xaxis: {\r\n tickcolor: tickColor,\r\n type: 'date',\r\n tickfont: tickFont,\r\n tickformat: '%m/%d/%y',\r\n fixedrange: true,\r\n dtick: constants.dayMs,\r\n range: xAxisRange,\r\n rangeslider: {\r\n range: rangeSliderRange,\r\n bgcolor: 'rgba(79, 123, 156, 0.2)',\r\n },\r\n },\r\n yaxis: {\r\n showgrid: true,\r\n showtickprefix: 'all',\r\n fixedrange: true,\r\n gridcolor: tickColor,\r\n ticks: 'inside',\r\n tickcolor: tickColor,\r\n tickfont: tickFont,\r\n zerolinecolor: zeroLineColor,\r\n },\r\n }\r\n };\r\n\r\n const renderChart = () => {\r\n const edgeDimensions = getEdgeDimensionValues(data);\r\n const chartData = getChartData(edgeDimensions);\r\n const layout = getLayout(edgeDimensions);\r\n\r\n return (\r\n <>\r\n \r\n
\r\n {accessTypes.map(accessType => (\r\n
{accessType.text}
\r\n ))}\r\n
\r\n \r\n );\r\n };\r\n\r\n return data.length ? renderChart() : ;\r\n}\r\n\r\nClientsActivityChart.defaultProps = {\r\n divId: 'client-activity-div-id'\r\n};\r\n","import { useMemo } from 'react';\r\nimport { Table } from '../../bidding/common/table';\r\nimport { DashboardNoSelectedFilters } from '../../dashboard/DashboardNoSelectedFilters';\r\nimport { ActionBlocker } from '../../access/ActionBlocker';\r\nimport { SubscriptionFeature } from '../../../types/billing/SubscriptionFeature';\r\nimport { BlockedFeatureContent, SubscribeLink } from '../../access/BlockedFeatureText';\r\nimport { AnalyticsFilterBase } from '../../../types/analytics/AnalyticsFilter';\r\nimport { ProfileView } from '../../../types/amr-pipeline/models/AnalyticsSession';\r\nimport { ColumnBuilder } from '../../bidding/common/table/columns/column-builder/ColumnBuilder';\r\n\r\ninterface ProfileViewHistoryTableProps {\r\n companyReferenceName: string;\r\n data: ProfileView[];\r\n filter: AnalyticsFilterBase;\r\n numberOfHiddenItems: number;\r\n columns: ColumnBuilder>[];\r\n requiredFeature?: SubscriptionFeature;\r\n}\r\n\r\nexport const ProfileViewHistoryTable = ({\r\n companyReferenceName,\r\n data,\r\n filter,\r\n numberOfHiddenItems,\r\n columns,\r\n requiredFeature,\r\n}: ProfileViewHistoryTableProps) => {\r\n const filteredClientsActivity = useMemo(\r\n () =>\r\n data.filter(row => {\r\n if (filter.users.length && !filter.users.includes(row.userEmail)) {\r\n return false;\r\n }\r\n\r\n if (filter.tabs.length && !filter.tabs.some(accessType => row.views[accessType] > 0)) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }),\r\n [data, filter.users, filter.tabs],\r\n );\r\n\r\n return filteredClientsActivity.length ? (\r\n <>\r\n ({ companyReferenceName })}\r\n dataItems={filteredClientsActivity}\r\n columns={columns}\r\n />\r\n \r\n {blocked => blocked && !!numberOfHiddenItems && (\r\n to see {numberOfHiddenItems} more profile view(s).}\r\n />\r\n )}\r\n \r\n \r\n ) : (\r\n \r\n );\r\n};\r\n","import moment, { Moment } from 'moment';\r\nimport { Plot, mainConfig } from '../../charts';\r\nimport { chartUtils } from '../../../../utils';\r\nimport { arrayUtils } from '../../../../utils/array.utils';\r\nimport { constants } from '../../../../constants';\r\nimport { DashboardNoSelectedFilters } from '../../../dashboard/DashboardNoSelectedFilters';\r\nimport { amrChartUtils, Range } from '../../../../utils/amr-chart.utils';\r\nimport { DownloadedPresentations } from '../../../../types/amr-pipeline/models/DownloadedPresentations';\r\nimport { downloadedPresentationsChart } from '../../../../constants/amr-pipeline/downloadedPresentationsChart';\r\n\r\ninterface DownloadedPresentationsChartProps {\r\n divId?: string;\r\n data: DownloadedPresentations[];\r\n}\r\n\r\nconst DefaultRangeWeeks = 10;\r\nconst AlignmentDays = 3;\r\n\r\nexport function DownloadedPresentationsChart({ divId, data }: DownloadedPresentationsChartProps) {\r\n // isoWeek — week that starts from Monday\r\n const chartEndMoment = moment().startOf('isoWeek');\r\n\r\n const {\r\n chartLayout,\r\n tickColor,\r\n tickFont,\r\n barColor,\r\n zeroLineColor,\r\n hoverlabel,\r\n } = downloadedPresentationsChart;\r\n\r\n const getEdgeDimensionValues = (downloadedPresentations: DownloadedPresentations[]): Range => {\r\n const minDateRow = arrayUtils.min(downloadedPresentations, x => x.weekStartDate)!;\r\n const tenWeeksAgo = chartEndMoment.clone()\r\n .subtract(DefaultRangeWeeks, 'weeks')\r\n .startOf('isoWeek');\r\n\r\n const min = tenWeeksAgo.isBefore(minDateRow?.weekStartDate) ? tenWeeksAgo : moment(minDateRow?.weekStartDate);\r\n\r\n return {\r\n min,\r\n max: chartEndMoment,\r\n };\r\n };\r\n\r\n const getChartRange = () => {\r\n // Adding alignment days to 'center' chart\r\n const fromMoment = chartEndMoment\r\n .clone()\r\n .subtract(DefaultRangeWeeks, 'weeks')\r\n .startOf('isoWeek')\r\n .add(AlignmentDays, 'days');\r\n\r\n // Subtracting alignment days to 'center' chart\r\n const toMoment = chartEndMoment\r\n .clone()\r\n .endOf('isoWeek')\r\n .subtract(AlignmentDays, 'days');\r\n\r\n return [\r\n fromMoment.toDate(),\r\n toMoment.toDate()\r\n ];\r\n };\r\n\r\n const getSliderRange = ({ min, max }: Range) => {\r\n if (!min || !max) {\r\n return [];\r\n }\r\n\r\n // Set same range for slider as for chart,\r\n // only if date range is less or equal than 10 weeks\r\n return moment.duration(max.diff(min)).asWeeks() > DefaultRangeWeeks\r\n ? []\r\n : getChartRange();\r\n };\r\n\r\n const getHoverInfoText = (downloadedPresentation: DownloadedPresentations) => {\r\n return `Downloaded Presentations: ${downloadedPresentation.numberOfAccess}`;\r\n };\r\n\r\n const getChartData = ({ min, max } : Range) => {\r\n // Fill in gaps in dates with blank items, to preserve integrity of chart data\r\n const fillGaps = amrChartUtils.gapsFiller(\r\n data,\r\n row => moment(row.weekStartDate),\r\n weekStartDate => ({\r\n weekStartDate: weekStartDate.toDate(),\r\n numberOfAccess: 0\r\n })\r\n );\r\n\r\n const dataWithFilledGaps = (min && max) ? fillGaps({ min, max }, 'week') : data;\r\n\r\n return dataWithFilledGaps.reduce((acc: any, row: DownloadedPresentations) => {\r\n const { x, y, hovertext } = acc;\r\n\r\n return {\r\n ...acc,\r\n hovertext: [...hovertext, getHoverInfoText(row)],\r\n x: [...x, row.weekStartDate],\r\n y: [...y, row.numberOfAccess],\r\n };\r\n }, {\r\n x: [],\r\n y: [],\r\n hovertext: [],\r\n type: 'bar',\r\n hoverinfo: 'text',\r\n marker: {\r\n color: barColor,\r\n },\r\n });\r\n };\r\n\r\n const getLayout = (dateRange: Range) => {\r\n const xAxisRange = getChartRange();\r\n const rangeSliderRange = getSliderRange(dateRange);\r\n const [chartStartDate] = xAxisRange;\r\n\r\n // Set tick0 with subtracted alignment period,\r\n // so ticks will match start of each week\r\n const tick0 = moment(chartStartDate)\r\n .subtract(AlignmentDays, 'days')\r\n .toDate();\r\n\r\n return {\r\n ...chartLayout,\r\n showlegend: false,\r\n autosize: true,\r\n hovermode: 'closest',\r\n hoverlabel,\r\n xaxis: {\r\n tick0,\r\n tickcolor: tickColor,\r\n type: 'date',\r\n tickfont: tickFont,\r\n tickformat: '%m/%d/%y',\r\n fixedrange: true,\r\n dtick: constants.dayMs * 7,\r\n range: xAxisRange,\r\n rangeslider: {\r\n range: rangeSliderRange,\r\n bgcolor: 'rgba(79, 123, 156, 0.2)',\r\n },\r\n },\r\n yaxis: {\r\n showgrid: true,\r\n showtickprefix: 'all',\r\n fixedrange: true,\r\n gridcolor: tickColor,\r\n ticks: 'inside',\r\n tickcolor: tickColor,\r\n tickfont: tickFont,\r\n zerolinecolor: zeroLineColor,\r\n },\r\n }\r\n };\r\n\r\n const renderChart = () => {\r\n const edgeDimensions = getEdgeDimensionValues(data);\r\n const chartData = getChartData(edgeDimensions);\r\n const layout = getLayout(edgeDimensions);\r\n\r\n return (\r\n \r\n );\r\n };\r\n\r\n return data.length ? renderChart() : ;\r\n}\r\n\r\nDownloadedPresentationsChart.defaultProps = {\r\n divId: 'downloaded-presentations-div-id'\r\n};\r\n","import { useMemo } from 'react';\r\nimport { DownloadedPresentationsChart } from './DownloadedPresentationsChart';\r\nimport { DashboardNoSelectedFilters } from '../../../dashboard/DashboardNoSelectedFilters';\r\nimport { OnHoverTooltip } from '../..';\r\nimport IconSVG from '../../../../styles/svg-icons';\r\nimport { ChartRequiredFeature } from '../../../access/ChartRequiredFeature';\r\nimport { SubscriptionFeature } from '../../../../types/billing/SubscriptionFeature';\r\nimport { ManagerGeneralAnalytics } from '../../../../types/analytics/ManagerGeneralAnalytics';\r\n\r\ninterface DownloadedPresentationsWidgetProps {\r\n data: ManagerGeneralAnalytics;\r\n requiredFeature?: SubscriptionFeature;\r\n}\r\n\r\nexport const DownloadedPresentationsWidget = ({ data, requiredFeature }: DownloadedPresentationsWidgetProps) => {\r\n const noData = useMemo(() => data.downloadedPresentations.every(x => !x.numberOfAccess), [data]);\r\n\r\n return (\r\n
\r\n \r\n
\r\n

Downloaded Presentations

\r\n \r\n

Downloaded from: Issuance Monitor, Manager Profile, Arranger Pipeline.

\r\n

Shows information for last 10 weeks only.

\r\n \r\n }\r\n overlayClassName=\"downloaded-presentations-tooltip\"\r\n placement=\"bottomRight\"\r\n >\r\n \r\n \r\n Weekly Data\r\n
\r\n {noData\r\n ? \r\n : \r\n }\r\n \r\n
\r\n );\r\n};\r\n","import { keyBy, mapValues } from 'lodash';\r\nimport { Link } from 'react-router-dom';\r\nimport { constants, routes, SORTING_TYPE } from '../../../../constants';\r\nimport { TransactionAccessTypes } from '../../../../types/amr-pipeline/enums/TransactionAccessType';\r\nimport { ColumnBuilder } from '../../../bidding/common/table/columns/column-builder/ColumnBuilder';\r\nimport { IColumnDefinition } from '../../../bidding/common/table/types/ColumnDefinition';\r\nimport { ProportionBar } from '../../../amrPipeline/ProportionBar';\r\nimport { TransactionViewHistoryClientsActivity } from '../../../../types/amr-pipeline/models/TransactionViewHistoryClientsActivity';\r\nimport { getDocumentCountByViewHistory } from '../../../../utils/amr-pipeline.utils';\r\nimport { DealUpdatesPopover } from '../../../amrPipeline/aggregated/DealUpdatesPopover';\r\nimport IconSVG from '../../../../styles/svg-icons';\r\nimport { OnHoverTooltip } from '../..';\r\nimport { TransactionStatus } from '../../../../types/amr-pipeline/enums/TransactionStatus';\r\nimport { ActionBlocker } from '../../../access/ActionBlocker';\r\nimport { SubscriptionFeature } from '../../../../types/billing/SubscriptionFeature';\r\nimport { ValueBlocker } from '../../../access/ValueBlocker';\r\n\r\nconst getTransactionViewHistoryColumnsDefinitions = (subscriptionFeature?: SubscriptionFeature): IColumnDefinition[] => ([\r\n {\r\n columnKey: 'lastUpdated',\r\n renderColumnHeaderContent: () => 'Last Updated',\r\n renderColumnContent: (transactionViewHistory) => {\r\n const {\r\n referenceName,\r\n dealReferenceName,\r\n dealLegalName,\r\n lastUpdated,\r\n type,\r\n status,\r\n version,\r\n dealUpdates,\r\n } = transactionViewHistory;\r\n\r\n return (\r\n \r\n {blocked =>\r\n \r\n }\r\n \r\n );\r\n },\r\n sortingField: 'lastUpdated',\r\n className: 'data-list-cell-lg',\r\n sortingType: SORTING_TYPE.date,\r\n },\r\n {\r\n columnKey: 'dealLegalName',\r\n renderColumnHeaderContent: () => 'Deal Name',\r\n renderColumnContent: (transactionViewHistory) => {\r\n return (\r\n \r\n { blocked =>\r\n blocked\r\n ? {transactionViewHistory.dealLegalName}\r\n : \r\n {transactionViewHistory.dealLegalName}\r\n \r\n }\r\n \r\n );},\r\n sortingField: 'dealLegalName',\r\n className: 'data-list-cell-xl-xxl',\r\n sortingType: SORTING_TYPE.string,\r\n },\r\n {\r\n columnKey: 'daysInTheMarket',\r\n renderColumnHeaderContent: () => (\r\n <>\r\n Days on the Market\r\n \r\n \r\n \r\n \r\n ),\r\n renderColumnContent: transactionViewHistory => {\r\n return transactionViewHistory.daysInTheMarket || constants.emptyPlaceholder\r\n },\r\n sortingField: 'daysInTheMarket',\r\n sortingType: SORTING_TYPE.number,\r\n className: 'data-list-cell-lg',\r\n },\r\n {\r\n columnKey: 'dealViews',\r\n renderColumnHeaderContent: () => (\r\n <>\r\n Total Views\r\n \r\n \r\n \r\n \r\n ),\r\n renderColumnContent: (transactionViewHistory) => (\r\n \r\n {transactionViewHistory.dealViews || constants.emptyPlaceholder}\r\n \r\n ),\r\n sortingField: 'dealViews',\r\n sortingType: SORTING_TYPE.number,\r\n className: 'data-list-cell-md',\r\n },\r\n {\r\n columnKey: 'tabsViews',\r\n renderColumnHeaderContent: () => 'Tabs Viewed',\r\n renderColumnContent: (transactionViewHistory) => {\r\n const viewedTabs = mapValues(keyBy(transactionViewHistory.tabsViewed, 'accessType'), 'numberOfAccess');\r\n\r\n return (\r\n \r\n ({\r\n title: t.text,\r\n value: viewedTabs[t.value],\r\n color: t.color\r\n }))}\r\n />\r\n \r\n );\r\n },\r\n className: 'data-list-cell-lg-02',\r\n },\r\n {\r\n columnKey: 'docDownloaded',\r\n renderColumnHeaderContent: () => 'Docs Downloaded',\r\n renderColumnContent: (transactionViewHistory) => {\r\n const data = getDocumentCountByViewHistory(transactionViewHistory);\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n },\r\n className: 'data-list-cell-lg-02',\r\n sortingType: SORTING_TYPE.string,\r\n },\r\n]);\r\n\r\nexport const createTransactionViewHistoryColumns = (subscriptionFeature?: SubscriptionFeature) =>\r\n getTransactionViewHistoryColumnsDefinitions(subscriptionFeature).map(c => new ColumnBuilder(c));\r\n\r\n","import { Table } from '../../../bidding/common/table';\r\nimport { createTransactionViewHistoryColumns } from './transactionViewHistory.columns';\r\nimport { TransactionViewHistoryClientsActivity } from '../../../../types/amr-pipeline/models/TransactionViewHistoryClientsActivity';\r\nimport { SORT } from '../../../../constants';\r\nimport { EmptyPlaceholder } from '../..';\r\nimport { ActionBlocker } from '../../../access/ActionBlocker';\r\nimport { BlockedFeatureContent, SubscribeLink } from '../../../access/BlockedFeatureText';\r\nimport { SubscriptionFeature } from '../../../../types/billing/SubscriptionFeature';\r\nimport { WithHiddenItems } from '../../../../types/amr-pipeline/models/WithHiddenItems';\r\n\r\ninterface TransactionViewHistoryTableProps {\r\n data: WithHiddenItems;\r\n requiredFeature?: SubscriptionFeature;\r\n}\r\n\r\nexport const TransactionViewHistoryTable = ({ data, requiredFeature }: TransactionViewHistoryTableProps) => {\r\n if (!data.items.length) {\r\n return ;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n {blocked => blocked && !!data.numberOfHiddenItems && (\r\n to see {data.numberOfHiddenItems} more deal(s).}\r\n />\r\n )}\r\n \r\n \r\n );\r\n};\r\n","import { TransactionViewHistoryTable } from './TransactionViewHistoryTable';\r\nimport { ManagerGeneralAnalytics } from '../../../../types/analytics/ManagerGeneralAnalytics';\r\nimport { SubscriptionFeature } from '../../../../types/billing/SubscriptionFeature';\r\n\r\ninterface TransactionViewHistoryWidgetProps {\r\n data: ManagerGeneralAnalytics;\r\n requiredFeature?: SubscriptionFeature;\r\n}\r\n\r\nexport function TransactionViewHistoryWidget({ data, requiredFeature }: TransactionViewHistoryWidgetProps) {\r\n return (\r\n
\r\n
\r\n

Transaction View History

\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n}\r\n","import { useDispatch, useSelector } from 'react-redux';\r\nimport { AppState } from '../../../types/state/AppState';\r\nimport { dateRangeFilterOptions } from '../../../constants/date-range.filter';\r\nimport { useEffect } from 'react';\r\nimport { TreeSelectOption } from '../../controls/TreeSelect';\r\nimport { Action } from 'typesafe-actions';\r\nimport { AnalyticWidgetState } from '../../../types/state/Analytics';\r\nimport { AnalyticsFilterBase } from '../../../types/analytics/AnalyticsFilter';\r\nimport { ManagerAnalyticsStateBase } from '../../../types/state/ManagerAnalyticsStateBase';\r\nimport { AccessTypeMeta } from '../../../types/analytics/AccessTypeMeta';\r\nimport { SessionMeta } from '../../../types/amr-pipeline/models/AnalyticsSession';\r\n\r\ninterface AnalyticsComponentProps {\r\n companyReferenceName: string;\r\n accessTypes: AccessTypeMeta[];\r\n}\r\n\r\nexport interface BaseAnalyticsComponentProps extends AnalyticsComponentProps {\r\n isLoaded: boolean;\r\n users: TreeSelectOption[];\r\n}\r\n\r\nexport type GetAction = (companyReferenceName: string, filter: AnalyticsFilterBase) => Action;\r\ntype AnalyticsStateSelector = (state: AppState) => ManagerAnalyticsStateBase;\r\n\r\nexport const withAnalyticsRequest = (\r\n getAction: GetAction,\r\n selector: AnalyticsStateSelector,\r\n dataSelector: (state: ManagerAnalyticsStateBase) => AnalyticWidgetState>,\r\n) =>\r\n (Component: React.ComponentType>) =>\r\n ({ companyReferenceName, ...rest }: AnalyticsComponentProps) => {\r\n const dispatch = useDispatch();\r\n const state = useSelector(selector);\r\n const { filter, data, isLoading } = dataSelector(state);\r\n const { isLoading: initialLoading, users } = state;\r\n\r\n const isDataLoaded = !!data.length && !isLoading;\r\n\r\n useEffect(() => {\r\n // Do not reload data, if Custom date option is set, and any of both\r\n // dates is not selected\r\n if (\r\n filter.dateOption?.key === dateRangeFilterOptions.Custom.key &&\r\n (!filter.date.dateFrom || !filter.date.dateTo)\r\n ) {\r\n return;\r\n }\r\n\r\n // Do not make request on initial load of Analytics tab\r\n if (initialLoading) {\r\n return;\r\n }\r\n\r\n dispatch(getAction(companyReferenceName, filter));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [\r\n dispatch,\r\n initialLoading,\r\n filter.dateOption?.key,\r\n companyReferenceName,\r\n filter.date.dateFrom,\r\n filter.date.dateTo,\r\n ]);\r\n\r\n return ;\r\n };\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport * as React from 'react';\r\nimport { Component } from 'react';\r\n\r\ninterface MarkdownViewerState {\r\n value: string;\r\n}\r\n\r\nclass Iterator {\r\n private _items: ArrayLike;\r\n private _index: number;\r\n\r\n constructor(items: ArrayLike) {\r\n this._items = items;\r\n this._index = -1;\r\n }\r\n\r\n get = (offset: number = 0) => this._items[this._index + offset];\r\n\r\n next = () => this.skip(1);\r\n\r\n skip(offset: number) {\r\n this._index += offset;\r\n return this._index < this._items.length;\r\n }\r\n\r\n isBeforeStarting = () => this._index === -1;\r\n hasMoreItems = () => this._index < this._items.length && this._items.length > 0;\r\n hasItemAtIndex(index: number) {\r\n const calculatedIndex = this._index + index;\r\n return 0 < calculatedIndex && calculatedIndex < this._items.length;\r\n }\r\n}\r\n\r\nclass GrammarNode {\r\n render(): React.ReactNode {\r\n return <>;\r\n }\r\n}\r\n\r\nclass LiteralGrammarNode extends GrammarNode {\r\n isLiteral = true;\r\n value: string;\r\n\r\n constructor(value: string) {\r\n super();\r\n this.value = value;\r\n }\r\n\r\n render() {\r\n return this.value;\r\n }\r\n}\r\n\r\nclass ParrentGrammarNode extends GrammarNode {\r\n protected _children: GrammarNode[];\r\n protected _tagName: string;\r\n\r\n constructor(children: GrammarNode[], tagName: string) {\r\n super();\r\n this._children = children;\r\n this._tagName = tagName;\r\n }\r\n\r\n render() {\r\n let childElements = this._children.map((item, index) => );\r\n return React.createElement(this._tagName, null, childElements);\r\n }\r\n}\r\n\r\nclass ListGrammarNode extends ParrentGrammarNode {\r\n terminateTree: boolean;\r\n\r\n constructor(children: GrammarNode[], ordered: boolean, terminateTree: boolean) {\r\n super(children, ordered ? 'ol' : 'ul');\r\n this.terminateTree = terminateTree;\r\n }\r\n}\r\n\r\ninterface GreammarRendererState {\r\n node: GrammarNode;\r\n}\r\n\r\nclass GreammarRenderer extends Component {\r\n render = () => this.props.node.render();\r\n}\r\n\r\nclass Grammar {\r\n parse(\r\n iterator: Iterator,\r\n previousGrammarNode: GrammarNode | null | undefined,\r\n supportedGrammars: Grammar[],\r\n ): GrammarNode | null {\r\n return null;\r\n }\r\n\r\n public static parseOne(\r\n iterator: Iterator,\r\n previousGrammarNode: GrammarNode | null | undefined,\r\n supportedGrammars: Grammar[],\r\n ): GrammarNode | null {\r\n for (var grammar of supportedGrammars) {\r\n let node = grammar.parse(iterator, previousGrammarNode, supportedGrammars);\r\n\r\n if (node != null) {\r\n return node;\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n protected parseNewLine(iterator: Iterator, offset: number = 0): { success: boolean; length: number } {\r\n if (\r\n (iterator.get(offset) === '\\n' && iterator.get(offset + 1) === '\\r') ||\r\n (iterator.get(offset) === '\\r' && iterator.get(offset + 1) === '\\n')\r\n ) {\r\n return { success: true, length: 2 };\r\n }\r\n\r\n if (iterator.isBeforeStarting() || iterator.get(offset) === '\\n' || iterator.get(offset) === '\\r') {\r\n return { success: true, length: 1 };\r\n }\r\n\r\n return { success: false, length: 0 };\r\n }\r\n}\r\n\r\nclass CommonGrammar extends Grammar {\r\n parse(\r\n iterator: Iterator,\r\n previousGrammarNode: GrammarNode | null | undefined,\r\n supportedGrammars: Grammar[],\r\n ): GrammarNode | null {\r\n if (!this.parseStart(iterator)) {\r\n return null;\r\n }\r\n\r\n const children = [] as GrammarNode[];\r\n\r\n while (iterator.hasMoreItems() && !this.parseEnd(iterator)) {\r\n let previousGrammarNode = children[children.length - 1];\r\n let child = Grammar.parseOne(iterator, previousGrammarNode, supportedGrammars);\r\n\r\n if (child) {\r\n children[children.length] = child;\r\n }\r\n }\r\n\r\n return this.create(children);\r\n }\r\n\r\n protected parseStart(iterator: Iterator) {\r\n return false;\r\n }\r\n\r\n protected parseEnd(iterator: Iterator) {\r\n return false;\r\n }\r\n\r\n protected create(children: GrammarNode[]): GrammarNode | null {\r\n return null;\r\n }\r\n}\r\n\r\nenum ListStyle {\r\n number,\r\n bullet,\r\n}\r\n\r\nclass List extends Grammar {\r\n parse(\r\n iterator: Iterator,\r\n previousGrammarNode: GrammarNode | null | undefined,\r\n supportedGrammars: Grammar[],\r\n ): GrammarNode | null {\r\n let nextListItem = this.recogniseListItem(iterator);\r\n\r\n if (!nextListItem) {\r\n return null;\r\n }\r\n\r\n const style = nextListItem.style;\r\n const level = nextListItem.level;\r\n\r\n const listItems = [] as ParrentGrammarNode[];\r\n let terminateTree = false;\r\n\r\n do {\r\n iterator.skip(nextListItem.contentOffset);\r\n nextListItem = null;\r\n\r\n const children = [] as GrammarNode[];\r\n\r\n terminateTree = this.parseEnd(iterator);\r\n\r\n while (iterator.hasMoreItems() && !terminateTree) {\r\n nextListItem = this.recogniseListItem(iterator);\r\n\r\n if (nextListItem && nextListItem.level <= level) {\r\n break;\r\n }\r\n\r\n const previousChild = children[children.length - 1];\r\n const child = Grammar.parseOne(iterator, previousChild, supportedGrammars);\r\n\r\n if (child) {\r\n children[children.length] = child;\r\n }\r\n\r\n terminateTree =\r\n (child as ListGrammarNode)?.terminateTree || !iterator.hasMoreItems() || this.parseEnd(iterator);\r\n }\r\n\r\n listItems[listItems.length] = new ParrentGrammarNode(children, 'li');\r\n } while (nextListItem && nextListItem.style === style && nextListItem.level === level);\r\n\r\n return new ListGrammarNode(listItems, style === ListStyle.number, terminateTree);\r\n }\r\n\r\n protected recogniseListItem(\r\n iterator: Iterator,\r\n ): { level: number; style: ListStyle | null; contentOffset: number } | null {\r\n let index = 0;\r\n\r\n let isLineStart =\r\n (iterator.get(0) === '\\r' && iterator.get(1) === '\\n') ||\r\n (iterator.get(0) === '\\n' && iterator.get(1) === '\\r');\r\n\r\n if (isLineStart) {\r\n index += 2;\r\n }\r\n\r\n isLineStart = iterator.get() === '\\r' || iterator.get() === '\\n';\r\n\r\n if (isLineStart || iterator.isBeforeStarting()) {\r\n index++;\r\n } else {\r\n return null;\r\n }\r\n\r\n let subsequantSpaces = 0;\r\n let level = 0;\r\n let keepLevelTravers = true;\r\n\r\n do {\r\n let currentSymbol = iterator.get(index);\r\n\r\n if (currentSymbol === ' ') {\r\n subsequantSpaces++;\r\n index++;\r\n } else if (currentSymbol === '\\t') {\r\n level += Math.floor(subsequantSpaces / 2) + 1;\r\n subsequantSpaces = 0;\r\n index++;\r\n } else {\r\n level += Math.floor(subsequantSpaces / 2);\r\n subsequantSpaces = 0;\r\n keepLevelTravers = false;\r\n }\r\n } while (keepLevelTravers);\r\n\r\n let result = null;\r\n\r\n if (iterator.get(index) === '*' && iterator.get(index + 1) === ' ') {\r\n result = {\r\n level: level,\r\n style: ListStyle.bullet,\r\n contentOffset: index + 1,\r\n };\r\n } else {\r\n let startsWithNumbers = false;\r\n\r\n while (/\\d/.test(iterator.get(index))) {\r\n startsWithNumbers = true;\r\n index++;\r\n }\r\n\r\n if (startsWithNumbers && iterator.get(index) === '.' && iterator.get(index + 1) === ' ') {\r\n result = {\r\n level: level,\r\n style: ListStyle.number,\r\n contentOffset: index + 1,\r\n };\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n protected parseEnd(iterator: Iterator) {\r\n const firstNewLine = this.parseNewLine(iterator, 0);\r\n\r\n if (!firstNewLine.success) {\r\n return false;\r\n }\r\n\r\n let offset = firstNewLine.length;\r\n\r\n while (iterator.get(offset) === ' ' || iterator.get(offset) === '\\t') {\r\n offset++;\r\n }\r\n\r\n const secondNewLine = this.parseNewLine(iterator, offset);\r\n\r\n if (secondNewLine.success) {\r\n iterator.skip(offset - 1);\r\n }\r\n\r\n return secondNewLine.success;\r\n }\r\n\r\n protected create(children: GrammarNode[]): GrammarNode | null {\r\n return null;\r\n }\r\n}\r\n\r\nclass BoldText extends CommonGrammar {\r\n protected parseStart(iterator: Iterator) {\r\n const isStart = iterator.get(0) === '*' && iterator.get(1) === '*';\r\n\r\n if (isStart) {\r\n iterator.skip(2);\r\n }\r\n\r\n return isStart;\r\n }\r\n\r\n protected parseEnd(iterator: Iterator) {\r\n const isEnd = iterator.get(0) === '*' && iterator.get(1) === '*';\r\n\r\n if (isEnd) {\r\n iterator.skip(2);\r\n }\r\n\r\n return isEnd;\r\n }\r\n\r\n protected create = (children: GrammarNode[]): GrammarNode | null => new ParrentGrammarNode(children, 'b');\r\n}\r\n\r\nclass StrikethroughText extends CommonGrammar {\r\n protected parseStart(iterator: Iterator) {\r\n const isStart = iterator.get(0) === '~' && iterator.get(1) === '~';\r\n\r\n if (isStart) {\r\n iterator.skip(2);\r\n }\r\n\r\n return isStart;\r\n }\r\n\r\n protected parseEnd(iterator: Iterator) {\r\n const isEnd = iterator.get(0) === '~' && iterator.get(1) === '~';\r\n\r\n if (isEnd) {\r\n iterator.skip(2);\r\n }\r\n\r\n return isEnd;\r\n }\r\n\r\n protected create = (children: GrammarNode[]): GrammarNode | null => new ParrentGrammarNode(children, 's');\r\n}\r\n\r\nclass AsteriskItalicText extends CommonGrammar {\r\n protected parseStart(iterator: Iterator) {\r\n const isStart = iterator.get(0) === '*' && iterator.get(1) !== '*';\r\n\r\n if (isStart) {\r\n iterator.next();\r\n }\r\n\r\n return isStart;\r\n }\r\n\r\n protected parseEnd(iterator: Iterator) {\r\n const isEnd = iterator.get(0) === '*' && (iterator.get(1) !== '*' || iterator.get(2) === '*');\r\n\r\n if (isEnd) {\r\n iterator.next();\r\n }\r\n\r\n return isEnd;\r\n }\r\n\r\n protected create = (children: GrammarNode[]): GrammarNode | null => new ParrentGrammarNode(children, 'em');\r\n}\r\n\r\nclass UnderlineItalicText extends CommonGrammar {\r\n protected parseStart(iterator: Iterator) {\r\n const isStart = iterator.get(0) === '_' && iterator.get(1) !== '_';\r\n\r\n if (isStart) {\r\n iterator.next();\r\n }\r\n\r\n return isStart;\r\n }\r\n\r\n protected parseEnd(iterator: Iterator) {\r\n const isEnd = iterator.get(0) === '_' && (iterator.get(1) !== '_' || iterator.get(2) === '_');\r\n\r\n if (isEnd) {\r\n iterator.next();\r\n }\r\n\r\n return isEnd;\r\n }\r\n\r\n protected create = (children: GrammarNode[]): GrammarNode | null => new ParrentGrammarNode(children, 'em');\r\n}\r\n\r\nclass Heading extends CommonGrammar {\r\n private _level: number;\r\n\r\n constructor(level: number) {\r\n super();\r\n this._level = level;\r\n }\r\n\r\n protected parseStart(iterator: Iterator) {\r\n const newLine = this.parseNewLine(iterator);\r\n if (!newLine.success) {\r\n return false;\r\n }\r\n\r\n let offset = newLine.length;\r\n while (/\\s/.test(iterator.get(offset))) {\r\n offset++;\r\n }\r\n\r\n let hashSymbolsCount = 0;\r\n while (iterator.get(offset) === '#') {\r\n offset++;\r\n hashSymbolsCount++;\r\n }\r\n\r\n let isStart = hashSymbolsCount === this._level;\r\n\r\n if (isStart) {\r\n iterator.skip(offset);\r\n }\r\n\r\n return isStart;\r\n }\r\n\r\n protected parseEnd(iterator: Iterator) {\r\n return this.parseNewLine(iterator).success;\r\n }\r\n\r\n protected create = (children: GrammarNode[]): GrammarNode | null =>\r\n new ParrentGrammarNode(children, `h${this._level}`);\r\n}\r\n\r\nclass Paragraph extends CommonGrammar {\r\n protected parseStart(iterator: Iterator) {\r\n const newLine = this.parseNewLine(iterator);\r\n\r\n if (newLine.success) {\r\n iterator.skip(newLine.length);\r\n }\r\n\r\n return newLine.success;\r\n }\r\n\r\n protected parseEnd(iterator: Iterator) {\r\n return this.parseNewLine(iterator).success;\r\n }\r\n\r\n protected create = (children: GrammarNode[]): GrammarNode | null => new ParrentGrammarNode(children, 'p');\r\n}\r\n\r\nclass Literal extends Grammar {\r\n parse(iterator: Iterator, previousGrammarNode: GrammarNode | null | undefined) {\r\n const previousLiteralNode = previousGrammarNode as LiteralGrammarNode;\r\n let literalNode = null;\r\n\r\n if (previousLiteralNode?.isLiteral) {\r\n previousLiteralNode.value += iterator.get();\r\n } else {\r\n literalNode = new LiteralGrammarNode(iterator.get());\r\n }\r\n\r\n iterator.next();\r\n\r\n return literalNode;\r\n }\r\n}\r\n\r\nexport default class MarkdownViewer extends Component {\r\n render() {\r\n const iterator = new Iterator(this.props.value ?? '');\r\n\r\n const supportedGrammars = [\r\n new List(),\r\n new BoldText(),\r\n new StrikethroughText(),\r\n new AsteriskItalicText(),\r\n new UnderlineItalicText(),\r\n new Heading(1),\r\n new Heading(2),\r\n new Heading(3),\r\n new Heading(4),\r\n new Heading(5),\r\n new Heading(6),\r\n new Paragraph(),\r\n new Literal(),\r\n ];\r\n\r\n const nodes = [] as GrammarNode[];\r\n\r\n while (iterator.hasMoreItems()) {\r\n let previousNode = nodes[nodes.length - 1];\r\n let grammar = Grammar.parseOne(iterator, previousNode, supportedGrammars);\r\n\r\n if (grammar != null) {\r\n nodes[nodes.length] = grammar;\r\n }\r\n }\r\n\r\n return (\r\n
\r\n {nodes.map((item, index) => (\r\n \r\n ))}\r\n
\r\n );\r\n }\r\n}\r\n","export const carriageReturn = \"\\n\";\r\nexport const spaceChar = \" \";\r\nexport const dotWithSpace = \". \";\r\nexport const editorChars = {\r\n bold: \"**\",\r\n italic: \"_\",\r\n strikethrough: \"~~\",\r\n bulletList: \"*\",\r\n numberedList: \".\",\r\n headings: [\"#\", \"##\", \"###\", \"####\", \"#####\", \"######\"],\r\n};\r\n","import {\r\n editorChars,\r\n spaceChar,\r\n carriageReturn,\r\n dotWithSpace,\r\n} from \"./constants\";\r\n\r\nconst splitByLines = (text: string) => text.split(/\\r?\\n/);\r\nconst isCharSpace = (text: string) => text.match(/\\s+/);\r\nconst isNumberedRow = (row: string) => {\r\n const firstElement = splitBySpace(row)[0];\r\n const withNumberSign =\r\n firstElement[firstElement.length - 1] === editorChars.numberedList;\r\n const numberString = Number(splitBySpace(row)[0].slice(0, -1));\r\n return withNumberSign && numberString;\r\n};\r\n\r\nexport const splitBySpace = (text: string) => text.split(/\\s+/);\r\n\r\nexport const getEditedWordPosition = (text: string, selectedIndex: number) => {\r\n let wordStart = 0;\r\n let wordEnd = 0;\r\n\r\n for (\r\n let i = selectedIndex > 0 ? selectedIndex - 1 : selectedIndex;\r\n !wordStart || i;\r\n i--\r\n ) {\r\n if (!i || i === text.length || isCharSpace(text[i])) {\r\n wordStart = i ? i + 1 : i;\r\n break;\r\n }\r\n }\r\n\r\n for (let i = selectedIndex; !wordEnd || i === text.length; i++) {\r\n if (i === text.length || isCharSpace(text[i])) {\r\n wordEnd = i;\r\n break;\r\n }\r\n }\r\n\r\n return [wordStart, wordEnd];\r\n};\r\n\r\nexport const insertTransformedWord = (\r\n content: string,\r\n wordToInsert: string,\r\n startIndexToInsert: number,\r\n endIndexToInsert: number\r\n) =>\r\n content.slice(0, startIndexToInsert) +\r\n wordToInsert +\r\n content.slice(endIndexToInsert, content.length);\r\n\r\nexport const getCurrentRow = (\r\n content: string,\r\n listSign: string,\r\n pointerPosition: number,\r\n isBullet: boolean\r\n) => {\r\n const [, endPosition] = getEditedWordPosition(content, pointerPosition);\r\n const rows = splitByLines(content.slice(0, endPosition));\r\n const currentRow = rows[rows.length - 1];\r\n const withSign = isNumberedRow(currentRow);\r\n if (withSign) {\r\n return \"\";\r\n }\r\n return (isBullet ? listSign + spaceChar : 1 + dotWithSpace) + currentRow;\r\n};\r\n\r\nexport const insertRangeTransformedList = (content: string) => {\r\n const rows = splitByLines(content);\r\n const isSignPresent = rows.every(\r\n (el) => splitBySpace(el)[0] === editorChars.bulletList\r\n );\r\n\r\n if (isSignPresent) {\r\n return rows\r\n .map((r) => r.slice(r.indexOf(spaceChar) + 1, r.length))\r\n .join(carriageReturn);\r\n }\r\n const signToAdd = editorChars.bulletList + spaceChar;\r\n return rows.map((r) => signToAdd + r).join(carriageReturn);\r\n};\r\n\r\nexport const insertNumberRangeTransformedList = (content: string) => {\r\n const rows = splitByLines(content);\r\n const isSignPresent = rows.every((r) => isNumberedRow(r));\r\n\r\n if (isSignPresent) {\r\n return rows\r\n .map((r) => r.slice(r.indexOf(spaceChar) + 1, r.length))\r\n .join(carriageReturn);\r\n }\r\n\r\n return rows.map((r, i) => i + 1 + dotWithSpace + r).join(carriageReturn);\r\n};\r\n","import React, { useState, useRef } from 'react';\r\nimport MarkdownViewer from './MarkdownViewer';\r\nimport { editorChars, spaceChar, carriageReturn, dotWithSpace } from './constants';\r\nimport {\r\n getEditedWordPosition,\r\n insertTransformedWord,\r\n insertRangeTransformedList,\r\n insertNumberRangeTransformedList,\r\n getCurrentRow,\r\n splitBySpace,\r\n} from './utils';\r\nimport IconSVG from '../../../styles/svg-icons';\r\nimport { DropDownList } from '../../controls/DropDownList';\r\n\r\ninterface Props {\r\n value?: string;\r\n maxLength?: number;\r\n onChange: (val: string) => void;\r\n}\r\n\r\nconst MarkdownEditor = ({ value = '', onChange, maxLength = 1024 }: Props) => {\r\n const [previewMode, setPreviewMode] = useState(false);\r\n const [selectedTitle, setSelectedTitle] = useState('#');\r\n const [editorValue, setEditorValue] = useState(value);\r\n const textareaRef = useRef(null);\r\n\r\n const handleChange = (text: string) => onChange(text.trim());\r\n\r\n const transformText = async (textToChange: string, selectionStart: number, selectionEnd: number) => {\r\n if (textToChange) {\r\n await setEditorValue(textToChange);\r\n handleChange(textToChange);\r\n textareaRef?.current?.setSelectionRange(selectionStart, selectionEnd);\r\n }\r\n return;\r\n };\r\n\r\n const changeInlineValue = (char: string) => {\r\n if (textareaRef?.current) {\r\n textareaRef.current.focus();\r\n const { selectionStart, selectionEnd } = textareaRef.current;\r\n let transformedText = '';\r\n let currentSignLength = char.length;\r\n\r\n if (selectionStart !== editorValue.length) {\r\n const withSelectionRange = selectionStart !== selectionEnd;\r\n\r\n if (withSelectionRange) {\r\n const prevSignFirstIndex = selectionStart - currentSignLength;\r\n\r\n const prevSign = editorValue.slice(prevSignFirstIndex, selectionStart);\r\n if (prevSign === char) {\r\n transformedText =\r\n editorValue.slice(0, prevSignFirstIndex) +\r\n editorValue.slice(selectionStart, selectionEnd) +\r\n editorValue.slice(selectionEnd + currentSignLength, editorValue.length);\r\n currentSignLength *= -1;\r\n } else {\r\n transformedText =\r\n editorValue.slice(0, selectionStart) +\r\n char +\r\n editorValue.slice(selectionStart, selectionEnd) +\r\n char +\r\n editorValue.slice(selectionEnd, editorValue.length);\r\n }\r\n } else {\r\n const [startWordIndex, endWordIndex] = getEditedWordPosition(editorValue, selectionStart);\r\n const selectedWord = editorValue.slice(startWordIndex, endWordIndex);\r\n let editedWord = '';\r\n\r\n if (!selectedWord.indexOf(char)) {\r\n editedWord = selectedWord.slice(char.length, selectedWord.length - char.length);\r\n currentSignLength *= -1;\r\n } else {\r\n editedWord = char + selectedWord + char;\r\n }\r\n\r\n transformedText = insertTransformedWord(editorValue, editedWord, startWordIndex, endWordIndex);\r\n }\r\n } else {\r\n transformedText = editorValue + char + char;\r\n }\r\n\r\n transformText(transformedText, selectionStart + currentSignLength, selectionEnd + currentSignLength);\r\n }\r\n };\r\n\r\n const changeHeadValue = (char: string) => {\r\n if (textareaRef?.current) {\r\n textareaRef.current.focus();\r\n const { selectionStart, selectionEnd } = textareaRef.current;\r\n const headSight = char + spaceChar;\r\n let currentSignLength = headSight.length;\r\n let transformedText = '';\r\n\r\n const withSelectionRange = selectionStart !== selectionEnd;\r\n\r\n if (withSelectionRange) {\r\n const prevSignIndex = selectionStart - currentSignLength;\r\n\r\n const prevSign = editorValue.slice(prevSignIndex, selectionStart);\r\n if (prevSign === headSight) {\r\n transformedText = insertTransformedWord(editorValue, '', prevSignIndex, selectionStart);\r\n currentSignLength *= -1;\r\n } else {\r\n transformedText = insertTransformedWord(editorValue, headSight, selectionStart, selectionStart);\r\n }\r\n } else {\r\n const [startWordIndex, endWordIndex] = getEditedWordPosition(editorValue, selectionStart);\r\n const selectedWord = editorValue.slice(startWordIndex, endWordIndex);\r\n const isEndOfText = endWordIndex === editorValue.length;\r\n const editedWord = isEndOfText ? headSight : headSight + selectedWord;\r\n\r\n transformedText = insertTransformedWord(\r\n editorValue,\r\n editedWord,\r\n isEndOfText ? endWordIndex : startWordIndex,\r\n endWordIndex,\r\n );\r\n }\r\n\r\n transformText(transformedText, selectionStart + currentSignLength, selectionEnd + currentSignLength);\r\n }\r\n };\r\n\r\n const changeListValue = (listSign: string) => {\r\n if (textareaRef?.current) {\r\n textareaRef.current.focus();\r\n let { selectionStart, selectionEnd } = textareaRef.current;\r\n let transformedText = editorValue;\r\n let updatedContent = '';\r\n const isBulletList = listSign === editorChars.bulletList;\r\n const selectedContent = editorValue.slice(selectionStart, selectionEnd);\r\n\r\n if (selectedContent) {\r\n updatedContent = isBulletList\r\n ? insertRangeTransformedList(selectedContent)\r\n : insertNumberRangeTransformedList(selectedContent);\r\n } else {\r\n updatedContent = getCurrentRow(editorValue, listSign, selectionStart, isBulletList);\r\n }\r\n\r\n transformedText = insertTransformedWord(editorValue, updatedContent, selectionStart, selectionEnd);\r\n\r\n if (!selectedContent) {\r\n selectionStart += updatedContent.length;\r\n }\r\n selectionEnd = selectionStart + updatedContent.length;\r\n transformText(transformedText, selectionStart, selectedContent ? selectionEnd : selectionStart);\r\n }\r\n };\r\n\r\n const getListLineSign = (row: string, increment: number = 0) => {\r\n const splittedRowBySpace = splitBySpace(row);\r\n const isBulletList = splittedRowBySpace.length > 1 && splittedRowBySpace[0] === editorChars.bulletList;\r\n if (isBulletList) {\r\n return editorChars.bulletList + spaceChar;\r\n }\r\n const splittedRowByDotWithSpace = row.split(dotWithSpace);\r\n const firstNumberedChar = Number(splittedRowByDotWithSpace[0]);\r\n if (!!firstNumberedChar && splittedRowByDotWithSpace.length > 1) {\r\n return firstNumberedChar + increment + dotWithSpace;\r\n }\r\n return '';\r\n };\r\n\r\n const onKeyDownListHandler = (e: React.KeyboardEvent) => {\r\n if (textareaRef?.current) {\r\n const { selectionStart, selectionEnd } = textareaRef.current;\r\n let transformedText = '';\r\n let activePosition = selectionStart;\r\n switch (e.key) {\r\n case 'Enter':\r\n const textLines = editorValue.slice(0, selectionStart).split(carriageReturn);\r\n const currentLine = textLines[textLines.length - 1];\r\n const prevLineSign = getListLineSign(currentLine);\r\n if (!prevLineSign) {\r\n break;\r\n }\r\n e.preventDefault();\r\n\r\n const firstWordPart = editorValue.slice(0, selectionStart);\r\n const lastWordPart = editorValue.slice(selectionEnd, editorValue.length);\r\n\r\n if (currentLine === prevLineSign) {\r\n transformedText =\r\n firstWordPart.slice(0, firstWordPart.length - prevLineSign.length) + lastWordPart;\r\n activePosition = selectionStart - prevLineSign.length;\r\n break;\r\n }\r\n const newLineSign = getListLineSign(currentLine, 1);\r\n\r\n const transformedFirstWordPart = firstWordPart + carriageReturn + newLineSign;\r\n\r\n transformedText = transformedFirstWordPart + lastWordPart;\r\n activePosition = transformedFirstWordPart.length;\r\n\r\n break;\r\n case 'Backspace':\r\n break;\r\n case 'Tab':\r\n e.preventDefault();\r\n transformedText = editorValue + ' ';\r\n break;\r\n }\r\n\r\n transformText(transformedText, activePosition, activePosition);\r\n }\r\n };\r\n\r\n const renderPanel = () => (\r\n
\r\n ({ value: x, text: `Heading ${x.length}`, selected: x === selectedTitle }))}\r\n onChange={({ value }) => {\r\n setSelectedTitle(value.toString());\r\n changeHeadValue(value.toString());\r\n }}\r\n className=\"custom-drop-down-ghost\"\r\n />\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n\r\n const onChangeValue = (e: React.ChangeEvent) => {\r\n const { value } = e.target;\r\n setEditorValue(value);\r\n handleChange(value);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n {renderPanel()}\r\n \r\n
\r\n {previewMode ? (\r\n
\r\n \r\n
\r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default MarkdownEditor;\r\n","import { constants } from '../../../constants';\r\nimport { MarkdownViewer } from './';\r\n\r\nexport const renderMarkdownOrEmpty = (content?: string | null) =>\r\n content ? : constants.emptyPlaceholder;\r\n","import { roles } from \"../../../constants\";\r\nimport { user } from \"../../../user\";\r\nimport { ShowFor } from \"../../access\";\r\nimport { FeatureButton } from \"../../access/FeatureButton\";\r\nimport { RoleActionBlocker } from \"../../access/RoleActionBlocker\";\r\nimport { AllToAllArgeementRequiredActionBlocker } from \"../../agreements/AllToAllArgeementRequiredActionBlocker\";\r\nimport { DirectBiddingDisclaimerActionBlocker } from \"../../direct-bidding-agreement-disclaimer/DirectBiddingDisclaimerActionBlocker\";\r\n\r\ninterface NewBwicButtonProps {\r\n selectedSecurityCount?: number;\r\n disabled?: boolean;\r\n handleClick: () => void;\r\n}\r\n\r\nexport const NewBwicButton = ({ selectedSecurityCount, disabled, handleClick }: NewBwicButtonProps) => {\r\n if (user.current()?.isClearingBank) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {\r\n blocked =>\r\n \r\n \r\n {\r\n argeementBlocked =>\r\n \r\n new bwic{Boolean(selectedSecurityCount) && ` (${selectedSecurityCount})`}\r\n \r\n }\r\n\r\n \r\n \r\n }\r\n \r\n \r\n );\r\n}","import { useState, useEffect } from 'react';\r\nimport { Transfer } from '../../transfer/Transfer';\r\nimport { TabList, TabItem } from '../../../bidding/common/tab-list';\r\nimport { TransferOption } from '../../transfer/types';\r\nimport { UserConfigColumn } from '../../../../types/user-config/UserConfigColumn';\r\nimport { isEqual } from 'lodash';\r\nimport { Popup, PopupBody, PopupFooter } from '../../../controls';\r\nimport { OnHoverTooltip } from '../../OnHoverTooltip';\r\nimport { FilterButton } from '../../../filters';\r\nimport IconSVG from '../../../../styles/svg-icons';\r\nimport { PageConfigType } from '../../../../types/page-config/PageConfigType';\r\nimport { apiUtils, isRequestSuccess, isRequesting } from '../../../../utils';\r\nimport { usePageConfig } from '../usePageConfig';\r\nimport { bwicColumnsLabels } from '../../../../constants/bwicColumnsLabels';\r\nimport { ColumnConfigKey } from '../../../../types/page-config/column-customizer/ColumnConfigKey';\r\nimport { SubscriptionFeature } from '../../../../types/billing/SubscriptionFeature';\r\nimport { ActionBlocker } from '../../../access/ActionBlocker';\r\n\r\ninterface ColumnCustomizerTab {\r\n [key: string]: PageConfigType\r\n}\r\n\r\ninterface CustomizeColumnsDialogProps {\r\n tabs: ColumnCustomizerTab;\r\n defaultTab: PageConfigType;\r\n onClose: () => void;\r\n columnLabels: { [key in ColumnConfigKey]: string };\r\n}\r\n\r\ninterface TabState {\r\n options: TransferOption[];\r\n selected: TransferOption[];\r\n}\r\n\r\nconst CustomizeColumnsDialog = ({\r\n tabs,\r\n defaultTab,\r\n onClose,\r\n columnLabels\r\n}: CustomizeColumnsDialogProps) => {\r\n const [activeTab, setActiveTab] = useState(defaultTab);\r\n const { config, defaultConfig, saveColumns, requestState, updateRequestState } = usePageConfig(activeTab);\r\n const isUpdating = isRequesting(updateRequestState);\r\n const columns = config?.columns;\r\n const defaultColumns = defaultConfig?.columns;\r\n const tabsValues = Object.values(tabs);\r\n const tabsKeys = Object.keys(tabs);\r\n\r\n const disabled = !isRequestSuccess(requestState) || isUpdating;\r\n\r\n const transferOptionFromColumn = (column: UserConfigColumn) => ({\r\n key: column.name,\r\n title: columnLabels[column.name as ColumnConfigKey],\r\n permanent: column.required,\r\n fixed: column.fixed,\r\n order: column.order,\r\n available: column.available\r\n } as TransferOption);\r\n\r\n\r\n const deriveTabStateFromConfig = (columnConfig?: UserConfigColumn[]) => {\r\n if (!columnConfig) {\r\n return {\r\n options: [],\r\n selected: []\r\n }\r\n }\r\n const options = columnConfig.map(transferOptionFromColumn);\r\n\r\n const selected = columnConfig\r\n .filter(({ displayed }) => displayed)\r\n .map(transferOptionFromColumn);\r\n\r\n return {\r\n options,\r\n selected,\r\n } as TabState;\r\n };\r\n\r\n const getDefaultTabState = (columnsConfig?: UserConfigColumn[]) => {\r\n return apiUtils.normalize(\r\n tabsValues,\r\n (tab) => tab,\r\n () => deriveTabStateFromConfig(columnsConfig)\r\n )\r\n }\r\n\r\n const [tabState, setTabState] = useState>(getDefaultTabState(columns));\r\n const [tabDefaultState, setTabDefaultState] = useState>(getDefaultTabState(defaultColumns));\r\n\r\n useEffect(() => {\r\n setTabState((prevState) => ({\r\n ...prevState,\r\n [activeTab]: deriveTabStateFromConfig(columns),\r\n }));\r\n }, [columns]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n setTabDefaultState((prevState) => ({\r\n ...prevState,\r\n [activeTab]: deriveTabStateFromConfig(defaultColumns),\r\n }));\r\n }, [defaultColumns]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const getUserConfig = (options: TransferOption[], selected: TransferOption[]) => {\r\n const selectedKeys = selected.map(({ key }) => key);\r\n\r\n const selectedColumns = selected.map((option, index) => (\r\n {\r\n name: option.key,\r\n order: index + 1, // order on backend started from 1\r\n available: option.available,\r\n required: option.permanent === true,\r\n displayed: true,\r\n fixed: option.fixed,\r\n } as UserConfigColumn\r\n ))\r\n\r\n return options\r\n .filter(option => !selectedKeys.includes(option.key))\r\n .map(option => ({\r\n name: option.key,\r\n order: 1,\r\n required: option.permanent === true,\r\n displayed: false,\r\n available: option.available,\r\n fixed: option.fixed,\r\n }))\r\n .concat(selectedColumns);\r\n };\r\n\r\n const handleSave = async () => {\r\n const columnsConfigs = getUserConfig(tabState[activeTab].options, tabState[activeTab].selected);\r\n const newPageConfig = config\r\n ? { ...config, columns: columnsConfigs }\r\n : { columns: columnsConfigs, page: activeTab, filters: [] };\r\n await saveColumns(newPageConfig);\r\n onClose();\r\n };\r\n\r\n const handleTransferChange = (value: TransferOption[]) => {\r\n setTabState((prevState) => ({\r\n ...prevState,\r\n [activeTab]: {\r\n ...prevState[activeTab],\r\n selected: value,\r\n }\r\n }));\r\n };\r\n\r\n const handleReset = () => setTabState((prevState) => ({\r\n ...prevState,\r\n [activeTab]: deriveTabStateFromConfig(defaultColumns),\r\n }));\r\n\r\n const checkIsConfigDefault = () => {\r\n const values = tabState[activeTab].selected.map((v, order) => ({ ...v, order }));\r\n const defaultValues = tabDefaultState[activeTab].selected.map((v, order) => ({ ...v, order }));\r\n return isEqual(values, defaultValues);\r\n };\r\n\r\n const handleClose = () => {\r\n if (!isUpdating) {\r\n onClose();\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n

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

\r\n \r\n {tabsKeys.length > 1 && tabsKeys.map(tk => (\r\n setActiveTab(tabs[tk])}\r\n />\r\n ))}\r\n \r\n \r\n
\r\n \r\n \r\n Cancel\r\n \r\n \r\n Save\r\n \r\n \r\n \r\n );\r\n};\r\n\r\ninterface ColumnCustomizerProps {\r\n disabled: boolean;\r\n tabs: ColumnCustomizerTab;\r\n defaultTab?: PageConfigType;\r\n requiredFeature?: SubscriptionFeature;\r\n columnLabels?: { [key in ColumnConfigKey]: string };\r\n}\r\n\r\nexport const BwicColumnCustomizer = ({ tabs, disabled, defaultTab, requiredFeature, columnLabels = bwicColumnsLabels }: ColumnCustomizerProps) => {\r\n const [showColumnsDialog, setShowColumnsDialog] = useState(false);\r\n return (\r\n
\r\n \r\n {blocked =>\r\n \r\n setShowColumnsDialog(true)}\r\n disabled={disabled || blocked}\r\n >\r\n \r\n Columns\r\n \r\n \r\n }\r\n \r\n {showColumnsDialog && defaultTab && (\r\n setShowColumnsDialog(false)} />\r\n )}\r\n
\r\n );\r\n}\r\n","import { useDispatch, useSelector } from 'react-redux';\r\nimport { createFilterActions } from '../../../actions/filter.actions';\r\nimport { BwicFilterType, TFilterType } from '../../../types/filters/FilterState';\r\nimport { PageConfigType } from '../../../types/page-config/PageConfigType';\r\nimport { AppState } from '../../../types/state/AppState';\r\nimport { useEffect, useState } from 'react';\r\nimport { FiltersState } from '../../../types/state/FiltersState';\r\nimport { UserConfigFilter } from '../../../types/user-config/UserConfigFilter';\r\nimport { apiUtils, isRequestNone, jsonUtils } from '../../../utils';\r\nimport { pageConfigActions } from '../../../actions/page-config.actions';\r\nimport { pageConfigService } from '../../../services/page-config.service';\r\nimport { PageConfig } from '../../../types/page-config/PageConfig';\r\nimport { RequestState } from '../../../constants/request-state';\r\nimport { PageConfigList } from '../../../types/state/entities/PageConfigState';\r\nimport { errorActions } from '../../../actions';\r\n\r\ninterface IPageConfigFilterActions {\r\n addFilter: (filter: UserConfigFilter) => void;\r\n updateFilter: (filter: UserConfigFilter) => void;\r\n defaultFlagChange: (referenceName: string, isDefault: boolean) => void;\r\n deleteFilter: (referenceName: string) => void;\r\n}\r\n\r\nexport const usePageConfig = (pageConfigType?: PageConfigType, readonly: boolean = false, filterType?: BwicFilterType) => {\r\n const dispatch = useDispatch();\r\n const [updateRequestState, setUpdateRequestState] = useState(RequestState.none);\r\n\r\n const filterState = useSelector((s: AppState) => selectFilterState(filterType, s.filters));\r\n\r\n const defaultConfigRequestState = useSelector((state: AppState) => state.entities.pageConfig.defaultConfigRequestState);\r\n const requestState = useSelector((state: AppState) => state.entities.pageConfig.requestState);\r\n const defaultConfigsState = useSelector((state: AppState) => state.entities.pageConfig.defaultConfigs);\r\n const configsState = useSelector((state: AppState) => state.entities.pageConfig.configs);\r\n const defaultConfig = pageConfigType ? defaultConfigsState[pageConfigType] : undefined;\r\n const config = pageConfigType ? configsState[pageConfigType] : undefined;\r\n\r\n useEffect(() => {\r\n if (isRequestNone(requestState) && !readonly) {\r\n (async () => {\r\n dispatch(pageConfigActions.getConfigs.request());\r\n try {\r\n const configs = await pageConfigService.getConfigs();\r\n const normalizedConfigs: PageConfigList = apiUtils.normalize(\r\n configs,\r\n configItem => configItem.page,\r\n configItem => ({\r\n page: configItem.page,\r\n columns: configItem.columns.filter(c => c.available),\r\n filters: jsonUtils.tryParse(configItem.filters) ?? []\r\n })\r\n );\r\n dispatch(pageConfigActions.getConfigs.success({ configs: normalizedConfigs }))\r\n } catch (e) {\r\n dispatch(pageConfigActions.getConfigs.failure())\r\n }\r\n })();\r\n }\r\n }, [requestState, dispatch, readonly])\r\n\r\n useEffect(() => {\r\n if (!readonly && pageConfigType && defaultConfig?.page !== pageConfigType) {\r\n (async () => {\r\n dispatch(pageConfigActions.getDefaultConfig.request({ configType: pageConfigType }));\r\n try {\r\n const defaultConfig = await pageConfigService.getDefaultConfigs(pageConfigType);\r\n dispatch(pageConfigActions.getDefaultConfig.success({\r\n configType: pageConfigType,\r\n config: {\r\n ...defaultConfig,\r\n columns: defaultConfig.columns.filter(c => c.available),\r\n }\r\n }))\r\n } catch (e) {\r\n dispatch(pageConfigActions.getDefaultConfig.failure({ configType: pageConfigType }))\r\n }\r\n })();\r\n }\r\n }, [pageConfigType, dispatch, readonly, defaultConfig?.page]);\r\n\r\n\r\n const saveColumns = async (config: PageConfig) => {\r\n if (pageConfigType) {\r\n try {\r\n setUpdateRequestState(RequestState.request);\r\n dispatch(pageConfigActions.saveColumns.request({ configType: pageConfigType }));\r\n const result = await pageConfigService.saveConfig(pageConfigType, config);\r\n dispatch(pageConfigActions.saveColumns.success({\r\n configType: pageConfigType,\r\n columns: result.columns.filter(c => c.available)\r\n }));\r\n setUpdateRequestState(RequestState.success);\r\n return result;\r\n } catch (e) {\r\n dispatch(pageConfigActions.saveColumns.failure({ configType: pageConfigType }));\r\n dispatch(errorActions.unexpectedError(e));\r\n setUpdateRequestState(RequestState.failure);\r\n }\r\n }\r\n }\r\n\r\n const addFilter = async (newFilter: UserConfigFilter) => {\r\n const configFilters = config?.filters\r\n\r\n if (filterType && configFilters && pageConfigType && filterState) {\r\n const filterActions = createFilterActions(filterType);\r\n const { filter } = filterState;\r\n\r\n try {\r\n\r\n // unselect all other default filters if new default\r\n const updatedFilters = configFilters\r\n .map(f => ({\r\n ...f,\r\n default: newFilter.default ? false : f.default\r\n }))\r\n\r\n await updateFilterConfig([...updatedFilters, newFilter]);\r\n dispatch(filterActions.setFilterByReferenceName(newFilter.referenceName, filter));\r\n } catch (e) {\r\n dispatch(errorActions.unexpectedError(e));\r\n }\r\n }\r\n }\r\n\r\n const updateFilter = async (changedFilter: UserConfigFilter) => {\r\n const configFilters = config?.filters\r\n if (filterType && configFilters && pageConfigType && filterState) {\r\n const filterActions = createFilterActions(filterType);\r\n const { filter } = filterState;\r\n\r\n try {\r\n const newFilters = configFilters\r\n .map(f => f.referenceName === changedFilter.referenceName\r\n ? changedFilter\r\n : {...f, default : changedFilter.default ? false: f.default}); // update default state\r\n\r\n await updateFilterConfig(newFilters);\r\n\r\n dispatch(filterActions.setFilterByReferenceName(changedFilter.referenceName, filter));\r\n } catch (e) {\r\n dispatch(errorActions.unexpectedError(e));\r\n }\r\n }\r\n }\r\n\r\n const defaultFlagChange = async (referenceName: string, isDefault: boolean) => {\r\n const configFilters = config?.filters\r\n if (filterType && filterState && configFilters && pageConfigType) {\r\n try {\r\n const newFilters = configFilters.map(f => {\r\n if (f.referenceName === referenceName) {\r\n return { ...f, default: isDefault };\r\n }\r\n return { ...f, default: false };\r\n });\r\n await updateFilterConfig(newFilters);\r\n } catch (e) {\r\n dispatch(errorActions.unexpectedError(e));\r\n }\r\n }\r\n }\r\n\r\n const deleteFilter = async (referenceName: string) => {\r\n const configFilters = config?.filters\r\n try {\r\n if (filterType && filterState && configFilters && pageConfigType) {\r\n const filterActions = createFilterActions(filterType);\r\n const newFilters = configFilters.filter(f => f.referenceName !== referenceName)\r\n await updateFilterConfig(newFilters);\r\n if (filterState.selectedFilterReferenceName === referenceName) {\r\n dispatch(filterActions.resetSelectedFilter());\r\n dispatch(filterActions.updateFilterState());\r\n }\r\n }\r\n } catch (e) {\r\n dispatch(errorActions.unexpectedError(e));\r\n }\r\n }\r\n\r\n const updateFilterConfig = async (newFilters: UserConfigFilter[]) => {\r\n if (pageConfigType) {\r\n await pageConfigService.saveFilters(pageConfigType, newFilters);\r\n const newConfigs = {\r\n ...configsState,\r\n [pageConfigType]: {\r\n ...configsState[pageConfigType],\r\n filters: newFilters\r\n }\r\n }\r\n dispatch(pageConfigActions.getConfigs.success({ configs: newConfigs }));\r\n }\r\n }\r\n\r\n const saveAlerts = async (newFilters: UserConfigFilter[]) => {\r\n try {\r\n setUpdateRequestState(RequestState.request);\r\n await updateFilterConfig(newFilters);\r\n setUpdateRequestState(RequestState.success);\r\n } catch (e) {\r\n dispatch(errorActions.unexpectedError(e));\r\n setUpdateRequestState(RequestState.failure);\r\n }\r\n }\r\n\r\n const filterActions: IPageConfigFilterActions = { addFilter, updateFilter, defaultFlagChange, deleteFilter }\r\n\r\n return {\r\n config,\r\n defaultConfig,\r\n saveColumns,\r\n requestState,\r\n defaultConfigRequestState,\r\n updateRequestState,\r\n filterActions,\r\n saveAlerts\r\n };\r\n}\r\n\r\nfunction selectFilterState(filterType?: TFilterType, filters?: FiltersState) {\r\n switch (filterType) {\r\n case BwicFilterType.BwicMonitor:\r\n return filters?.bwicMonitor;\r\n case BwicFilterType.Portfolio:\r\n return filters?.portfolio;\r\n case BwicFilterType.Inventory:\r\n return filters?.inventory;\r\n case BwicFilterType.BDInventory:\r\n return filters?.bdInventory;\r\n }\r\n}\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\n\r\nexport function SecurityListColumn({ children, className = '', onClick, dataCellId = '' }) {\r\n return (\r\n
\r\n {children}\r\n
\r\n )\r\n}\r\n\r\nSecurityListColumn.defaultProps = {\r\n onClick: null\r\n}\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\n\r\nexport function SecurityListContainer({ children, className, onClick }) {\r\n return (\r\n
\r\n {children}\r\n
\r\n )\r\n}\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport InfiniteScroll from 'react-infinite-scroller';\r\nimport { InfiniteScrollLoader } from '../../common';\r\n\r\nexport function SecurityListContent({\r\n children,\r\n className = '',\r\n infiniteScrollEnabled = false,\r\n onClick = null,\r\n onNextPageRequest,\r\n isNextPageRequesting,\r\n sticky = false\r\n}) {\r\n\r\n if (infiniteScrollEnabled && onNextPageRequest != null) {\r\n return (\r\n \r\n }\r\n useWindow={false}\r\n >\r\n {children}\r\n \r\n
\r\n );\r\n }\r\n\r\n return (\r\n \r\n {children}\r\n
\r\n );\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n","import React from 'react';\r\nimport classNames from 'classnames';\r\n\r\nexport function SecurityListHeader({ children, className = '', onClick = null }) {\r\n return (\r\n
\r\n {children}\r\n
\r\n );\r\n}\r\n\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport { SORT } from '../../../constants';\r\nimport IconSVG from '../../../styles/svg-icons';\r\n\r\nexport function SecurityListHeaderColumn({\r\n children,\r\n className = '',\r\n sorted,\r\n onClick,\r\n onMouseOver,\r\n onMouseLeave,\r\n sortDirection = SORT.ASC\r\n}) {\r\n const handleOnMouseOver = (e) => {\r\n if (onMouseOver) {\r\n onMouseOver(e)\r\n }\r\n };\r\n const handleOnMouseLeave = (e) => {\r\n if (onMouseLeave) {\r\n onMouseLeave(e)\r\n }\r\n };\r\n const handleOnClick = (e) => {\r\n if (onClick) {\r\n onClick(e)\r\n }\r\n };\r\n return (\r\n \r\n {children}\r\n {sorted !== undefined && }\r\n
\r\n );\r\n}\r\n\r\nSecurityListHeaderColumn.defaultProps = {\r\n onClick: null,\r\n onMouseOver: null,\r\n onMouseLeave: null,\r\n sorted: undefined,\r\n children: null\r\n}\r\n\r\n","import { forwardRef, useContext, useImperativeHandle, useLayoutEffect, useRef, useState } from 'react';\r\nimport { v4 as uuid } from 'uuid';\r\nimport cn from 'classnames';\r\nimport { IntersectionObserverContext } from '../IntersectionObsereverProvider';\r\n\r\ninterface Props {\r\n className?: string;\r\n children?: React.ReactNode;\r\n onClick?: () => void;\r\n onMouseLeave?: () => void;\r\n onHover?: () => void;\r\n}\r\n\r\ntype Ref = {\r\n scrollIntoView: () => void;\r\n};\r\n\r\nexport const SecurityListRow = forwardRef(\r\n ({ children, className, onClick, onHover, onMouseLeave }, ref) => {\r\n const elementRef = useRef(null);\r\n const ioContext = useContext(IntersectionObserverContext);\r\n const id = useRef(ioContext ? uuid() : undefined);\r\n const [visible, setVisible] = useState(!ioContext);\r\n\r\n useLayoutEffect(() => {\r\n const element = elementRef.current;\r\n if (ioContext && element) {\r\n ioContext.observe(element, setVisible);\r\n }\r\n\r\n return () => {\r\n if (ioContext && element) {\r\n ioContext.unobserve(element);\r\n }\r\n };\r\n // eslint-disable-next-line\r\n }, [elementRef.current]);\r\n\r\n useImperativeHandle(\r\n ref,\r\n () => ({\r\n scrollIntoView() {\r\n elementRef.current?.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n },\r\n }),\r\n [],\r\n );\r\n\r\n return (\r\n \r\n {!!visible && children}\r\n \r\n );\r\n },\r\n);\r\n","import { constants } from \"../../../constants\";\r\nimport { RequestState } from \"../../../constants/request-state\";\r\nimport { CompanyMember } from \"../../../types/company/CompanyMember\";\r\nimport { isRequestSuccess } from \"../../../utils\";\r\nimport { Table } from \"../../bidding/common/table\";\r\nimport { ColumnBuilder } from \"../../bidding/common/table/columns/column-builder/ColumnBuilder\";\r\nimport { IColumnDefinition } from \"../../bidding/common/table/types/ColumnDefinition\";\r\nimport { OnHoverTooltip } from \"../OnHoverTooltip\";\r\nimport { Preloader } from \"../Preloader\";\r\n\r\ninterface SettlementAgentContactsListProps {\r\n users: CompanyMember[];\r\n requestStateGetUsers: RequestState;\r\n}\r\n\r\nexport const SettlementAgentContactsList = ({ users, requestStateGetUsers }: SettlementAgentContactsListProps) => {\r\n const getTableColumns = () => {\r\n const columnDefinitions: IColumnDefinition[] = [\r\n {\r\n columnKey: 'name',\r\n renderColumnHeaderContent: () => 'Full Name',\r\n renderColumnContent: ({ fullName }) =>\r\n fullName ? (\r\n \r\n {fullName}\r\n \r\n ) : constants.emptyPlaceholder,\r\n className: 'data-list-cell-lg',\r\n },\r\n {\r\n columnKey: 'email',\r\n renderColumnHeaderContent: () => 'Email',\r\n renderColumnContent: ({ email }) =>\r\n email ? (\r\n \r\n {email}\r\n \r\n ) : constants.emptyPlaceholder,\r\n className: 'data-list-cell-xl',\r\n },\r\n {\r\n columnKey: 'phone',\r\n renderColumnHeaderContent: () => 'Phone',\r\n renderColumnContent: ({ phone }) =>\r\n phone || constants.emptyPlaceholder,\r\n className: 'data-list-cell-sm',\r\n },\r\n ];\r\n return columnDefinitions.map((c) => new ColumnBuilder(c));\r\n }\r\n\r\n const getSortedUsers = () => [...users].sort((a, b) => \r\n (a.fullName ?? '').localeCompare(b.fullName)\r\n )\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n","import keys from 'lodash/keys';\r\nimport { DailyTradingLimit } from \"../../../types/bid-as-dealer/SettlementAgentClientAgreement\";\r\nimport { Rating, Ratings } from \"../../../types/enums/Rating\";\r\nimport { formatUtils, moneyUtils, numericUtils } from \"../../../utils\";\r\nimport { Table } from \"../../bidding/common/table\";\r\nimport { ColumnBuilder } from \"../../bidding/common/table/columns/column-builder/ColumnBuilder\";\r\nimport { IColumnDefinition } from \"../../bidding/common/table/types/ColumnDefinition\";\r\nimport { useTotalDailyTradingLimit } from './useTotalDailyTradingLimit';\r\nimport { SettlementAgentCommissionByRating } from '../../../types/bid-as-dealer/SettlementAgentCommissionByRating';\r\nimport { constants } from '../../../constants';\r\nimport { ListBuilder } from '../../../utils/ListBuilder';\r\n\r\ninterface SettlementAgentDailyTraidingLimitProps {\r\n dailyTradingLimit: DailyTradingLimit;\r\n commissions?: SettlementAgentCommissionByRating;\r\n}\r\n\r\ninterface TradingLimitsTableItem {\r\n rating: Rating;\r\n tradingLimit?: number;\r\n commission?: number;\r\n}\r\n\r\nexport const SettlementAgentDailyTraidingLimit = ({ dailyTradingLimit, commissions }: SettlementAgentDailyTraidingLimitProps) => {\r\n const total = useTotalDailyTradingLimit(dailyTradingLimit);\r\n\r\n const isByRating = !keys(dailyTradingLimit.byRating).every(key => dailyTradingLimit.byRating[key as Rating] === null);\r\n\r\n const getColumns = () => {\r\n const rating: IColumnDefinition = {\r\n columnKey: 'rating',\r\n renderColumnHeaderContent: () => 'Rtg',\r\n renderColumnContent: item => item.rating\r\n }\r\n const tradingLimit: IColumnDefinition = {\r\n columnKey: 'tradingLimit',\r\n renderColumnHeaderContent: () => 'Daily Trading Limit, USD',\r\n renderColumnContent: item => moneyUtils.money(item.tradingLimit || 0),\r\n className: 'data-list-cell-lg text-right'\r\n }\r\n const commission: IColumnDefinition = {\r\n columnKey: \"commission\",\r\n renderColumnHeaderContent: () => \"Commission, %\",\r\n renderColumnContent: item => item.commission\r\n ? formatUtils.formatDecimal(Number(item.commission), constants.commissionDecimalPlaces)\r\n : formatUtils.formatDecimal(constants.settlementAgentDefaultCommission, constants.commissionDecimalPlaces),\r\n className: 'data-list-cell-lg data-list-commission overflow-visible text-right'\r\n }\r\n\r\n const columns = new ListBuilder>()\r\n .add(rating)\r\n .addWhen(() => isByRating, tradingLimit)\r\n .addWhen(() => commissions != null, commission)\r\n .result();\r\n\r\n return columns.map(c => new ColumnBuilder(c));\r\n }\r\n\r\n const renderTotalDailyLimit = (value: string) => {\r\n return
\r\n Total daily limit\r\n {value} USD\r\n
\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n isByRating || commissions != null ?\r\n <>\r\n ({\r\n rating: r,\r\n tradingLimit: dailyTradingLimit.byRating[r],\r\n commission: commissions?.[r]\r\n }))}\r\n />\r\n {numericUtils.isNumber(dailyTradingLimit.common) &&\r\n renderTotalDailyLimit(moneyUtils.money(dailyTradingLimit.common))}\r\n \r\n : renderTotalDailyLimit(moneyUtils.money(total))\r\n }\r\n \r\n )\r\n}\r\n","import { values } from \"lodash\";\r\nimport { useMemo } from \"react\";\r\nimport { DailyTradingLimit } from \"../../../types/bid-as-dealer/SettlementAgentClientAgreement\";\r\n\r\nexport const useTotalDailyTradingLimit = (dailyTradingLimit: DailyTradingLimit) => {\r\n return useMemo(() => {\r\n if (dailyTradingLimit.common) {\r\n return dailyTradingLimit.common\r\n }\r\n const total = values(dailyTradingLimit.byRating).reduce((result, current) => {\r\n result += Number(current)\r\n return Number(result)\r\n }, 0)\r\n return Number(total)\r\n }, [dailyTradingLimit])\r\n}","import { ReactNode } from \"react\"\r\nimport { Preloader } from \"../Preloader\";\r\n\r\ninterface Props {\r\n isRequesting?: boolean\r\n children: ReactNode;\r\n}\r\nexport function SummaryRow({ isRequesting = false, children }: Props) {\r\n return (\r\n
\r\n
\r\n \r\n {children}\r\n \r\n
\r\n
\r\n );\r\n}","import { ReactNode } from \"react\";\r\n\r\ninterface Props {\r\n groupName: string;\r\n children: ReactNode;\r\n}\r\n\r\nexport function SummaryRowGroup({ groupName, children }: Props) {\r\n return (\r\n
\r\n {groupName}:\r\n {children}\r\n
\r\n );\r\n}","import cn from 'classnames';\r\nimport { OnHoverTooltip } from '../OnHoverTooltip';\r\nimport { constants } from '../../../constants/constants';\r\n\r\ninterface Props {\r\n label: string;\r\n value?: string | number;\r\n values?: (string | number | null)[];\r\n tooltip?: string;\r\n}\r\n\r\nconst EmptyPlaceholder = () => (\r\n \r\n \r\n {constants.emptyPlaceholder}\r\n \r\n \r\n)\r\n\r\nexport function SummaryRowItem({ label, value, values, tooltip }: Props) {\r\n const valueResult =\r\n value ?? values\r\n ?.map((x, i) => [!!i && \"/\", x || ])\r\n\r\n const isEmpty = !value && (!values?.length || !values.some(x => x))\r\n\r\n return (\r\n \r\n {label} {valueResult}}>\r\n {label}\r\n \r\n \r\n {valueResult || }\r\n \r\n \r\n );\r\n}","import classNames from 'classnames';\r\nimport React from 'react';\r\n\r\nexport interface TransferHeaderProps {\r\n title: string;\r\n actionTitle?: string;\r\n actionDisabled?: boolean;\r\n onActionClick?: () => void;\r\n}\r\n\r\nexport const TransferHeader: React.FC = ({\r\n title,\r\n actionTitle,\r\n actionDisabled,\r\n onActionClick = () => {},\r\n}) => {\r\n const handleActionClick = () => {\r\n if (actionDisabled !== true) {\r\n onActionClick();\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {title}\r\n { !!actionTitle &&\r\n \r\n {actionTitle}\r\n \r\n }\r\n
\r\n );\r\n};\r\n","import classNames from 'classnames';\r\nimport React from 'react';\r\nimport IconSVG from '../../../styles/svg-icons';\r\n\r\ninterface TransferItemProps {\r\n title: string;\r\n key: string;\r\n mode?: 'source' | 'destination';\r\n draggable?: boolean;\r\n permanent?: boolean;\r\n disabled?: boolean;\r\n fixed?: boolean;\r\n onClick: (key: string) => void;\r\n [key: string]: any;\r\n}\r\n\r\nexport const TransferItem = ({\r\n title,\r\n id,\r\n mode = 'source',\r\n draggable = true,\r\n permanent = false,\r\n disabled = false,\r\n fixed = false,\r\n onClick,\r\n className,\r\n ...otherProps\r\n}: TransferItemProps) => {\r\n\r\n return (\r\n \r\n
\r\n { draggable &&\r\n \r\n }\r\n {title}\r\n
\r\n {fixed && fixed}\r\n { !permanent &&\r\n onClick(id)}\r\n >\r\n \r\n \r\n }\r\n \r\n );\r\n};\r\n","import React from 'react';\r\nimport { noop } from 'lodash';\r\nimport { TransferHeader, TransferHeaderProps } from './TransferHeader';\r\nimport { TransferOption } from './types';\r\nimport { Sortable } from '../';\r\nimport { TransferItem } from './TransferItem';\r\n\r\ninterface TransferColumnProps extends TransferHeaderProps {\r\n options: TransferOption[];\r\n mode: \"source\" | \"destination\";\r\n disabled?: boolean;\r\n sortable?: boolean;\r\n onSort?: (options: TransferOption[]) => void;\r\n onItemActionClick?: (key: string) => void;\r\n draggable?: boolean;\r\n}\r\n\r\nexport const TransferColumn: React.FC = ({\r\n options,\r\n mode,\r\n disabled = false,\r\n sortable = false,\r\n draggable = true,\r\n onSort = noop,\r\n onItemActionClick = noop,\r\n ...headerProps\r\n}) => {\r\n const handleSort = (options: TransferOption[]) => {\r\n onSort([...options]);\r\n };\r\n\r\n const renderItem = (option: TransferOption) => (\r\n \r\n );\r\n\r\n const renderOptions = (options: TransferOption[]) => {\r\n if (sortable) {\r\n const sortableOptions = options.map(option => ({\r\n ...option,\r\n draggable: !option.fixed,\r\n }));\r\n\r\n return (\r\n \r\n {sortableOptions.map(renderItem)}\r\n \r\n );\r\n }\r\n\r\n return options.map(renderItem);\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n {renderOptions(options)}\r\n
\r\n
\r\n );\r\n};\r\n","import React, { useState, useEffect } from 'react';\r\nimport { compareStrings } from '../../../utils/compare.utils';\r\nimport { TransferColumn } from './TransferColumn';\r\nimport { TransferOption } from './types';\r\nimport { arrayUtils } from '../../../utils/array.utils';\r\n\r\ninterface TransferProps {\r\n options: TransferOption[];\r\n selected?: TransferOption[];\r\n leftColumnTitle: string;\r\n rightColumnTitle: string;\r\n disabled?: boolean;\r\n rightActionDisabled?: boolean;\r\n withFixed?: boolean;\r\n destinationDraggable?: boolean;\r\n onChange?: (options: TransferOption[]) => void;\r\n onReset?: () => void;\r\n}\r\n\r\nfunction insertBefore(list: T[], items: T | T[], predicate: (item: T) => boolean) {\r\n const [, itemIndex] = arrayUtils.findLastRange(list, predicate);\r\n\r\n if (itemIndex < 0) {\r\n return list;\r\n }\r\n\r\n const topPart = list.slice(0, itemIndex);\r\n const bottomPart = list.slice(itemIndex);\r\n\r\n return [...topPart, ...(Array.isArray(items) ? items : [items]), ...bottomPart];\r\n}\r\n\r\nexport const Transfer: React.FC = ({\r\n options,\r\n selected = [],\r\n leftColumnTitle,\r\n rightColumnTitle,\r\n disabled = false,\r\n rightActionDisabled = false,\r\n withFixed = true,\r\n destinationDraggable = true,\r\n onChange = () => {},\r\n onReset = () => {},\r\n}) => {\r\n const byNameSorter = (a: TransferOption, b: TransferOption) => compareStrings(a.title, b.title);\r\n\r\n const [selectedOptions, setSelectedOptions] = useState(selected);\r\n const [unselectedOptions, setUnselectedOptions] = useState([]);\r\n\r\n useEffect(() => {\r\n const getUnselectedOptions = (selected: TransferOption[]) => {\r\n const selectedKeys = selected.map(({ key }) => key);\r\n return options.filter(option => !selectedKeys.includes(option.key)).sort(byNameSorter);\r\n };\r\n\r\n setSelectedOptions(selected);\r\n setUnselectedOptions(getUnselectedOptions(selected));\r\n }, [options, selected]);\r\n\r\n const handleSelectAll = () => {\r\n const newSelected = withFixed\r\n ? insertBefore(selectedOptions, unselectedOptions, x => x.fixed)\r\n : selectedOptions.concat(unselectedOptions);\r\n\r\n setSelectedOptions(newSelected);\r\n setUnselectedOptions([]);\r\n\r\n onChange(newSelected);\r\n };\r\n\r\n const handleSelectItem = (key: string) => {\r\n const item = unselectedOptions.find(option => option.key === key);\r\n\r\n if (!item) {\r\n return;\r\n }\r\n\r\n const newSelected = withFixed\r\n ? insertBefore(selectedOptions, item, x => x.fixed)\r\n : selectedOptions.concat(item);\r\n\r\n setSelectedOptions(newSelected);\r\n\r\n onChange(newSelected);\r\n\r\n setUnselectedOptions(prevOptions => prevOptions.filter(option => option.key !== key).sort(byNameSorter));\r\n };\r\n\r\n const handleUnselectItem = (key: string) => {\r\n setUnselectedOptions(prevOptions =>\r\n prevOptions.concat(selectedOptions.filter(option => option.key === key)).sort(byNameSorter),\r\n );\r\n\r\n const newSelected = selectedOptions.filter(option => option.key !== key);\r\n\r\n setSelectedOptions(newSelected);\r\n\r\n onChange(newSelected);\r\n };\r\n\r\n const handleSortItems = (options: TransferOption[]) => {\r\n setSelectedOptions(options);\r\n onChange(options);\r\n };\r\n\r\n return (\r\n
\r\n \r\n\r\n \r\n
\r\n );\r\n};\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport { CompanySlim } from '../../types/company/CompanySlim';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { AppState } from '../../types/state/AppState';\r\nimport { companyDetailsActions } from '../../actions/company-details.actions';\r\nimport { constants } from '../../constants';\r\n\r\ninterface CompanyDetailsButtonProps {\r\n rowKey: number;\r\n title: string;\r\n company: CompanySlim;\r\n isBrokerDealer?: boolean;\r\n disabled?: boolean;\r\n onClick?: () => void;\r\n}\r\n\r\nexport const CompanyDetailsButton: React.FC = ({ company, title, isBrokerDealer = false, rowKey, disabled = false, onClick }) => {\r\n const dispatch = useDispatch();\r\n const isPanelVisible: boolean = useSelector((state: AppState) => state.companyDetails.isPanelVisible);\r\n const currentCompanyId: number = useSelector((state: AppState) => state.companyDetails.currentCompanyId);\r\n const currentRowKey: number = useSelector((state: AppState) => state.companyDetails.rowKey);\r\n\r\n if (!company) {\r\n return null;\r\n }\r\n\r\n const isActive = isPanelVisible && currentCompanyId === company.id && currentRowKey === rowKey;\r\n\r\n const handleClick = (e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n if(disabled) {\r\n return;\r\n }\r\n if (typeof onClick === 'function') {\r\n onClick()\r\n }\r\n if (currentCompanyId === company.id && currentRowKey === rowKey) {\r\n dispatch(companyDetailsActions.hide());\r\n } else {\r\n dispatch(companyDetailsActions.show(company, isBrokerDealer, rowKey));\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {title\r\n ?\r\n {title}\r\n :\r\n constants.emptyPlaceholder\r\n }\r\n \r\n )\r\n};\r\n","import React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { RightSidePanel } from '../controls';\r\nimport { companyDetailsActions } from '../../actions/company-details.actions';\r\nimport { Preloader } from '../common';\r\nimport { CompanyDetailsPanelContent } from './CompanyDetailsPanelContent';\r\nimport { useAppSelector } from '../../effects/useAppSelector';\r\n\r\nexport const CompanyDetailsPanel = () => {\r\n const dispatch = useDispatch();\r\n const visible: boolean = useAppSelector(s => s.companyDetails.isPanelVisible);\r\n const currentCompanyId = useAppSelector(s => s.companyDetails.currentCompanyId);\r\n const isRequestingCompany = useAppSelector(s => s.companyDetails.isRequestingCompany[currentCompanyId]);\r\n const company = useAppSelector(s => s.companyDetails.companies[currentCompanyId]);\r\n\r\n if (!visible) {\r\n return null\r\n }\r\n\r\n return (\r\n dispatch(companyDetailsActions.hide())}\r\n >\r\n \r\n {!!company && }\r\n \r\n \r\n )\r\n};\r\n","import React from 'react';\r\nimport { nameUtils } from '../../utils/name.utils';\r\nimport IconSVG from '../../styles/svg-icons';\r\nimport { OnHoverTooltip } from '../common/OnHoverTooltip';\r\nimport { UserSlimWithRoles } from '../../types/account/UserSlimWithRoles';\r\nimport { roles } from '../../constants/roles';\r\nimport { ListBuilder } from '../../utils/ListBuilder';\r\n\r\ninterface Props {\r\n contacts: UserSlimWithRoles[];\r\n primaryId?: number;\r\n}\r\n\r\nexport const ContactList = ({ contacts = [], primaryId }: Props) => {\r\n const sortedContacts = React.useMemo(() => {\r\n // hide arrangers client users\r\n const exceptArrangersClients = contacts.filter(c => c.roles?.length !== 1 || c.roles[0] !== roles.ArrangersClient)\r\n const primary = exceptArrangersClients.find(c => c.id === primaryId);\r\n const other = exceptArrangersClients\r\n .filter(c => c.id !== primaryId)\r\n .sort((a, b) => a.firstName.localeCompare(b.firstName) || a.lastName.localeCompare(b.lastName));\r\n\r\n return new ListBuilder()\r\n .addWhen(() => primary != null, primary!)\r\n .add(...other)\r\n .result();\r\n }, [contacts, primaryId]);\r\n\r\n if (sortedContacts.length) {\r\n return (\r\n
    \r\n {sortedContacts.map(c => )}\r\n
\r\n );\r\n }\r\n return

No active users in this company

\r\n}\r\n\r\ninterface MemberItemProps {\r\n contact: UserSlimWithRoles;\r\n isPrimary: boolean;\r\n}\r\n\r\nexport function MemberItem({ contact, isPrimary }: MemberItemProps) {\r\n return (\r\n
  • \r\n {nameUtils.getFullName(contact.firstName, contact.lastName)}\r\n
    \r\n {contact.email}\r\n {\r\n isPrimary &&\r\n \r\n \r\n \r\n }\r\n
    \r\n {contact.phone}\r\n
  • \r\n );\r\n}\r\n","import React from 'react';\r\nimport cn from 'classnames';\r\nimport { ContactList } from './ContactList';\r\nimport { ShowFor } from '../access/ShowFor';\r\nimport { constants } from '../../constants/constants';\r\nimport { roles } from '../../constants/roles';\r\nimport { stringUtils } from '../../utils/string.utils';\r\nimport { FlexRow } from '../common/FlexRow';\r\nimport { OnHoverTooltip } from '../common/OnHoverTooltip';\r\nimport { Company } from '../../types/company/Company';\r\nimport { BankLink } from '../amrPipeline/common/BankLink';\r\n\r\ninterface Props {\r\n company: Company\r\n}\r\n\r\nexport const CompanyDetailsPanelContent: React.FC = ({ company }) => {\r\n const renderCodeBlock = (code: string | undefined, label: string) =>\r\n
    \r\n
    {stringUtils.isNullOrWhiteSpace(code) ? constants.emptyPlaceholder : code}
    \r\n
    \r\n\r\n const renderShortCodeBlock = () =>\r\n
    \r\n {stringUtils.isNullOrWhiteSpace(company.code)\r\n ? constants.emptyPlaceholder\r\n : (\r\n \r\n )\r\n }\r\n
    \r\n\r\n return (\r\n
    \r\n

    Information

    \r\n
    \r\n \r\n {renderShortCodeBlock()}\r\n \r\n \r\n {renderShortCodeBlock()}\r\n {renderCodeBlock(company.mpid, 'MPID')}\r\n \r\n
    \r\n
    {company.address}
    \r\n
    {company.city}, {company.state}
    \r\n
    {company.zipCode ? `${company.zipCode},` : ''} {company.country ? company.country.name : ''}
    \r\n
    \r\n
    \r\n \r\n
    {company.website || constants.emptyPlaceholder}
    \r\n
    \r\n
    \r\n
    \r\n

    Contacts

    \r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n}\r\n\r\ninterface SectionProps {\r\n title: string;\r\n className?: string;\r\n children: React.ReactNode;\r\n}\r\n\r\nfunction Section({ title, className, children }: SectionProps) {\r\n return (\r\n \r\n
    {title}
    \r\n
    \r\n {children}\r\n
    \r\n
    \r\n );\r\n}","import * as React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport { routes } from '../../constants';\r\nimport { user } from '../../user';\r\nimport { yup, yupSchemaValidate } from '../../validation/yup';\r\nimport { EditContactSalesRequest } from './EditContactSalesRequest';\r\nimport { EditContactSalesRequestError } from './EditContactSalesRequestError';\r\nimport { ContactSalesRequestType, contactSalesRequestTypes } from '../../types/contact-sales/ContactSalesRequestType';\r\nimport { FormError, Popup, PopupBody, PopupFooter } from '../controls';\r\nimport { AppState } from '../../types/state/AppState';\r\nimport { contactSalesActions } from '../../actions';\r\nimport { FormFieldLabel } from '../forms';\r\nimport { constants } from '../../constants';\r\n\r\nexport function ContactSalesPopup() {\r\n const dispatch = useDispatch();\r\n const currentUser = user.current();\r\n const { isRequestSending } = useSelector((state: AppState) => state.contactSales);\r\n const [request, setRequest] = React.useState({\r\n firstName: currentUser!.firstName,\r\n lastName: currentUser!.lastName,\r\n email: currentUser!.email,\r\n description: ''\r\n });\r\n const [errors, setErrors] = React.useState({});\r\n const hasErrors = (errors: any) => errors && Object.keys(errors).some((key: string) => errors[key]);\r\n const sendDisabled =\r\n isRequestSending ||\r\n !request.firstName ||\r\n !request.lastName ||\r\n !request.email ||\r\n !request.requestType ||\r\n hasErrors(errors);\r\n\r\n const validationSchema = React.useRef(yup.object().shape({\r\n firstName: yup.string().matches(constants.name).required(),\r\n lastName: yup.string().matches(constants.name).required(),\r\n email: yup.string().email().required(),\r\n requestType: yup.string().required(),\r\n description: yup.string().nullable()\r\n }));\r\n\r\n const setPropertValue = async (propertyName: string, value: string | number | ContactSalesRequestType) => {\r\n const changed = { ...request, [propertyName]: value };\r\n setRequest(changed);\r\n\r\n if (errors && errors[propertyName as keyof EditContactSalesRequestError]) {\r\n const errors = await validate(changed, propertyName);\r\n setErrors(errors);\r\n }\r\n }\r\n\r\n const validate = (billingContact: EditContactSalesRequest, propertyName?: string | undefined) =>\r\n yupSchemaValidate(validationSchema.current, billingContact, {}, errors, propertyName)\r\n\r\n const handleClose = () => {\r\n if (!isRequestSending) {\r\n dispatch(contactSalesActions.hide());\r\n }\r\n }\r\n\r\n const handleSend = async () => {\r\n const errors = await validate(request);\r\n setErrors(errors);\r\n\r\n if (!hasErrors(errors) && request.requestType != null) {\r\n const requestType = request.requestType;\r\n dispatch(contactSalesActions.send({ ...request, requestType }));\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n setPropertValue('firstName', e.target.value)}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n setPropertValue('lastName', e.target.value)}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n setPropertValue('email', e.target.value)}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n setPropertValue(\r\n 'requestType',\r\n ContactSalesRequestType[e.target.value as keyof typeof ContactSalesRequestType]\r\n )\r\n }\r\n >\r\n \r\n {contactSalesRequestTypes.map(x => )}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n setPropertValue('description', e.target.value)}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n By clicking “Submit”, I acknowledge receipt of the BWIC Privacy Policy.\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { contactsSaveViews, routes } from '../../constants';\r\nimport { contactsSaveActions as actions } from '../../actions';\r\nimport { ContactsGrid, Conflicts } from '.';\r\nimport { Preloader } from '../common';\r\n\r\nclass ContactsSave extends Component {\r\n componentDidMount = () => {\r\n const { location, dispatch } = this.props;\r\n const isEdit = location.pathname === routes.editContacts;\r\n\r\n dispatch(actions.init(isEdit));\r\n }\r\n\r\n componentWillUnmount = () => this.props.dispatch(actions.reset());\r\n\r\n render = () => {\r\n const { isLoading, view } = this.props;\r\n\r\n return (\r\n \r\n {\r\n !isLoading &&\r\n <>\r\n {\r\n view === contactsSaveViews.grid\r\n ? \r\n : \r\n }\r\n \r\n }\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = ({ contactsSave }) => ({\r\n isLoading: contactsSave.isLoading,\r\n view: contactsSave.view\r\n});\r\n\r\nconst connectedContactsSave = connect(mapStateToProps)(ContactsSave);\r\nexport { connectedContactsSave as ContactsSave }; \r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { contactsSaveActions as actions } from '../../actions';\r\nimport { Grid } from '../grid';\r\nimport { routes, uploadStatus } from '../../constants';\r\nimport { history } from '../../history';\r\nimport { RouteLeavingGuard } from '../routing';\r\nimport { contactsComparer } from '../../utils';\r\nimport { Breadcrumbs } from '../controls/breadcrumbs/Breadcrumbs';\r\nimport { BreadcrumbsItem } from '../controls/breadcrumbs/BreadcrumbsItem';\r\nimport { DownloadTemplateButton } from '../common/download-template/DownloadTemplateButton';\r\nimport { DeleteRowsWithErrorButton } from '../grid/DeleteRowsWithErrorButton';\r\n\r\nclass ContactsGrid extends Component {\r\n render = () => {\r\n const { dataItems, isSaved, isEdit, isGridUploading, dispatch } = this.props;\r\n const contacts = dataItems.filter(i => !i.draft);\r\n const canSave = !isSaved && (isEdit || contacts.length);\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n

    {isEdit ? 'Edit All' : 'Import Contacts'}

    \r\n
    \r\n \r\n \r\n history.push(routes.dealers)}\r\n >\r\n Cancel\r\n \r\n dispatch(actions.save())}\r\n >\r\n Save\r\n \r\n
    \r\n
    \r\n
    \r\n dispatch(actions.uploadContacts(file))}\r\n onDataItemsPaste={clipboardText => dispatch(actions.handleClipboardData(clipboardText))}\r\n onRowDeleted={contact => dispatch(actions.deleteContact(contact.id))}\r\n onFileSelected={file => dispatch(actions.uploadContacts(file))}\r\n helpPopoverTitle=\"You can add your contacts in the following ways\"\r\n />\r\n history.push(pathname)}\r\n shouldBlockNavigation={this.handleBlockNavigation}\r\n />\r\n
    \r\n );\r\n };\r\n\r\n handleBlockNavigation = () => {\r\n const { isSaved, isEdit, initialContacts, dataItems } = this.props;\r\n const contacts = dataItems.filter(i => !i.draft);\r\n\r\n if(isSaved || (!contacts && initialContacts.length === 0)) {\r\n return false;\r\n }\r\n\r\n if (!isEdit) {\r\n return contacts.length > 0;\r\n }\r\n\r\n return !contactsComparer.compareMultiple(initialContacts, contacts);\r\n }\r\n}\r\n\r\nconst mapStateToProps = ({ contactsSave, grid }) => ({\r\n dataItems: grid.dataItems,\r\n initialContacts: contactsSave.initialContacts,\r\n isSaved: contactsSave.isSaved,\r\n isEdit: contactsSave.isEdit,\r\n isGridUploading: grid.upload.status === uploadStatus.uploading\r\n});\r\n\r\nconst connectedContactsGrid = connect(mapStateToProps)(ContactsGrid);\r\nexport { connectedContactsGrid as ContactsGrid };\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { history } from '../../history';\r\nimport { contactsSaveActions as actions } from '../../actions';\r\nimport { RouteLeavingGuard } from '../routing';\r\nimport { routes, contactConflictTypes } from '../../constants';\r\nimport { Conflict } from '.';\r\nimport { Breadcrumbs } from '../controls/breadcrumbs/Breadcrumbs';\r\nimport { BreadcrumbsItem } from '../controls/breadcrumbs/BreadcrumbsItem';\r\n\r\nclass Conflicts extends Component {\r\n render = () => {\r\n const { conflicts, isSaved, dispatch } = this.props;\r\n const canSave = !isSaved && conflicts.every(c => c.isResolved || c.conflictType === contactConflictTypes.duplicateName);\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n

    Conflicts

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
     NameEmailBroker-DealerTitlePhone 
    \r\n
    \r\n {conflicts.map((c, i) => )}\r\n
    \r\n history.push(pathname)}\r\n shouldBlockNavigation={() => !isSaved}\r\n />\r\n \r\n \r\n );\r\n };\r\n}\r\n\r\nconst mapStateToProps = ({ contactsSave }) => ({\r\n conflicts: contactsSave.conflicts,\r\n isSaved: contactsSave.isSaved\r\n});\r\n\r\nconst connectedConflicts = connect(mapStateToProps)(Conflicts);\r\nexport { connectedConflicts as Conflicts };\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { contactsSaveActions as actions } from '../../actions';\r\nimport { contactConflictTypes } from '../../constants';\r\nimport { nameUtils } from '../../utils';\r\n\r\nclass Conflict extends Component {\r\n renderDuplicates = unresolved => {\r\n return unresolved.map((c, i) =>\r\n \r\n \r\n {c.id ? '' : 'NEW'}\r\n \r\n {nameUtils.getFullName(c.firstName, c.lastName)}\r\n {c.email}\r\n {c.company || this.props.companies.find(company => company.id === c.companyId).name}\r\n {c.role}\r\n {c.phone}\r\n \r\n {\r\n unresolved.length > 1 &&\r\n this.props.dispatch(actions.deleteDuplicate(c))}>\r\n Delete\r\n \r\n }\r\n \r\n \r\n );\r\n }\r\n\r\n render = () => {\r\n const { conflict } = this.props;\r\n const unresolved = conflict.duplicates.filter(d => !d.isDeleted);\r\n\r\n return (\r\n <>\r\n {\r\n conflict.conflictType === contactConflictTypes.duplicateName &&\r\n unresolved.length > 1 &&\r\n

    \r\n These contacts have the same first and last name.\r\n You may leave all of them, but one of them is probably outdated\r\n

    \r\n }\r\n {\r\n conflict.conflictType === contactConflictTypes.duplicateEmail &&\r\n unresolved.length > 1 &&\r\n

    \r\n These contacts have the same email. Please delete one of them.\r\n

    \r\n }\r\n {\r\n unresolved.length === 1 &&\r\n

    \r\n This conflict was resolved\r\n

    \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.renderDuplicates(unresolved)}\r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = ({ contactsSave }) => ({\r\n companies: contactsSave.companies\r\n});\r\n\r\nconst connectedConflict = connect(mapStateToProps)(Conflict);\r\nexport { connectedConflict as Conflict }; \r\n","import * as React from 'react';\r\nimport classNames from 'classnames';\r\n\r\ninterface Props {\r\n value?: string;\r\n className?: string;\r\n backgroundClassName?: string;\r\n msAnimationTime?: number;\r\n msAnimationStep?: number;\r\n disabled?: boolean;\r\n children?: React.ReactNode;\r\n}\r\n\r\nexport function AnimatedValueUpdate({\r\n value,\r\n className,\r\n backgroundClassName,\r\n msAnimationTime = 7000,\r\n msAnimationStep = 200,\r\n disabled = false,\r\n children }: Props) {\r\n const refInterval = React.useRef(0);\r\n const [timeLeft, setTimeLeft] = React.useState(0);\r\n const opacity = refInterval.current\r\n ? Math.max(timeLeft, 0) / msAnimationTime\r\n : 0;\r\n\r\n const stopAnimation = () => {\r\n if (refInterval.current) {\r\n clearInterval(refInterval.current);\r\n refInterval.current = 0;\r\n }\r\n }\r\n React.useEffect(() => {\r\n if (refInterval.current && timeLeft <= 0) {\r\n stopAnimation();\r\n }\r\n // eslint-disable-next-line\r\n }, [timeLeft])\r\n\r\n React.useEffect(() => {\r\n if (!disabled) {\r\n stopAnimation();\r\n setTimeLeft(msAnimationTime);\r\n refInterval.current = setInterval(() => {\r\n setTimeLeft(timeLeft => timeLeft - msAnimationStep);\r\n }, msAnimationStep);\r\n }\r\n // eslint-disable-next-line\r\n }, [value, disabled]);\r\n\r\n const animationClassName = classNames('animated-value-update-bg', backgroundClassName, {\r\n 'animated-value-update-default-bg': !backgroundClassName,\r\n });\r\n\r\n return (\r\n
    \r\n
    \r\n
    {children || value}
    \r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport classNames from 'classnames';\r\nimport IconSVG from '../../styles/svg-icons';\r\n\r\ninterface BottomPanelProps {\r\n children: React.ReactNode;\r\n className?: string;\r\n}\r\n\r\nexport function BottomPanel({ children, className }: BottomPanelProps) {\r\n return (\r\n
    \r\n {children}\r\n
    \r\n );\r\n}\r\n\r\ninterface CloseButtonProps {\r\n onClick: (e: React.MouseEvent) => void;\r\n}\r\n\r\nexport function BottomPanelCloseButton({ onClick }: CloseButtonProps) {\r\n return (\r\n \r\n );\r\n}\r\n\r\n","import React, { useRef, PropsWithChildren } from 'react';\r\nimport cn from 'classnames';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { BlockedFeatureContext } from '../access/BlockedFeatureContext';\r\n\r\ninterface Props {\r\n className?: string;\r\n checked?: boolean;\r\n partially?: boolean;\r\n label?: React.ReactNode;\r\n onChange?: (e: React.ChangeEvent) => void;\r\n disabled?: boolean;\r\n name?: string;\r\n}\r\n\r\nexport const Checkbox: React.FC> = (\r\n {\r\n className,\r\n checked,\r\n partially,\r\n label,\r\n onChange,\r\n disabled,\r\n children,\r\n name\r\n }\r\n) => {\r\n const id = useRef(uuid());\r\n\r\n const isFeatureBlocked = React.useContext(BlockedFeatureContext);\r\n\r\n return (\r\n e.stopPropagation()}\r\n >\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nCheckbox.defaultProps = {\r\n onChange: () => { },\r\n checked: false,\r\n partially: false,\r\n disabled: false,\r\n};\r\n","import React, { Component } from 'react';\r\nimport cn from 'classnames';\r\nimport { ClickOutside } from '../common/ClickOutside';\r\nimport IconSVG from '../../styles/svg-icons';\r\nimport { ContextMenuItem } from './ContextMenuItem';\r\n\r\nexport default class ContextMenu extends Component {\r\n state = {\r\n visible: false,\r\n showAbove: false,\r\n bottom: 0,\r\n };\r\n\r\n componentDidUpdate() {\r\n if (this.state.visible && this.adjustMenuDirection) {\r\n this.adjustMenuDirection = false;\r\n const iconHeight = (this._refIcon && this._refIcon.clientHeight) || 0;\r\n const distance = window.innerHeight - this.state.bottom - iconHeight;\r\n if (this._refList && this._refList.clientHeight > distance) {\r\n this.setState({ showAbove: true });\r\n }\r\n }\r\n }\r\n\r\n show = e => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.adjustMenuDirection = true;\r\n const boundingClientRect = e.target.getBoundingClientRect();\r\n this.setState({ visible: true, bottom: boundingClientRect.bottom + (this.props.bottomMargin || 0) });\r\n this.props.onShow && this.props.onShow();\r\n };\r\n\r\n hide = () => {\r\n this.setState({ visible: false, showAbove: false });\r\n this.props.onHide && this.props.onHide();\r\n }\r\n\r\n handleMenuClick = e => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.hide();\r\n }\r\n\r\n handleMenuItemClick = (item, e) => {\r\n if (typeof item.action === 'function') {\r\n item.action(e);\r\n }\r\n };\r\n\r\n renderMenu = items =>\r\n \r\n this._refList = node}\r\n className={cn(\"context-menu-dropdown\", this.state.showAbove ? 'show-above' : null)}\r\n onClick={this.handleMenuClick}\r\n >\r\n {\r\n this.props.children || items?.map((item, index) =>\r\n this.handleMenuItemClick(item, e)}\r\n >\r\n {item.textComponent && }\r\n {item.text}\r\n \r\n )\r\n }\r\n \r\n \r\n\r\n renderTargetComponent = () =>\r\n this.props.customTargetComponent ||\r\n {this.props.text};\r\n\r\n render = () => {\r\n const { className, menuItems, disabled } = this.props;\r\n\r\n if (!menuItems && !this.props.children) {\r\n return null;\r\n }\r\n\r\n return (\r\n
    \r\n this._refIcon = node}\r\n >\r\n {this.renderTargetComponent()}\r\n
    \r\n {this.state.visible && this.renderMenu(menuItems)}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from 'react';\r\nimport cn from 'classnames';\r\nimport { user } from '../../user/user';\r\nimport { SubscriptionFeature } from '../../types/billing/SubscriptionFeature';\r\nimport { ActionBlocker } from '../access/ActionBlocker';\r\nimport { RoleActionBlocker } from '../access/RoleActionBlocker';\r\n\r\ninterface Props {\r\n disabled?: boolean;\r\n children: React.ReactNode;\r\n sectionBlock?: boolean;\r\n classNames?: string;\r\n requiredFeatures?: SubscriptionFeature[];\r\n requiredRoles?: string[];\r\n onClick?: (e: React.MouseEvent) => void;\r\n}\r\n\r\nexport function ContextMenuItem({ disabled = false, sectionBlock = false, classNames = '', requiredFeatures, requiredRoles, children, onClick }: Props) {\r\n const featureBlocked = requiredFeatures?.length ? !user.hasFeatures(...requiredFeatures) : false;\r\n const roleBlocked = requiredRoles?.length ? !user.hasRoles(...requiredRoles) : false;\r\n\r\n const handleClick = (e: React.MouseEvent) => {\r\n if (disabled || featureBlocked || roleBlocked) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n } else if (onClick) {\r\n onClick(e);\r\n }\r\n }\r\n\r\n return (\r\n \r\n {\r\n featureBlocked &&\r\n \r\n {children}\r\n \r\n }\r\n {\r\n roleBlocked &&\r\n requiredRoles?.length &&\r\n \r\n {children}\r\n \r\n }\r\n {!featureBlocked && !roleBlocked && children}\r\n \r\n );\r\n}\r\n","import moment from \"moment\";\r\nimport { constants } from \"../../constants/constants\";\r\nimport { DayModifiers, DayPicker, Matcher } from \"react-day-picker\";\r\nimport React, { ChangeEvent, useState } from \"react\";\r\nimport { ClickOutside } from \"../common/ClickOutside\";\r\nimport IconSVG from \"../../styles/svg-icons\";\r\nimport { CustomDatePicker } from \"../common/date-range-custon-view/CustomDatePicker\";\r\n\r\ninterface DayPickerInputProps {\r\n name?: string;\r\n className?: string;\r\n selectedDate?: Date;\r\n minimumDate?: Date;\r\n maximumDate?: Date;\r\n placeholder?: string;\r\n dateFormat?: string;\r\n disabled?: boolean;\r\n onDayChange: (day?: Date | string, dayRaw?: string) => void\r\n disabledDays?: Matcher[];\r\n allowWeekends?: boolean;\r\n onBlur?: (e: ChangeEvent) => void\r\n toMonth?: Date;\r\n emptyIfNull?: boolean;\r\n withCustomView?: boolean;\r\n dateInputFormat?: string[];\r\n}\r\n\r\nexport const DayPickerInput = ({\r\n selectedDate,\r\n dateFormat = constants.dateFormat,\r\n dateInputFormat,\r\n className,\r\n disabledDays = [],\r\n minimumDate,\r\n maximumDate,\r\n onBlur,\r\n placeholder,\r\n disabled,\r\n toMonth,\r\n onDayChange,\r\n emptyIfNull = false,\r\n allowWeekends = true,\r\n withCustomView = false,\r\n}: DayPickerInputProps\r\n) => {\r\n const [month, setMonth] = useState(selectedDate ?? new Date());\r\n const [currentDate, setCurrentDate] = useState(selectedDate ?? new Date());\r\n const [showDayPicker, setShowDayPicker] = useState(false);\r\n const [inputValue, setInputValue] = useState(\r\n selectedDate\r\n ? moment(selectedDate).format(dateFormat)\r\n : emptyIfNull\r\n ? ''\r\n : moment(new Date()).format(dateFormat),\r\n );\r\n\r\n const handleOnDayClick = (date: Date, modifiers?: DayModifiers) => {\r\n if (modifiers?.disabled) {\r\n return;\r\n }\r\n\r\n setCurrentDate(date);\r\n setInputValue(moment(date).format(dateFormat));\r\n onDayChange(date, moment(date).format());\r\n setShowDayPicker(false);\r\n };\r\n\r\n const onRawInputChange = (e: React.ChangeEvent) => {\r\n const value = e.target.value && e.target.value.trim();\r\n const newCurrentMoment = dateInputFormat ? moment(value, dateInputFormat, true) : moment(value, dateFormat, true);\r\n\r\n if (newCurrentMoment.isValid()) {\r\n const date = newCurrentMoment.toDate();\r\n setCurrentDate(date);\r\n setMonth(date);\r\n onDayChange(date, moment(date).format(dateFormat));\r\n setInputValue(moment(date).format(dateFormat));\r\n } else {\r\n onDayChange(value === '' ? value: undefined, value);\r\n setInputValue(e.target.value);\r\n }\r\n }\r\n\r\n const renderNavIcon = () => ;\r\n\r\n return (\r\n setShowDayPicker(false)}>\r\n
    \r\n setShowDayPicker(true)}\r\n disabled={disabled}\r\n onBlur={onBlur}\r\n />\r\n {showDayPicker ?\r\n
    \r\n {withCustomView ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    : null}\r\n
    \r\n
    \r\n )\r\n}\r\n","import cn from 'classnames';\r\nimport IconSVG from '../../styles/svg-icons';\r\nimport { Preloader } from '../common';\r\n\r\ninterface DropDownButtonProps {\r\n children: React.ReactNode;\r\n title: React.ReactNode;\r\n className?: string;\r\n expanded: boolean;\r\n focused: boolean;\r\n disabled?: boolean;\r\n loading?: boolean;\r\n changed?: boolean;\r\n onClick: (expanded: boolean) => void;\r\n}\r\n\r\nexport const DropDownButton = ({\r\n children,\r\n title,\r\n className,\r\n expanded,\r\n focused,\r\n disabled = false,\r\n loading = false,\r\n changed = false,\r\n onClick,\r\n}: DropDownButtonProps) => {\r\n return (\r\n onClick(!expanded)}\r\n >\r\n {loading && }\r\n
    \r\n {title}\r\n \r\n
    \r\n {expanded && children}\r\n \r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport classNames from 'classnames';\r\nimport { ClickOutside } from '../common/ClickOutside';\r\nimport { arrayUtils } from '../../utils/array.utils';\r\nimport { DropDownButton } from './DropDownButton';\r\n\r\ninterface Props {\r\n className?: string;\r\n items: DropDownListItem[];\r\n showLoadingProgress?: boolean;\r\n disabled?: boolean;\r\n defaultSortingEnabled?: boolean;\r\n placeholder?: string;\r\n renderSelectedItemCallback?: (item: DropDownListItem) => React.ReactNode;\r\n renderItemContentCallback?: (item: DropDownListItem, hovered: boolean) => React.ReactNode;\r\n render?: (items: JSX.Element[], freezedItems: JSX.Element[]) => React.ReactNode;\r\n onChange?: (item: DropDownListItem, e: React.MouseEvent) => void;\r\n prefix?: string;\r\n}\r\n\r\nexport interface DropDownListItem {\r\n value: string | number;\r\n text: string;\r\n selected?: boolean;\r\n groupKey?: number;\r\n payload?: any;\r\n disabled?: boolean;\r\n freezed?: boolean;\r\n}\r\n\r\nexport function DropDownList({\r\n className = '',\r\n showLoadingProgress = false,\r\n disabled = false,\r\n items,\r\n placeholder,\r\n defaultSortingEnabled = true,\r\n render,\r\n renderSelectedItemCallback,\r\n renderItemContentCallback,\r\n onChange,\r\n prefix,\r\n}: Props) {\r\n const [hoveredItem, setHoveredItem] = useState();\r\n const [expanded, setExpanded] = useState(false);\r\n const [focused, setFocused] = useState(false);\r\n const selected = items.find(i => i.selected ?? false);\r\n const defaultItem = items.find(i => !i.value);\r\n\r\n let sortedItems = defaultSortingEnabled\r\n ? [...items]\r\n .filter(i => i.value)\r\n .sort((a, b) => (b.groupKey || 0) - (a.groupKey || 0) || a.text.localeCompare(b.text))\r\n : items;\r\n\r\n if (defaultItem) {\r\n sortedItems = [defaultItem, ...sortedItems];\r\n }\r\n\r\n const excludedFreezed = sortedItems.filter(item => !expanded || !item.freezed);\r\n\r\n const groups: Map = arrayUtils.groupBy(excludedFreezed, (item: DropDownListItem) => item.groupKey);\r\n\r\n const closeDropDown = () => {\r\n setFocused(false);\r\n setExpanded(false);\r\n }\r\n\r\n const renderGroup = (groupKey: number | undefined, items: DropDownListItem[]) => {\r\n const key = groupKey || 0;\r\n return (\r\n
    \r\n {items.map(i => renderItem(key, i))}\r\n
    \r\n );\r\n }\r\n\r\n const renderItem = (parentKey: number, item: DropDownListItem) => {\r\n const handleItemClick = (e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n if (!item.disabled) {\r\n closeDropDown();\r\n onChange && onChange(item, e);\r\n }\r\n }\r\n\r\n return (\r\n setHoveredItem(item.value)}\r\n onMouseLeave={() => setHoveredItem(undefined)}\r\n >\r\n
    {renderItemContentCallback ? renderItemContentCallback(item, hoveredItem === item.value) : item.text}
    \r\n \r\n );\r\n }\r\n\r\n const renderedItems = [...groups.entries()]\r\n .map(([key, items]) => renderGroup(key, items));\r\n\r\n const renderedFreezedItems = sortedItems\r\n .filter(el => el.freezed)\r\n .map((item, i) => renderItem(i, item));\r\n\r\n const renderContent = () => {\r\n return (\r\n {selected ? `${prefix ? prefix : ''}${selected.text}` : placeholder}
    \r\n }\r\n className={className}\r\n disabled={disabled}\r\n loading={showLoadingProgress}\r\n onClick={() => {\r\n setExpanded(prev => !prev);\r\n setFocused(prev => !prev);\r\n }}\r\n >\r\n
    \r\n {render?.(renderedItems, renderedFreezedItems) ?? renderedItems}\r\n
    \r\n \r\n );\r\n }\r\n\r\n if (focused) {\r\n return (\r\n \r\n {renderContent()}\r\n \r\n );\r\n }\r\n\r\n return renderContent();\r\n}","import React, { Component } from 'react';\r\nconst imageTypes = '.cdi,.csv,.doc,.docx,.pdf,.ppt,.pptx,.xls,.xlsx'\r\n\r\nexport default class FileIcon extends Component {\r\n render = () => {\r\n const { filename, isNew = false } = this.props;\r\n\r\n let fileIcon;\r\n if (isNew) {\r\n fileIcon = 'add-file';\r\n } else {\r\n const supportedFileTypes = imageTypes.split(',');\r\n const extension = filename.substr(filename.lastIndexOf('.'));\r\n const supported =\r\n extension &&\r\n supportedFileTypes.find(e =>\r\n e.localeCompare(extension, undefined, { sensitivity: 'accent' }) === 0);\r\n\r\n fileIcon = supported ? supported.replace('.', '') : 'unknown-file';\r\n }\r\n\r\n return \r\n }\r\n}\r\n","import React from 'react';\r\nimport cn from 'classnames';\r\n\r\nexport function FormError({ message, right=false }) {\r\n if (!message) {\r\n return null;\r\n }\r\n return
    {message}
    ;\r\n}\r\n","import * as React from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\n\r\ninterface Props {\r\n to: string\r\n disabled?: boolean\r\n className?: string\r\n children?: React.ReactNode\r\n [extraProps: string]: any\r\n}\r\n\r\nexport function Link({ to, disabled = false, className, children, ...rest }: Props) {\r\n if (disabled) {\r\n return \r\n {children}\r\n \r\n }\r\n\r\n return {children}\r\n}\r\n","import * as React from 'react';\r\nimport classNames from 'classnames';\r\nimport { ClickOutside } from '../common';\r\nimport { isIE } from '../../utils/isIE.utils';\r\nimport { Checkbox } from './Checkbox';\r\n\r\nexport interface MultiSelectDataItem {\r\n text: string;\r\n value: string | number;\r\n disabled?: boolean;\r\n selected?: boolean;\r\n}\r\n\r\ninterface Props {\r\n name?: string\r\n required?: boolean\r\n className?: string\r\n placeholder?: string\r\n disabled?: boolean\r\n sourceItems: MultiSelectDataItem[]\r\n onItemSelect: (item: MultiSelectDataItem, selected: boolean) => void\r\n generateSelectedText?: (selectedItems: MultiSelectDataItem[]) => React.ReactNode\r\n showAddButton: boolean,\r\n onResetAll?: (e: React.MouseEvent) => void ,\r\n onSelectAll?: (e: React.MouseEvent) => void,\r\n showResetButton?: boolean,\r\n showSelectAllButton?: boolean,\r\n selectButtonText?: string,\r\n resetButtonText?: string,\r\n}\r\n\r\nexport function MultiSelect(\r\n {\r\n name,\r\n required = false,\r\n placeholder = '',\r\n disabled = false,\r\n sourceItems,\r\n onItemSelect,\r\n showAddButton = true,\r\n generateSelectedText,\r\n className = '',\r\n onResetAll,\r\n onSelectAll,\r\n showResetButton = false,\r\n showSelectAllButton = false,\r\n selectButtonText = 'Select All',\r\n resetButtonText = 'Reset'\r\n }: Props) {\r\n const [expanded, setExpanded] = React.useState(false);\r\n const selectedItems = sourceItems.filter(i => i.selected);\r\n\r\n const getText = (): React.ReactNode => {\r\n if (selectedItems.length) {\r\n return generateSelectedText == null\r\n ? selectedItems.map(s => s.text).join(', ')\r\n : generateSelectedText(selectedItems);\r\n }\r\n\r\n return {placeholder};\r\n };\r\n\r\n const renderItem = (item: MultiSelectDataItem) => {\r\n return (\r\n
  • \r\n onItemSelect(item, e.target.checked)}\r\n checked={!!item.selected}\r\n disabled={!!item.disabled}\r\n label={item.text}\r\n />\r\n
  • \r\n );\r\n };\r\n\r\n const multiselectCssClasses = classNames(className, {\r\n 'form-control form-select multiselect': true,\r\n show: expanded,\r\n disabled: disabled,\r\n selected: sourceItems.filter(i => i.selected).length > 0,\r\n multiselected: sourceItems.filter(i => i.selected).length > 1\r\n });\r\n\r\n const renderResetSelectButtons = () => {\r\n if (showSelectAllButton) {\r\n return (\r\n
  • \r\n \r\n
  • \r\n );\r\n }\r\n\r\n if (showResetButton) {\r\n return (\r\n
  • \r\n \r\n
  • \r\n );\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n true}\r\n className=\"invisible\"\r\n />\r\n setExpanded(true)}\r\n >\r\n {getText()}\r\n
    \r\n {\r\n expanded &&\r\n isIE() ? setTimeout(() => setExpanded(false), 0) : setExpanded(false)}\r\n >\r\n
      \r\n {renderResetSelectButtons()}\r\n {sourceItems.map(i => renderItem(i))}\r\n
    \r\n {\r\n showAddButton && (\r\n
    \r\n \r\n
    )\r\n }\r\n \r\n }\r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport cn from 'classnames';\r\nimport IconSVG from '../../styles/svg-icons';\r\nimport { DocumentBodyPortal } from '../common/DocumentBodyPortal';\r\n\r\ninterface Props {\r\n title?: React.ReactNode;\r\n renderTitle?: React.ReactNode;\r\n subTitle?: React.ReactNode;\r\n onClose?: (e: MouseEvent) => void;\r\n modalClass?: string;\r\n disabled?: boolean;\r\n renderInBody?: boolean;\r\n children: React.ReactNode;\r\n}\r\n\r\nconst Popup: React.FC = (\r\n { children, title, renderTitle, subTitle, onClose, modalClass, disabled, renderInBody }\r\n) => {\r\n const content = (\r\n
    e.stopPropagation()}>\r\n
    e.stopPropagation()}>\r\n
    e.stopPropagation()}>\r\n {title &&

    {title}

    }\r\n {renderTitle && <>{renderTitle}}\r\n {subTitle &&

    {subTitle}

    }\r\n disabled ? undefined : onClose && onClose(e)}\r\n >\r\n \r\n \r\n
    \r\n {children}\r\n
    \r\n
    \r\n );\r\n\r\n if (renderInBody) {\r\n return {content}\r\n }\r\n\r\n return content;\r\n}\r\n\r\nPopup.defaultProps = {\r\n title: '',\r\n renderTitle: null,\r\n subTitle: null,\r\n onClose: () => { },\r\n modalClass: '',\r\n disabled: false,\r\n renderInBody: false,\r\n}\r\n\r\nexport default Popup;\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\n\r\nexport function PopupBody({ className = '', children }) {\r\n return (\r\n e.stopPropagation()}\r\n >\r\n {children}\r\n \r\n )\r\n}\r\n\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\n\r\nexport function PopupFooter({ className = '', children }) {\r\n return (\r\n e.stopPropagation()}\r\n >\r\n {children}\r\n \r\n )\r\n}\r\n\r\n","import React from 'react';\r\nimport cn from 'classnames';\r\n\r\ninterface Props extends React.InputHTMLAttributes {\r\n label?: React.ReactNode;\r\n partially?: boolean;\r\n dataTestId?: string\r\n}\r\n\r\nexport const RadioButton: React.FC = (\r\n {\r\n label,\r\n partially,\r\n dataTestId,\r\n ...rest\r\n }) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nRadioButton.defaultProps = {\r\n label: ''\r\n};\r\n","import React from 'react';\r\nimport cn from 'classnames';\r\nimport { RadioButton } from './RadioButton';\r\n\r\nexport function RadioButtonGroup({ className = '', options, value, disabled = false, onChange, name = '' }) {\r\n const handleChange = value => !disabled && onChange && onChange(value);\r\n\r\n return (\r\n
    \r\n {options.map(option => (\r\n handleChange(option.value)}\r\n disabled={disabled}\r\n />\r\n ))}\r\n
    \r\n )\r\n}\r\n\r\nRadioButtonGroup.defaultProps = {\r\n options: [],\r\n value: '',\r\n onChange: () => false,\r\n}\r\n","import * as React from 'react';\r\nimport classNames from 'classnames';\r\nimport IconSVG from '../../styles/svg-icons';\r\n\r\ninterface RightSidePanelProps {\r\n title: React.ReactNode;\r\n className?: string;\r\n children: React.ReactNode;\r\n closeButton?: React.ReactNode;\r\n onClose?: (e: React.MouseEvent) => void;\r\n}\r\n\r\ninterface CloseButtonProps {\r\n onClick: (e: React.MouseEvent) => void;\r\n}\r\n\r\nfunction RightSidePanelCloseButton({ onClick }: CloseButtonProps) {\r\n const handleClick = (e: React.MouseEvent) => {\r\n onClick(e);\r\n (e.target as HTMLElement).getBoundingClientRect();\r\n }\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport function RightSidePanel({ title, className, closeButton, onClose, children }: RightSidePanelProps) {\r\n return (\r\n
    \r\n
    \r\n

    {title}

    \r\n
    \r\n {closeButton ?? (onClose && )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {children}\r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { RightSidePanel } from './RightSidePanel';\r\nimport { TabList, TabItem } from '../bidding/common/tab-list';\r\nimport { SubscriptionFeature } from '../../types/billing/SubscriptionFeature';\r\nimport { ActionBlocker } from '../access/ActionBlocker';\r\nimport { HorizontalSlider } from '../common/HorizontalSlider';\r\n\r\ninterface TabPanelItem {\r\n active: boolean;\r\n title: string;\r\n renderContent: () => React.ReactNode;\r\n onActivate: () => void;\r\n onDeactivate: () => void;\r\n feature?: SubscriptionFeature;\r\n}\r\n\r\ninterface Props {\r\n title: React.ReactNode,\r\n className?: string,\r\n items: TabPanelItem[],\r\n onClose?: () => void\r\n}\r\n\r\nconst tabsPerView = 5;\r\n\r\nexport function RightSideTabPanel({ title, className, items, onClose }: Props) {\r\n const activeItem = items.find(i => i.active);\r\n const activeItemIndex = items.findIndex(i => i.active);\r\n\r\n if (!activeItem) {\r\n return null;\r\n }\r\n\r\n const handleTabClick = (item: TabPanelItem) => {\r\n activeItem.onDeactivate();\r\n item.onActivate();\r\n }\r\n\r\n const handleClose = () => {\r\n activeItem.onDeactivate();\r\n\r\n if (onClose) {\r\n onClose();\r\n }\r\n }\r\n\r\n const tabs = items.map(i => {\r\n const renderTabItem = (disabled: boolean) => (\r\n handleTabClick(i)}\r\n disabled={disabled}\r\n />\r\n )\r\n if (i.feature) {\r\n return (\r\n \r\n {(disabled: boolean) => renderTabItem(disabled)}\r\n \r\n );\r\n }\r\n return renderTabItem(false);\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n {tabs}\r\n \r\n \r\n {activeItem.renderContent()}\r\n \r\n );\r\n}\r\n","import { SyntheticEvent, useState } from 'react';\r\nimport { SearchInput } from '../common';\r\nimport { DropDownList, DropDownListItem } from './DropDownList';\r\n\r\n\r\ninterface SelectSearchFieldProps {\r\n label: string;\r\n disabled?: boolean;\r\n markRequired: boolean;\r\n options: DropDownListItem[];\r\n placeholder?: string;\r\n className?: string;\r\n onChange: (value: number | string | null) => void;\r\n}\r\n\r\nexport function SelectSearch({ disabled = false, options, placeholder, onChange, className }: SelectSearchFieldProps) {\r\n const [searchTerm, setSearchTerm] = useState('');\r\n const filteredOptions = options\r\n .filter(({ freezed, text }) => freezed || text.toLocaleLowerCase().includes(searchTerm.toLocaleLowerCase()));\r\n\r\n\r\n const handleSearchTermChange = (value: string) => {\r\n onChange(null);\r\n setSearchTerm(value);\r\n };\r\n\r\n const handleClearSearch = () => setSearchTerm('');\r\n\r\n return (\r\n <>\r\n {\r\n onChange(item.value)\r\n handleClearSearch();\r\n }}\r\n render={\r\n (items, freezedItems) => (\r\n <>\r\n e.stopPropagation()}\r\n onChange={handleSearchTermChange}\r\n onClear={handleClearSearch}\r\n />\r\n {items.length || freezedItems.length ? (\r\n <>\r\n {items}\r\n {freezedItems}\r\n \r\n ) : (\r\n
    e.stopPropagation()}>\r\n No search results found.\r\n
    \r\n )}\r\n \r\n )\r\n }\r\n />\r\n \r\n );\r\n}\r\n\r\n","import React, { Component } from 'react';\r\nimport moment from 'moment';\r\nimport TimePicker from 'rc-time-picker';\r\nimport { dateTimeUtils } from '../../utils';\r\nimport 'rc-time-picker/assets/index.css';\r\nimport { constants } from '../../constants';\r\n\r\n\r\nexport default class TimePickerControl extends Component {\r\n render = () => {\r\n const { id = 'timePickerControl', emptyEnabled, time, className = '', disabledHours = [], disabledMinutes = [], placeholder } = this.props;\r\n\r\n return (\r\n
    \r\n disabledHours}\r\n disabledMinutes={() => disabledMinutes}\r\n />\r\n
    \r\n );\r\n };\r\n\r\n handleClose = () => {\r\n const { emptyEnabled, time, defaultTime, onTimeChange } = this.props\r\n\r\n if (!time && !emptyEnabled) {\r\n onTimeChange(defaultTime || dateTimeUtils.timestampToUtcString('00:00 AM'));\r\n }\r\n }\r\n\r\n handleTimeChange = time => {\r\n const { onTimeChange, disabledHours } = this.props;\r\n\r\n if(time && Array.isArray(disabledHours) && disabledHours.indexOf(time.get('hours') + 1) > -1){\r\n time.set('minute', '00');\r\n }\r\n\r\n if (!time) {\r\n onTimeChange('');\r\n } else if (time.isUTC()) {\r\n onTimeChange(time.utc().format());\r\n } else {\r\n const timestamp = time.format(constants.timeFormat);\r\n onTimeChange(dateTimeUtils.timestampToUtcString(timestamp));\r\n }\r\n }\r\n}\r\n","import { Fragment } from \"react/jsx-runtime\";\r\nimport { TimeSpan as TimeSpanType } from \"../../types/primitives/TimeSpan\";\r\nimport { dateTimeUtils } from \"../../utils\";\r\nimport { Pluralize } from \"../common/Pluralize\";\r\n\r\ninterface Props {\r\n value: TimeSpanType;\r\n}\r\nexport function TimeSpan({ value }: Props) {\r\n const time = dateTimeUtils.parseTimeSpan(value);\r\n\r\n if (!time) return null;\r\n\r\n const hours = time.hours ? : null\r\n const minutes = time.minutes ? : null\r\n const seconds = time.seconds ? : null\r\n\r\n return (\r\n <>\r\n {[hours, minutes, seconds]\r\n .filter(x => x !== null)\r\n .map((e, i) => ({i > 0 && \" \"}{e}))}\r\n \r\n );\r\n}","import React, { useMemo, useState } from \"react\";\r\nimport { flatten, kebabCase, sum, uniq } from 'lodash';\r\nimport { EmptyPlaceholder, ClickOutside, SearchInput } from \"../common\";\r\nimport { Checkbox } from \"./Checkbox\";\r\nimport classNames from 'classnames';\r\nimport { FilterDropDown } from '../common/filters/FilterDropDown';\r\nimport { DropDownButton } from './DropDownButton';\r\n\r\nexport interface TreeSelectOption {\r\n text: string;\r\n value: T;\r\n meta?: any;\r\n children?: TreeSelectOption[];\r\n}\r\n\r\ninterface TreeSelectProps {\r\n defaultExpanded?: boolean;\r\n options: TreeSelectOption[];\r\n value: T[];\r\n title: string | React.ReactNode;\r\n withSearch?: boolean;\r\n className?: string;\r\n disabled?: boolean;\r\n renderMeta?: (option: TreeSelectOption) => React.ReactNode;\r\n titleFormatter?: (items: TreeSelectOption[]) => React.ReactNode;\r\n onChange: (items: T[]) => void;\r\n}\r\n\r\nfunction getLowestLevelChildren(item: TreeSelectOption): T[] {\r\n if (!item.children || !item.children.length) {\r\n return [item.value];\r\n }\r\n\r\n const children = item.children.map(x => getLowestLevelChildren(x));\r\n\r\n return flatten(children);\r\n}\r\n\r\nfunction filterOptions(searchTerm: string, options: TreeSelectOption[]) {\r\n if (!searchTerm.length) {\r\n return options;\r\n }\r\n\r\n const searchTermLowerCase = searchTerm.trim().toLowerCase();\r\n return options.filter((option) => {\r\n const topLevelItemMatches = option.text.toLowerCase().includes(searchTermLowerCase);\r\n const lowLevelItemsMatch = (option.children || []).some(child =>\r\n child.text.toLocaleLowerCase().includes(searchTermLowerCase)\r\n );\r\n\r\n return topLevelItemMatches || lowLevelItemsMatch;\r\n });\r\n}\r\n\r\nexport function TreeSelect({\r\n options,\r\n value,\r\n title,\r\n withSearch,\r\n className,\r\n disabled = false,\r\n renderMeta,\r\n titleFormatter,\r\n onChange,\r\n}: TreeSelectProps) {\r\n const [expanded, setExpanded] = useState(false);\r\n const [searchTerm, setSearchTerm] = useState('');\r\n const selectedOptions = flatten(options.map(option => (option.children || []).filter(childOption => value.includes(childOption.value))));\r\n\r\n const childrenCount = useMemo(() => sum(options.map(x => getLowestLevelChildren(x).length)), [options]);\r\n const filteredOptions = useMemo(() => filterOptions(searchTerm, options), [searchTerm, options]);\r\n\r\n function handleSearchTermChange(value: string) {\r\n setSearchTerm(value);\r\n }\r\n\r\n function handleSelectAll() {\r\n onChange(flatten(options.map(getLowestLevelChildren)));\r\n }\r\n\r\n function handleResetToDefault() {\r\n onChange([]);\r\n }\r\n\r\n function handleClearSearch() {\r\n setSearchTerm('');\r\n }\r\n\r\n function handleItemClick(item: TreeSelectOption) {\r\n // Top-level item clicked\r\n if (item.children && item.children.length) {\r\n const lowestLevelValues = getLowestLevelChildren(item);\r\n\r\n // All were checked — uncheck all\r\n if (lowestLevelValues.every(item => value.includes(item))) {\r\n return onChange(value.filter(item => !lowestLevelValues.includes(item)));\r\n }\r\n\r\n // All were unchecked, or some checked, some unchecked - check all\r\n onChange(uniq([...value, ...lowestLevelValues]));\r\n } else { // Low-level item clicked\r\n // Item is unchecked\r\n if (value.includes(item.value)) {\r\n return onChange(value.filter(x => x !== item.value));\r\n }\r\n\r\n onChange([...value, item.value]);\r\n }\r\n }\r\n\r\n function renderTitle() {\r\n if (titleFormatter) {\r\n return titleFormatter(selectedOptions);\r\n }\r\n\r\n const optionsCount = selectedOptions.length;\r\n\r\n if (optionsCount === 1) {\r\n const [firstOption] = selectedOptions;\r\n return (<>{title}: {firstOption.text});\r\n }\r\n\r\n if (!optionsCount || optionsCount === childrenCount) {\r\n return `${title}: All`;\r\n }\r\n\r\n return (<>{title}: {optionsCount} selected);\r\n }\r\n\r\n function renderLookup() {\r\n if (!filteredOptions.length) {\r\n return ;\r\n }\r\n\r\n return (\r\n
      \r\n {filteredOptions.map((option) => {\r\n const allChildrenSelected = (option.children || []).every(x => value.includes(x.value));\r\n const someChildrenSelected = (option.children || []).some(x => value.includes(x.value));\r\n\r\n return (\r\n
    • \r\n handleItemClick(option)}\r\n partially={!allChildrenSelected && someChildrenSelected}\r\n />\r\n
        \r\n {option.children && option.children.map((childOption) => (\r\n
      • \r\n handleItemClick(childOption)}\r\n />\r\n {renderMeta && renderMeta(childOption)}\r\n
      • \r\n ))}\r\n
      \r\n
    • \r\n );\r\n })}\r\n
    \r\n );\r\n }\r\n\r\n function renderSelectAllClear() {\r\n if (!filteredOptions.length) {\r\n return null;\r\n }\r\n\r\n if (!selectedOptions.length) {\r\n return (\r\n \r\n Select All\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n Reset to default\r\n \r\n );\r\n }\r\n\r\n function renderSelectedItems() {\r\n if (!selectedOptions.length) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n
      \r\n {options.map(option => {\r\n const selectedOptions = (option.children || []).filter(x => value.includes(x.value));\r\n\r\n if (!selectedOptions.length) {\r\n return null;\r\n }\r\n\r\n return (\r\n
    • \r\n handleItemClick(option)}\r\n partially={selectedOptions.length !== option.children?.length}\r\n />\r\n
        \r\n {selectedOptions.map((childOption) => (\r\n
      • \r\n handleItemClick(childOption)}\r\n />\r\n {renderMeta && renderMeta(childOption)}\r\n
      • \r\n ))}\r\n
      \r\n
    • \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n return (\r\n setExpanded(false)}\r\n >\r\n setExpanded(expanded)}\r\n className=\"custom-drop-down-ghost\"\r\n >\r\n \r\n {withSearch ? (\r\n <>\r\n \r\n {renderSelectAllClear()}\r\n {renderSelectedItems()}\r\n \r\n ) : (\r\n renderSelectAllClear()\r\n )}\r\n\r\n {renderLookup()}\r\n \r\n \r\n \r\n );\r\n}\r\n","import { useState } from \"react\";\r\nimport cn from \"classnames\";\r\nimport { ClickOutside } from \"../common\";\r\nimport IconSVG from \"../../styles/svg-icons\";\r\nimport { constants } from '../../constants';\r\nimport { isNil } from 'lodash';\r\n\r\ninterface Props {\r\n years: number[];\r\n selectedYear?: number;\r\n onChange: (year?: number) => void;\r\n currentYearPrefix?: string;\r\n prefix?: string;\r\n disabled?: boolean\r\n showAllOption?: boolean;\r\n}\r\n\r\nexport function YearSelector({\r\n years,\r\n selectedYear,\r\n onChange,\r\n currentYearPrefix,\r\n prefix,\r\n disabled = false,\r\n showAllOption = false,\r\n}: Props) {\r\n const [displaying, setDisplaying] = useState(false);\r\n const currentYear = new Date().getFullYear();\r\n\r\n const handleClick = (year?: number) => {\r\n onChange(year);\r\n setDisplaying(false);\r\n };\r\n\r\n const returnPrefix = (year: number) =>\r\n currentYearPrefix && year === currentYear\r\n ? currentYearPrefix + \" \"\r\n : \"\";\r\n\r\n const renderButtonText = () => {\r\n if (!selectedYear) {\r\n return (<>{prefix} All);\r\n }\r\n\r\n return (\r\n <>\r\n {prefix}\r\n {selectedYear ? returnPrefix(selectedYear) : 'All'}\r\n {selectedYear}\r\n \r\n );\r\n }\r\n const renderButton = () => (\r\n setDisplaying((prevState) => !prevState)}\r\n >\r\n {renderButtonText()}\r\n \r\n \r\n );\r\n\r\n return (\r\n
    \r\n {displaying && !disabled ? (\r\n setDisplaying(false)}>\r\n {renderButton()}\r\n
    \r\n {showAllOption && (\r\n handleClick(undefined)}\r\n className={cn(\"year-item\", {\r\n selected: isNil(selectedYear),\r\n })}\r\n >\r\n All\r\n \r\n )}\r\n {years.map((year) => (\r\n handleClick(year)}\r\n className={cn(\"year-item\", {\r\n selected: selectedYear === year,\r\n })}\r\n >\r\n {returnPrefix(year)}\r\n {year}\r\n \r\n ))}\r\n
    \r\n
    \r\n ) : (\r\n renderButton()\r\n )}\r\n
    \r\n );\r\n}\r\n","import classNames from 'classnames';\r\nimport * as React from 'react';\r\n\r\ninterface Props {\r\n className?: string;\r\n children: React.ReactNode;\r\n}\r\n\r\nexport function Breadcrumbs ({ className, children }: Props) {\r\n return
      {children}
    \r\n}\r\n\r\n","import * as React from 'react';\r\nimport { Link } from 'react-router-dom';\r\n\r\ninterface Props {\r\n text?: string;\r\n route?: string;\r\n children?: React.ReactNode;\r\n}\r\n\r\nexport function BreadcrumbsItem({ text, route = '', children }: Props) {\r\n const renderLink = () => route ? {text} : <>{text}\r\n\r\n return (\r\n
  • {children ? children : renderLink()}
  • \r\n );\r\n}\r\n","import React, { PropsWithChildren } from 'react';\r\nimport classNames from 'classnames';\r\nimport IconSVG from \"../../../styles/svg-icons\";\r\n\r\ninterface Props {\r\n onClick: () => void;\r\n exclude: boolean;\r\n editMode: boolean;\r\n disabled?: boolean;\r\n}\r\n\r\n\r\nexport const ExcludeListItem: React.FC> = ({ onClick, children, exclude, editMode, disabled}) => {\r\n const btnClassNames = {\r\n 'btn btn-ghost btn-sm btn-arrow flex-item-right': true,\r\n 'btn-arrow-mirror': exclude,\r\n }\r\n\r\n return (\r\n
  • \r\n {children}\r\n {\r\n editMode &&\r\n \r\n \r\n \r\n }\r\n
  • \r\n )\r\n};\r\n","import React, { useMemo } from 'react';\r\nimport { keys, size } from 'lodash';\r\nimport classNames from 'classnames';\r\nimport { ExcludeListItemType } from './ExcludeListItemType';\r\nimport { ExcludeListItem } from './ExcludeListItem';\r\n\r\ninterface Props {\r\n items: ExcludeListItemType\r\n exclude: boolean;\r\n editMode: boolean;\r\n title: string;\r\n onToggleAll: (ids: number[]) => void;\r\n onItemClick: (key: number) => void;\r\n columnTitle: string;\r\n disabled?: boolean;\r\n}\r\n\r\nexport const ExcludeListSection: React.FC = (\r\n {\r\n items,\r\n exclude,\r\n editMode,\r\n title,\r\n onToggleAll,\r\n columnTitle,\r\n onItemClick,\r\n disabled\r\n }\r\n) => {\r\n const itemsEmpty = !size(items);\r\n const renderList = useMemo(() => keys(items)\r\n .sort((a, b) => items[Number(a)].localeCompare(items[Number(b)]))\r\n .map(key => (\r\n onItemClick(Number(key))}\r\n editMode={editMode}\r\n exclude={exclude}\r\n disabled={disabled}\r\n >\r\n {items[Number(key)]}\r\n \r\n )), [items, onItemClick, editMode, disabled, exclude]);\r\n\r\n const renderTitle = () => {\r\n return (\r\n
    \r\n

    {title}

    \r\n {\r\n editMode && !!size(items) && (\r\n onToggleAll(keys(onToggleAll).map(key => Number(key)))}\r\n disabled={disabled}\r\n >\r\n {exclude ? 'Include All' : 'Exclude All'}\r\n \r\n )\r\n }\r\n
    \r\n )\r\n };\r\n\r\n const renderContent = () => {\r\n return (\r\n <>\r\n {\r\n (editMode || itemsEmpty) &&\r\n
    \r\n {columnTitle}\r\n
    \r\n }\r\n
      \r\n {renderList}\r\n
    \r\n \r\n )\r\n };\r\n\r\n return (\r\n
    \r\n {renderTitle()}\r\n {renderContent()}\r\n
    \r\n )\r\n};\r\n","import React from 'react';\r\nimport { ExcludeListItemType } from './ExcludeListItemType';\r\nimport { ExcludeListSection } from './ExcludeListSection';\r\n\r\ninterface Props {\r\n editMode: boolean;\r\n excludeTitle: string;\r\n includeTitle: string;\r\n includeColumnTitle: string;\r\n excludeColumnTitle: string;\r\n includeList: ExcludeListItemType;\r\n excludeList: ExcludeListItemType;\r\n onInclude: (key: number) => void;\r\n onExclude: (key: number) => void;\r\n onIncludeAll: () => void;\r\n onExcludeAll: () => void;\r\n disabled?: boolean;\r\n}\r\n\r\nexport const ExcludeList: React.FC = (\r\n {\r\n includeList,\r\n excludeList,\r\n editMode,\r\n includeTitle,\r\n excludeTitle,\r\n onIncludeAll,\r\n onExcludeAll,\r\n includeColumnTitle,\r\n excludeColumnTitle,\r\n onInclude,\r\n onExclude,\r\n disabled\r\n }\r\n) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n )\r\n};\r\n","import React, { Component } from 'react';\r\nimport { numericUtils } from '../../utils';\r\nimport IconSVG from \"../../styles/svg-icons\";\r\nimport { OnHoverTooltip } from \"../common\";\r\n\r\nclass Counter extends Component {\r\n render = () => {\r\n const { name, required = false, min = 0, max = 255, value = min, className = '' } = this.props;\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n\r\n handleDecrement = e => {\r\n const { onValueChanged, min = 0, value = min } = this.props;\r\n\r\n if (value === '') {\r\n onValueChanged(min);\r\n } else if (value > min) {\r\n onValueChanged(value - 1);\r\n }\r\n }\r\n\r\n handleIncrement = e => {\r\n const { onValueChanged, min = 0, max = 255, value = min } = this.props;\r\n\r\n if (value === '') {\r\n onValueChanged(min);\r\n } else if (value < max) {\r\n onValueChanged(value + 1);\r\n }\r\n }\r\n\r\n handleChange = e => {\r\n const { min = 0, max = 255, onValueChanged } = this.props;\r\n const value = e.target.value;\r\n if (value === '') {\r\n onValueChanged(value);\r\n } else if (numericUtils.isNumber(value)) {\r\n const number = Number(value);\r\n if (number >= min && number <= max) {\r\n onValueChanged(number);\r\n }\r\n }\r\n }\r\n\r\n handleBlur = e => {\r\n const { onValueChanged, min = 0, emptyEnabled = false } = this.props;\r\n const value = e.target.value;\r\n if (!emptyEnabled && value === '') {\r\n onValueChanged(min);\r\n }\r\n }\r\n}\r\n\r\nexport default Counter;\r\n\r\n","import React, { Component } from 'react';\r\nimport classNames from \"classnames\";\r\n\r\nexport default class ButtonSwitch extends Component {\r\n handleClick = (e, key) => {\r\n const { onSelectionChange } = this.props;\r\n\r\n e.stopPropagation();\r\n if (onSelectionChange) {\r\n onSelectionChange(key);\r\n }\r\n }\r\n\r\n render = () => {\r\n const { sourceItems, selectedValue, disabled = false, className = '' } = this.props;\r\n const items = sourceItems && sourceItems.map(i =>\r\n this.handleClick(e, i.key)}\r\n >\r\n {i.title || i.key}\r\n );\r\n\r\n return (\r\n
    \r\n {items}\r\n
    \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport classNames from 'classnames';\r\nimport { constants } from '../../constants';\r\nimport { ClickOutside } from '../common';\r\nimport IconSVG from '../../styles/svg-icons';\r\n\r\nexport default class AutoCompleteInput extends Component {\r\n state = {\r\n expanded: false,\r\n inputFocus: false\r\n };\r\n\r\n render = () => {\r\n const {\r\n name,\r\n sourceItems,\r\n required = false,\r\n maxLength = 256,\r\n emptyMessage = 'No items found',\r\n className = 'form-control form-control-search',\r\n value,\r\n placeholder = '',\r\n disabled = false,\r\n isInvalid = false,\r\n } = this.props;\r\n\r\n if (!sourceItems) {\r\n return null;\r\n }\r\n\r\n const {\r\n filteredItems = sourceItems,\r\n expanded = false,\r\n inputFocus = false\r\n } = this.state;\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n this._input = node\r\n }}\r\n type=\"text\"\r\n name={name}\r\n required={required}\r\n pattern={this.props.pattern || constants.nonWhitespace.source}\r\n value={value}\r\n maxLength={maxLength}\r\n onChange={this.handleInputChange}\r\n onClick={this.handleInputClick}\r\n onFocus={this.handleFocus}\r\n onBlur={this.handleBlur}\r\n autoComplete=\"off\"\r\n placeholder={placeholder}\r\n disabled={disabled}\r\n />\r\n {\r\n !!value &&\r\n \r\n }\r\n
    \r\n {\r\n expanded &&\r\n value.trim() !== '' &&\r\n (emptyMessage || !!filteredItems.length) &&\r\n \r\n
      \r\n {\r\n filteredItems.length\r\n ? filteredItems.map(i =>
    • this.handleItemSelected(i)}>{i}
    • )\r\n :
    • {emptyMessage}
    • \r\n }\r\n
    \r\n
    \r\n }\r\n
    \r\n );\r\n };\r\n\r\n handleBlur = () => this.setState({ inputFocus: false });\r\n\r\n handleFocus = () => this.setState({ inputFocus: true });\r\n\r\n handleInputClick = e => {\r\n if (!this.state.expanded) {\r\n this.setState({\r\n filteredItems: this.getFilteredItems(e.target.value),\r\n expanded: true\r\n });\r\n }\r\n\r\n this.setState({ inputFocus: true });\r\n };\r\n\r\n handleInputChange = e => {\r\n const value = e.target.value;\r\n const { onChange } = this.props;\r\n\r\n this.setState({\r\n filteredItems: this.getFilteredItems(value),\r\n expanded: true\r\n });\r\n onChange(value);\r\n };\r\n\r\n handleItemSelected = item => {\r\n const { onChange, onSelected } = this.props;\r\n this.setState({ expanded: false });\r\n onChange(item);\r\n\r\n if (typeof onSelected === 'function') {\r\n onSelected(item);\r\n }\r\n\r\n this.focus();\r\n };\r\n\r\n handleClickOutside = () => {\r\n if (this.state.expanded) {\r\n this.setState({ expanded: false });\r\n }\r\n };\r\n\r\n handleClear = () => {\r\n this.setState({\r\n filteredItems: [],\r\n expanded: false,\r\n inputFocus: false\r\n });\r\n this.props.onChange('');\r\n this.focus();\r\n };\r\n\r\n focus = () => {\r\n if (this._input) {\r\n this._input.focus();\r\n }\r\n };\r\n\r\n getFilteredItems = value => {\r\n const { sourceItems } = this.props;\r\n const valueLowerCase = value.trim().toLowerCase();\r\n return sourceItems.filter(i => i.toLowerCase().startsWith(valueLowerCase));\r\n }\r\n}\r\n","import React, { Component, Fragment } from 'react'\r\n\r\nexport default class ProgressCircle extends Component {\r\n render = () => {\r\n const { progress } = this.props;\r\n\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport classNames from \"classnames\";\r\nimport IconSVG from '../../styles/svg-icons';\r\n\r\nexport function Chip({ text, selected, disabled, onClick, onDelete }) {\r\n const handleClick = e => {\r\n e.stopPropagation();\r\n if (!disabled && onClick) {\r\n onClick(e);\r\n }\r\n }\r\n\r\n const handleDelete = e => {\r\n e.stopPropagation();\r\n if (!disabled && onDelete) {\r\n onDelete(e);\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n \r\n
    {text}
    \r\n \r\n
    \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport { FormError } from './FormError';\r\n\r\nexport function FormControlWrapper({ children, row, error }) {\r\n return (\r\n
    \r\n {children}\r\n \r\n
    \r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Tooltip, TooltipTriggerType } from '../common/Tooltip';\r\nimport cn from 'classnames';\r\nimport IconSVG from '../../styles/svg-icons';\r\nimport classNames from 'classnames';\r\n\r\ninterface Props {\r\n title: string;\r\n className?: string;\r\n wrapperClassName?: string;\r\n onOpen?: () => void;\r\n onClose?: () => void;\r\n label?: React.ReactElement;\r\n actionButton: React.ReactElement;\r\n children: React.ReactNode;\r\n disabledActionButtonOnOpen?: boolean;\r\n showCloseButton?: boolean;\r\n defaultVisibility?: boolean;\r\n placement?: string;\r\n hideOnAnyAction?: boolean;\r\n}\r\n\r\nexport const Popover: React.FC = ({ title, className, wrapperClassName, children, hideOnAnyAction = true, onOpen, onClose, actionButton, label, disabledActionButtonOnOpen, showCloseButton, defaultVisibility, placement = 'bottomLeft' }) => {\r\n const [visible, setVisible] = useState(!!defaultVisibility);\r\n\r\n const handleClose = () => {\r\n setVisible(false);\r\n onClose && onClose();\r\n };\r\n\r\n const handleVisibilityChange = (visible: boolean) => {\r\n setVisible(visible);\r\n\r\n if (visible) {\r\n onOpen && onOpen();\r\n } else {\r\n onClose && onClose();\r\n }\r\n }\r\n\r\n return (\r\n
    e.stopPropagation()}>\r\n \r\n
    \r\n
    \r\n

    {title} {label && label}

    \r\n \r\n
    \r\n
    \r\n
    \r\n <>{children}\r\n
    \r\n
    \r\n {showCloseButton && (\r\n \r\n )}\r\n
    \r\n }\r\n >\r\n \r\n {actionButton}\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nPopover.defaultProps = {\r\n onOpen: () => {},\r\n onClose: () => {},\r\n className: '',\r\n title: '',\r\n};\r\n\r\n\r\n\r\n","import React, { PropsWithChildren } from 'react';\r\n\r\ninterface Props {\r\n value: boolean;\r\n label?: string;\r\n disabled?: boolean;\r\n onClick?: (e: React.ChangeEvent) => void;\r\n}\r\n\r\nexport const Toggle: React.FC> = (\r\n {\r\n value,\r\n label = '',\r\n onClick,\r\n disabled = false,\r\n children\r\n }\r\n) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nToggle.defaultProps = {\r\n disabled: false\r\n};\r\n"],"names":["ValitanaLink","_ref","identifiers","identifier","className","placeholderIfEmpty","secondaryPlaceholderColor","_ref$disabled","disabled","_ref$textLink","textLink","blockedFromOutside","useContext","BlockedFeatureContext","identifierForLink","ticker144A","cusip144A","isin144A","tickerRegS","cusipRegS","isinRegS","tickerAccdInvCertif","cusipAccdInvCertif","isinAccdInvCertif","getValitanaIdentifer","_jsx","cn","children","constants","emptyPlaceholder","_jsxs","IconSVG","name","width","height","ActionBlocker","feature","SubscriptionFeature","IntegrationsValitana","blocked","OnHoverTooltip","overlay","onClick","logger","trace","target","href","concat","rel","Accordion","AccordionItem","isSelected","collapsedItem","classNames","defaultProps","AccordionItemHeader","onItemHeaderClick","isShowCollapsedIcon","_ref$showAdditionalIc","showAdditionalIcon","e","_Fragment","AccordionItemBody","visible","BidConflictsWarning","conflicts","positions","length","conflictItems","map","c","i","conflict","index","position","find","p","id","positionId","submissionDate","modifiedDate","created","ticker","moneyUtils","money","size","pass","formatUtils","formatBid","level","moment","local","format","timeFormat","renderConflictWarningRow","filter","StatusMessageSection","type","StatusMessageSectionType","Info","BidLevelDelta","currentLevel","updatedLevel","_ref$currentLevelVisi","currentLevelVisible","_ref$updatedLevelVisi","updatedLevelVisible","_ref$tooltip","tooltip","delta","sign","currentClasses","renderDelta","GoodUntilTime","goodUntilUtc","goodUntil","add","dateTimeUtils","utcToLocalString","HoverInfo","_useState","useState","_useState2","_slicedToArray","pointInfo","setPointInfo","childrenElement","useMemo","React","onHover","Array","isArray","item","value","TraceType","PxTalk","KTalk","Chart","_ref$pxTalks","pxTalks","_ref$evalPriceTalk","evalPriceTalk","undefined","_ref$constants","_ref$divId","divId","_ref$evalPriceTalkVis","evalPriceTalkVisible","fillBoxColor","boxMarkerColor","chartHeight","margin","tickColor","tickFont","boxgap","hoverlabel","kTalkMarkerColor","chartData","x","px","normalizedLevel","boxpoints","fillcolor","marker","color","hoverinfo","customdata","_","jitter","quartilemethod","push","mode","_getXRange","pxTalkNormilized","values","_toConsumableArray","min","max","difference","dTick","indent","range","Math","floor","ceil","getXRange","chartLayout","autosize","xaxis","showgrid","zeroline","tickcolor","tickfont","dtick","yaxis","boxmode","showlegend","hovermode","Plot","data","arguments","chartUtils","setCursor","points","onHoverData","_ref2","point","pxTalk","pxTalkStat","arraystat","company","numericUtils","round","q1","median","q3","getPxTalkPointInfo","onUnhover","layout","config","mainConfig","HorizontalBoxChart","props","_objectSpread","LegendsIds","noColor","kTalk","LegendButtons","_ref$historyList","historyList","showHoverInfo","defaultXrange","getYRange","scatterMarkerColor","colorLineColor","layoutXAxisLineColor","pxTalkLimit","minXRange","data0LineWidth","markerSize","xAxisMinDatesCount","minBottomMargin","nTicks","selectedLegendButton","setSelectedLegendButton","_chartUtils$getChartD","getChartData","appConstants","dashboardDateFormat","y","lineX","lineY","markersX","markersY","sortedByDate","datesList","kTalkX","kTalkY","allDates","Object","keys","chartMargin","legendButtons","b","data0","line","yMaxValue","apply","yItem","getMinYPointValue","itemValue","minYPointValue","yValue","currentDate","dateValue","colorValue","stringUtils","shorten","companyName","chartBox","text","textItem","join","JSON","stringify","showscale","getColorPointInfo","lineYValue","chartColor","getNoColorPointInfo","markersYValue","chartDnt","getKTalkPointInfo","chartKTalk","getLegendButtonIcon","btnId","renderLegendItem","Checkbox","checked","indexOf","onChange","splice","charts","allCharts","_defineProperty","btn","unshift","getCharts","handleOnHover","jsonUtils","tryParse","_ref3","getOnHoverPointContent","handleUnHover","onInitialized","debug","rangemode","linecolor","linewidth","tickangle","nticks","anchor","fixedrange","legend","orientation","InfoTooltip","ChartBox","dashboardChartBox","Plotly","Bar","Heatmap","Box","Pie","createPlotlyComponent","responsive","displaylogo","doubleClickDelay","displayModeBar","showTips","CollapsibleList","_ref$className","CollapsibleListItem","expanded","CollapsibleListItemContent","ref","CollapsibleListRow","expandAll","dataItem","columns","context","onExpandChange","setExpanded","useEffect","SecurityListRow","renderBody","YearViewMode","CustomDatePickerYearView","onYearClick","minYear","addYearsFromCurrentDate","nowYear","Date","getFullYear","currentYear","maxYear","yearsDifference","from","getDefaultRange","visibleYearRange","setLastVisibleYearRange","_useState3","Year","_useState4","viewMode","setViewMode","_visibleYearRange","visibleYearFrom","visibleYearTo","visibleYearList","arrayUtils","arrayFromRange","YearRange","findIndex","year","to","itemNumber","getYearRangeList","_visibleYearRange2","_range","handleSetYearRange","ViewType","CustomDatePicker","onDayClick","_ref$from","_ref$to","date","_ref$disabledDays","disabledDays","onDayHover","hoverDate","lastYear","datePickerMaxYear","Picker","currentViewType","setCurrentViewType","setCurrentDate","handleYearClick","setFullYear","toDate","handleOnDayClick","modifiers","handleOnYearChange","handleDayMouseEnter","day","handleDayMouseLeave","renderCaptionElement","monthList","currentMonth","getMonth","Month","subtract","handlePrevMonth","handleNextMonth","renderMothView","months","month","hide","set","handleOnMonthClick","datePickerMinYear","DayPicker","onDayMouseLeave","selected","desirableRange","desirableLater","desirableEarlier","start","end","modifiersClassNames","showOutsideDays","onDayMouseEnter","fromMonth","toMonth","captionLayout","components","Caption","CustomDateRangePicker","currentDateFrom","setCurrentDateFrom","currentDateTo","setCurrentDateTo","_useState5","_useState6","setHoverDate","_useState7","_useState8","clickCount","setClickCount","prevToDate","useRef","prevFromDate","isAddNextMonth","momentToDate","current","handleDayClick","newClickCount","isDayEarlier","isDayBefore","isDayAfter","DownloadTemplateButton","templateType","args","fileName","_useDownloadTemplate","useDownloadTemplate","_useDownloadTemplate2","requesting","getTemplate","Preloader","small","fullScreen","inProgress","getTemplateService","bwicService","getSecuritiesXlsxTemplate","inventoryService","contactsService","getXlsxTemplate","documentsService","downloadSecurities","bidOnBehalfService","downloadTemplate","dealsService","getDealDocumentTemplate","dispatch","useDispatch","setRequesting","_asyncToGenerator","_regeneratorRuntime","mark","_callee","service","file","wrap","_context","prev","next","abrupt","sent","saveAs","blob","t0","errorActions","unexpectedError","finish","stop","ExpandClearToggle","filterSelected","onExpand","onClear","stopPropagation","Filter","FilterBoolean","_ref$optionLabels","optionLabels","_objectWithoutProperties","_excluded","_optionLabels","positive","negative","FilterRadio","options","FilterButton","title","_ref$withExpandToogle","withExpandToogle","_ref$applied","applied","_ref$selected","_ref$error","error","onClearAll","changed","FilterColor","defaultTradedOption","group","_ref$defaultExpanded","defaultExpanded","filterType","useAppDispatch","setError","isTradedSelected","some","o","ColorFilterType","Traded","isTradedColorSelected","TradedColor","isTradedOptionsVisible","isResetDisabled","isApplied","filterActions","createFilterActions","hasRange","isNumber","filterSelectChange","key","handleClearAll","filterSelectClearAll","filterRangeClearSelectedOptions","getSelectedState","ClickOutside","setTimeout","selectedOptions","selectedOption","_range$filter$from","_range$filter$to","formatDecimal","filterTradedColorRange","renderSingleSelectionTitle","renderTitle","FilterDropDown","label","RadioButtonGroup","RangeInput","limits","mask","prefix","suffix","includeThousandsSeparator","allowDecimal","decimalLimit","integerLimit","requireDecimal","newRange","hasError","changeRangeFilter","errorDefaults","_ref4","_range$from$toString","_range$from","_range$to$toString","_range$to","_limits$from","_limits$to","_ref4$disabled","errors","setErrors","toString","setFrom","_useState9","_useState10","setTo","isNullOrEmpty","errorMessages","fromRangeBiggerThenToRange","cutToLimits","getPlaceholder","String","_formatUtils$formatDe","Number","handleBlur","hasErrors","renderInput","placeholder","FormFieldLabel","MaskedInput","createNumberMask","onBlur","FormError","message","dateFormat","defaultErrors","FilterDateRange","_ref$acceptableOption","acceptableOptions","dateOptions","selectedFilterOption","customYearsRange","customDateRange","_ref$minSelectYear","minSelectYear","_ref$maxRangeValue","maxRangeValue","pipelineFilters","_ref$isApplied","_ref$buttonView","isChanged","buttonView","onSelectedDateChange","onYearsRangeChange","onCustomDateChange","option","_dateRange$from","_dateRange$to","dateRange","getRangeFromDateOption","customDates","setCustomDates","Custom","isCustomViewVisible","setCustomViewVisible","YearsRange","isYearsRangeVisible","setYearsRangeVisible","default","includes","isNil","pureOption","isFilterSelected","isCustomOptionEmpty","dateMask","v","handleOptionsChange","isOptionCustom","isYearsRange","isDateOption","errorFrom","filterUtils","validateFromDate","errorTo","validateToDate","dateShortFormat","handleDateToManualChange","parseDate","validateDateFormat","datePickerInvalidToDate","datePickerInvalidFromDate","handleDateFromManualChange","isAfter","onClearAllHandler","handleResetToDefault","defaultOption","handleCustomYearsRangeChange","newInputValues","replace","parseFloat","FilterDateRangeTitle","renderCustomView","_customDates$from","_customDates$to","htmlFor","guide","classnames","renderDropDown","prevState","DropDownButton","focused","formatName","fromFormatted","toFormatted","formatTitle","_selected$formatTitle","_selected$formatTitle2","call","isDateFilterApplied","lastAppliedFilter","selectedDateOption","isEqual","isDateFilterChanged","initialFilter","DateRangeFilter","DateRangeSelector","restyled","_Component","_this","_classCallCheck","_len","_key","_callSuper","state","selectFocus","customFrom","customTo","visibleCustomView","show","setState","customClassName","custom","_this$state","isCustom","isDateOrEmpty","isValid","onReset","parseCustomDateOrDefault","defaultValue","dateMoment","startOf","getRangeList","acceptedOptions","rangeList","today","monday","friday","weekAgo","monthAgo","yearAgo","mapping","todayAndUpcoming","action","selectedTitle","customSelectedTitle","customTitle","thisWeek","lastWeek","lastMonth","unspecified","currentInventory","forEach","_mapping$find","m","filterTitle","_this$props","fromDateBiggerThenToDate","after","setHours","fromValue","toValue","handleClickOutside","handleDateManualBlur","_this$state2","renderDateOptions","renderRestyled","_this$props2","_this$props2$selected","selectedDefault","render","_this$props3","containerClassNames","_inherits","_createClass","Component","toDefaultArray","dateTimeFilterConstants","anyTimeTitle","radioInputLabel","OptionsList","TimeOption","AnyTime","CustomTime","TimeInput","timeOption","selectedDate","isOpen","setIsOpen","customTimeMode","inputValue","readOnly","TimePicker","popupClassName","getPopupContainer","document","getElementById","showSecond","minuteStep","use12Hours","focusOnOpen","open","DateFormat","DateMask","DateTimeInput","errorMessage","onError","setTimeOption","setInputValue","validateDate","newValue","replicateTimeToDate","previousValue","previousParsedTime","hour","get","minute","second","alignDayTime","endOfDay","exactTime","edgeTime","endOf","DateTimeRangeSelector","valueFrom","valueTo","internalFromValue","setInternalFromValue","internalToValue","setInternalToValue","setErrorFrom","fromDateLaterThenToDate","newFromState","newToState","DateTimeSelector","internalValue","setInternalValue","newState","DateTimeFormat","EmptyValue","FilterDateTimeRange","rollerDeadline","_ref$formatTitle","getRangeFromDateTimeOption","fromTitle","toTitle","setHasError","setSelectedOption","formatDateTimeValue","handleDateRangeChange","toggleExpand","formattedFrom","formattedTo","DateWithTimePeriod","DateWithTime","handleOptionChange","renderSelectors","filterDropDownRef","bounding","getBoundingClientRect","left","style","right","dataset","turnRight","window","innerWidth","documentElement","clientWidth","onChangeItemSelection","radioOptions","isOptionSelected","kebabCase","EmptyPlaceholder","textView","decimalDelimiter","DecimalMaskedInput","onValueChange","rest","onKeyDown","_e$currentTarget","currentTarget","selectionStart","selectionEnd","decimalDelimiterIndex","integerPart","slice","decimalPart","formatValue","intValue","changeSelect","pointerPosition","setSelectionRange","backspaceSelectionIndex","preventDefault","selection","selectAll","Boolean","integerPartSelected","initialValues","FilterRange","onChangeRange","minValue","maxValue","minRangeValue","_mask$decimalLimit","handleInputChange","FilterSelect","withSearch","_ref$closeOnSelect","closeOnSelect","_ref$withExpandToggle","withExpandToggle","onSelectAll","searchTerm","setSearchTerm","isFeatureBlocked","handleSearchTermChange","handleClear","handleSelectAll","numberOfSelectedOptions","getFilteredItems","searchTermLowerCase","trim","toLowerCase","renderLookup","filteredOptions","renderClearSelectTrigger","SearchInput","noop","FilterYearsDateRange","dateRangeFilterOptions","vintage","_ref$minYear","_ref$maxYear","fromYear","toYear","validateYear","validateRange","newDateValues","fromDate","handleYearsFromChange","handleYearsToChange","CheckboxField","assign","_objectDestructuringEmpty","_useField","useField","field","wrapperClassName","DateField","maximumDate","emptyIfNull","_ref$dateFormat","_ref$dateInputFormat","dateInputFormat","dateFormat5","withCustomView","InputField","renderElement","formik","meta","DayPickerInput","onDayChange","setFieldValue","utcOffset","touched","EditorField","maxLength","JoditEditor","uploadBaseUrl","process","uploadPath","hint","required","_ref$capitalize","capitalize","useFormikContext","_useField2","helpers","MarkdownField","MarkdownEditor","NumberField","_ref$includeThousands","valueNumber","setValue","Select","items","selectedItem","dropdownClass","_ref$placeholder","_ref$lookup","lookup","_ref$selectSearchIfNo","selectSearchIfNotFound","_ref$clearable","clearable","searchValue","setSearchValue","onSearchValueChange","filteredItems","_item$text","handleChange","autoComplete","SelectField","_ref$withEmptyValue","withEmptyValue","optionLabelProp","optionKeyProp","onSelect","getListItems","TextField","formControlClassName","withError","TextareaField","submitCount","ChartRangeFormat","DefaultRangeDays","ClientsActivityChart","accessTypes","onBarClick","chartEndMoment","clientsActivityChart","barColors","zeroLineColor","handleBarClick","accessType","getChartRange","fromMoment","dateFrom","clone","toMoment","dateTo","dateTimeFormatUtc","getHoverInfoText","cloManagerClientsActivity","_accessTypes$find","firstEntry","accessTypeTitle","t","sumBy","numberOfAccess","getLayout","xAxisRange","rangeSliderRange","diff","asDays","getSliderRange","barmode","ChartView","Grouped","tickformat","dayMs","rangeslider","bgcolor","showtickprefix","gridcolor","ticks","zerolinecolor","edgeDimensions","clientsActivity","days","minDateRow","accessDateTime","tenDaysAgo","isBefore","getEdgeDimensionValues","groupBy","row","isSameDay","iteratee","isSame","groupedByDate","reduce","acc","existingEntry","entries","fillGaps","amrChartUtils","gapsFiller","hovertext","r","renderChart","DashboardNoSelectedFilters","ProfileViewHistoryTable","companyReferenceName","numberOfHiddenItems","requiredFeature","filteredClientsActivity","users","userEmail","tabs","views","Table","createSecurityCustomArgs","dataItems","noTooltip","BlockedFeatureContent","inline","SubscribeLink","DownloadedPresentationsChart","downloadedPresentationsChart","barColor","asWeeks","chartStartDate","tick0","downloadedPresentations","weekStartDate","tenWeeksAgo","downloadedPresentation","DownloadedPresentationsWidget","noData","every","ChartRequiredFeature","chartName","blockedClassName","overlayClassName","placement","createTransactionViewHistoryColumns","subscriptionFeature","columnKey","renderColumnHeaderContent","renderColumnContent","transactionViewHistory","referenceName","dealReferenceName","dealLegalName","lastUpdated","status","version","dealUpdates","IssuanceMonitorHistoricalData","DealUpdatesPopover","sortingField","sortingType","SORTING_TYPE","IssuanceMonitorMarketingHistory","overrideRequiredFeatures","TransactionStatus","Active","Link","routes","transactionDetailUrl","string","daysInTheMarket","number","ValueBlocker","dealViews","viewedTabs","mapValues","keyBy","tabsViewed","ProportionBar","TransactionAccessTypes","getDocumentCountByViewHistory","dealDocumentsViews","disclosureFileViews","managerPresentationViews","targetPortfolioViews","intexFileViews","getTransactionViewHistoryColumnsDefinitions","ColumnBuilder","TransactionViewHistoryTable","defaultSortBy","defaultSortByDirection","SORT","DESC","TransactionViewHistoryWidget","withAnalyticsRequest","getAction","selector","dataSelector","_filter$dateOption2","useSelector","_dataSelector","isLoading","initialLoading","isDataLoaded","_filter$dateOption","dateOption","isLoaded","Iterator","_items","_index","offset","skip","isBeforeStarting","hasMoreItems","this","calculatedIndex","GrammarNode","LiteralGrammarNode","_GrammarNode","_this2","isLiteral","ParrentGrammarNode","_GrammarNode2","tagName","_this3","_children","_tagName","childElements","GreammarRenderer","node","ListGrammarNode","_ParrentGrammarNode2","ordered","terminateTree","_this4","_this5","Grammar","iterator","previousGrammarNode","supportedGrammars","success","_step","_iterator","_createForOfIteratorHelper","s","n","done","parse","err","f","CommonGrammar","_Grammar","parseStart","parseEnd","child","parseOne","create","ListStyle","List","_Grammar2","nextListItem","recogniseListItem","listItems","contentOffset","previousChild","isLineStart","subsequantSpaces","keepLevelTravers","currentSymbol","result","bullet","startsWithNumbers","test","firstNewLine","parseNewLine","secondNewLine","BoldText","_CommonGrammar","_this6","_len2","_key2","isStart","isEnd","StrikethroughText","_CommonGrammar2","_this7","_len3","_key3","AsteriskItalicText","_CommonGrammar3","_this8","_len4","_key4","UnderlineItalicText","_CommonGrammar4","_this9","_len5","_key5","Heading","_CommonGrammar5","_this10","_level","newLine","hashSymbolsCount","Paragraph","_CommonGrammar6","_this11","_len6","_key6","Literal","_Grammar3","previousLiteralNode","literalNode","MarkdownViewer","_Component2","_this$props$value","nodes","previousNode","grammar","carriageReturn","spaceChar","dotWithSpace","editorChars","bold","italic","strikethrough","bulletList","numberedList","headings","splitByLines","split","isCharSpace","match","isNumberedRow","firstElement","splitBySpace","withNumberSign","numberString","getEditedWordPosition","selectedIndex","wordStart","wordEnd","insertTransformedWord","content","wordToInsert","startIndexToInsert","endIndexToInsert","_ref$value","_ref$maxLength","previewMode","setPreviewMode","setSelectedTitle","editorValue","setEditorValue","textareaRef","transformText","textToChange","_textareaRef$current","_x","_x2","_x3","changeInlineValue","char","focus","_textareaRef$current2","transformedText","currentSignLength","prevSignFirstIndex","_getEditedWordPositio","_getEditedWordPositio2","startWordIndex","endWordIndex","selectedWord","editedWord","changeListValue","listSign","_textareaRef$current4","updatedContent","isBulletList","selectedContent","rows","el","signToAdd","insertRangeTransformedList","insertNumberRangeTransformedList","isBullet","endPosition","currentRow","getCurrentRow","getListLineSign","increment","splittedRowBySpace","splittedRowByDotWithSpace","firstNumberedChar","DropDownList","_textareaRef$current3","headSight","prevSignIndex","_getEditedWordPositio3","_getEditedWordPositio4","isEndOfText","changeHeadValue","_textareaRef$current5","activePosition","textLines","currentLine","prevLineSign","firstWordPart","lastWordPart","newLineSign","transformedFirstWordPart","renderMarkdownOrEmpty","NewBwicButton","_user$current","selectedSecurityCount","handleClick","user","isClearingBank","ShowFor","roles","seller","BrokerDealerTrader","RoleActionBlocker","SellerTrader","DirectBiddingDisclaimerActionBlocker","onConfirm","AllToAllArgeementRequiredActionBlocker","argeementBlocked","FeatureButton","CustomizeColumnsDialog","defaultTab","onClose","columnLabels","activeTab","setActiveTab","_usePageConfig","usePageConfig","defaultConfig","saveColumns","requestState","updateRequestState","isUpdating","isRequesting","defaultColumns","tabsValues","tabsKeys","isRequestSuccess","transferOptionFromColumn","column","permanent","fixed","order","available","deriveTabStateFromConfig","columnConfig","displayed","getDefaultTabState","columnsConfig","apiUtils","normalize","tab","tabState","setTabState","tabDefaultState","setTabDefaultState","getUserConfig","selectedKeys","selectedColumns","handleSave","columnsConfigs","newPageConfig","page","filters","Popup","modalClass","renderInBody","PopupBody","TabList","tk","TabItem","active","Transfer","leftColumnTitle","rightColumnTitle","rightActionDisabled","defaultValues","checkIsConfigDefault","PopupFooter","BwicColumnCustomizer","_ref5","_ref5$columnLabels","bwicColumnsLabels","showColumnsDialog","setShowColumnsDialog","pageConfigType","readonly","RequestState","none","setUpdateRequestState","filterState","BwicFilterType","BwicMonitor","bwicMonitor","Portfolio","portfolio","Inventory","inventory","BDInventory","bdInventory","selectFilterState","defaultConfigRequestState","entities","pageConfig","defaultConfigsState","defaultConfigs","configsState","configs","isRequestNone","normalizedConfigs","pageConfigActions","getConfigs","request","pageConfigService","configItem","_jsonUtils$tryParse","failure","_callee2","_defaultConfig","_context2","getDefaultConfig","configType","getDefaultConfigs","_callee3","_context3","saveConfig","addFilter","_callee4","newFilter","configFilters","_filterActions","updatedFilters","_context4","updateFilterConfig","setFilterByReferenceName","updateFilter","_callee5","changedFilter","_filterActions2","newFilters","_context5","defaultFlagChange","_ref6","_callee6","isDefault","_context6","_x4","_x5","deleteFilter","_ref7","_callee7","_filterActions3","_context7","selectedFilterReferenceName","resetSelectedFilter","updateFilterState","_x6","_ref8","_callee8","newConfigs","_context8","saveFilters","_x7","saveAlerts","_ref9","_callee9","_context9","_x8","SecurityListColumn","_ref$dataCellId","dataCellId","SecurityListContainer","SecurityListContent","_ref$infiniteScrollEn","infiniteScrollEnabled","_ref$onClick","onNextPageRequest","isNextPageRequesting","_ref$sticky","sticky","InfiniteScroll","pageStart","initialLoad","loadMore","hasMore","loader","InfiniteScrollLoader","useWindow","SecurityListHeader","SecurityListHeaderColumn","sorted","onMouseOver","onMouseLeave","_ref$sortDirection","sortDirection","ASC","forwardRef","elementRef","ioContext","IntersectionObserverContext","uuid","setVisible","useLayoutEffect","element","observe","unobserve","useImperativeHandle","scrollIntoView","_elementRef$current","behavior","block","onMouseEnter","SettlementAgentContactsList","requestStateGetUsers","sort","a","_a$fullName","fullName","localeCompare","email","phone","SettlementAgentDailyTraidingLimit","dailyTradingLimit","commissions","total","useTotalDailyTradingLimit","isByRating","byRating","renderTotalDailyLimit","tradingLimit","commission","commissionDecimalPlaces","settlementAgentDefaultCommission","ListBuilder","rating","addWhen","getColumns","Ratings","common","SummaryRow","_ref$isRequesting","SummaryRowGroup","groupName","SummaryRowItem","valueResult","isEmpty","TransferHeader","actionTitle","actionDisabled","_ref$onActionClick","onActionClick","TransferItem","_ref$mode","_ref$draggable","draggable","_ref$permanent","_ref$fixed","otherProps","TransferColumn","_ref$sortable","sortable","_ref$onSort","onSort","_ref$onItemActionClic","onItemActionClick","headerProps","handleSort","renderItem","sortableOptions","Sortable","list","renderOptions","insertBefore","predicate","_arrayUtils$findLastR","findLastRange","itemIndex","topPart","bottomPart","_ref$rightActionDisab","_ref$withFixed","withFixed","_ref$destinationDragg","destinationDraggable","_ref$onChange","_ref$onReset","byNameSorter","compareStrings","setSelectedOptions","unselectedOptions","setUnselectedOptions","getUnselectedOptions","newSelected","prevOptions","CompanyDetailsButton","_ref$isBrokerDealer","isBrokerDealer","rowKey","isPanelVisible","companyDetails","currentCompanyId","currentRowKey","isActive","companyDetailsActions","CompanyDetailsPanel","useAppSelector","isRequestingCompany","companies","RightSidePanel","CompanyDetailsPanelContent","ContactList","_ref$contacts","contacts","primaryId","sortedContacts","_ListBuilder$addWhen","exceptArrangersClients","_c$roles","ArrangersClient","primary","other","firstName","lastName","MemberItem","contact","isPrimary","nameUtils","getFullName","wrapperClass","code","renderShortCodeBlock","Section","isNullOrWhiteSpace","BankLink","legalName","overlayText","bd","Administrator","mpid","address","city","zipCode","country","website","primaryContactId","FlexRow","ContactSalesPopup","currentUser","isRequestSending","contactSales","_React$useState","description","_React$useState2","setRequest","_React$useState3","_React$useState4","sendDisabled","requestType","validationSchema","yup","shape","matches","nullable","setPropertValue","propertyName","_errors","validate","billingContact","yupSchemaValidate","handleClose","contactSalesActions","handleSend","send","ContactSalesRequestType","contactSalesRequestTypes","privacyPolicy","ContactsSave","componentDidMount","location","isEdit","pathname","editContacts","actions","init","componentWillUnmount","reset","view","contactsSaveViews","grid","ContactsGrid","Conflicts","connectedContactsSave","connect","contactsSave","isSaved","isGridUploading","draft","canSave","Breadcrumbs","BreadcrumbsItem","route","dealers","DeleteRowsWithErrorButton","history","save","Grid","onDataItemsUpload","uploadContacts","onDataItemsPaste","clipboardText","handleClipboardData","onRowDeleted","deleteContact","onFileSelected","helpPopoverTitle","RouteLeavingGuard","navigate","shouldBlockNavigation","handleBlockNavigation","initialContacts","contactsComparer","compareMultiple","connectedContactsGrid","upload","uploadStatus","uploading","isResolved","conflictType","contactConflictTypes","duplicateName","backToContactsEdit","saveResolved","Conflict","connectedConflicts","renderDuplicates","unresolved","companyId","role","deleteDuplicate","duplicates","d","isDeleted","duplicateEmail","connectedConflict","AnimatedValueUpdate","backgroundClassName","_ref$msAnimationTime","msAnimationTime","_ref$msAnimationStep","msAnimationStep","refInterval","timeLeft","setTimeLeft","opacity","stopAnimation","clearInterval","setInterval","animationClassName","BottomPanel","BottomPanelCloseButton","partially","ContextMenu","showAbove","bottom","adjustMenuDirection","boundingClientRect","bottomMargin","onShow","onHide","handleMenuClick","handleMenuItemClick","renderMenu","_refList","ContextMenuItem","requiredFeatures","requiredRoles","sectionBlock","textComponent","renderTargetComponent","customTargetComponent","menuItems","_refIcon","iconHeight","clientHeight","distance","innerHeight","_ref$sectionBlock","_ref$classNames","featureBlocked","hasFeatures","roleBlocked","hasRoles","section","features","minimumDate","_ref$emptyIfNull","_ref$allowWeekends","allowWeekends","_ref$withCustomView","setMonth","showDayPicker","setShowDayPicker","renderNavIcon","newCurrentMoment","onFocus","onMonthChange","dayOfWeek","before","IconLeft","IconRight","_ref$loading","loading","_ref$changed","_ref$showLoadingProgr","showLoadingProgress","_ref$defaultSortingEn","defaultSortingEnabled","renderSelectedItemCallback","renderItemContentCallback","hoveredItem","setHoveredItem","setFocused","_i$selected","defaultItem","sortedItems","groupKey","excludedFreezed","freezed","groups","closeDropDown","parentKey","renderedItems","renderGroup","renderedFreezedItems","renderContent","_render","FileIcon","fileIcon","filename","_this$props$isNew","isNew","supportedFileTypes","extension","substr","lastIndexOf","supported","sensitivity","_ref$right","RouterLink","MultiSelect","_ref$required","sourceItems","onItemSelect","_ref$showAddButton","showAddButton","generateSelectedText","onResetAll","_ref$showResetButton","showResetButton","_ref$showSelectAllBut","showSelectAllButton","_ref$selectButtonText","selectButtonText","_ref$resetButtonText","resetButtonText","selectedItems","multiselectCssClasses","multiselected","isIE","subTitle","DocumentBodyPortal","RadioButton","dataTestId","_ref$name","RightSidePanelCloseButton","closeButton","tabsPerView","RightSideTabPanel","activeItem","activeItemIndex","renderTabItem","onDeactivate","onActivate","HorizontalSlider","itemsPerView","SelectSearch","toLocaleLowerCase","handleClearSearch","freezedItems","TimePickerControl","_this$props$id","emptyEnabled","time","_this$props$className","_this$props$disabledH","disabledHours","_this$props$disabledM","disabledMinutes","allowEmpty","showHour","showMinute","handleTimeChange","defaultTime","onTimeChange","timestampToUtcString","isUTC","utc","timestamp","TimeSpan","parseTimeSpan","hours","Pluralize","count","singular","minutes","seconds","Fragment","getLowestLevelChildren","flatten","TreeSelect","renderMeta","titleFormatter","childOption","childrenCount","sum","topLevelItemMatches","lowLevelItemsMatch","filterOptions","handleItemClick","lowestLevelValues","uniq","renderSelectAllClear","optionsCount","firstOption","_option$children","_option$children2","allChildrenSelected","someChildrenSelected","YearSelector","years","selectedYear","currentYearPrefix","_ref$showAllOption","showAllOption","displaying","setDisplaying","returnPrefix","renderButton","allListItem","_ref$route","ExcludeListItem","exclude","editMode","btnClassNames","ExcludeListSection","onToggleAll","columnTitle","onItemClick","itemsEmpty","renderList","ExcludeList","includeList","excludeList","includeTitle","excludeTitle","onIncludeAll","onExcludeAll","includeColumnTitle","excludeColumnTitle","onInclude","onExclude","Counter","_this$props$required","_this$props$min","_this$props$max","handleDecrement","pattern","handleIncrement","onValueChanged","_this$props2$min","_this$props2$value","_this$props3$min","_this$props3$max","_this$props3$value","_this$props4","_this$props4$min","_this$props4$max","_this$props5","_this$props5$min","_this$props5$emptyEna","ButtonSwitch","onSelectionChange","selectedValue","_this$props$disabled","AutoCompleteInput","inputFocus","_this$props$maxLength","_this$props$emptyMess","emptyMessage","_this$props$placehold","_this$props$isInvalid","isInvalid","_this$state$filteredI","_this$state$expanded","_this$state$inputFocu","_input","nonWhitespace","source","handleInputClick","handleFocus","handleItemSelected","onSelected","valueLowerCase","startsWith","ProgressCircle","progress","viewBox","preserveAspectRatio","cx","cy","Chip","onDelete","FormControlWrapper","Popover","_ref$hideOnAnyAction","hideOnAnyAction","onOpen","actionButton","disabledActionButtonOnOpen","showCloseButton","defaultVisibility","_ref$placement","Tooltip","onVisibleChange","trigger","TooltipTriggerType","Click","Toggle","_ref$label"],"sourceRoot":""}