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