{"version":3,"file":"static/js/main-25dc9f7d.b490849d.js","mappings":"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","sources":["components/filters/BwicFilters.tsx","components/filters/ChipList.jsx","components/filters/FilterButton.jsx","components/filters/FilterChip.jsx","components/filters/FilterClear.jsx","components/filters/FilterPanel.jsx","components/filters/Filters.tsx","components/filters/TransactionsSearchInput.tsx","components/filters/dinamicFilterEffects/useManagersFilterData.ts","components/filters/dinamicFilterEffects/useTrusteeFilterData.ts","components/filters/FilterSection.jsx","components/filters/FilterSwitch.jsx","components/filters/FilterMultiPicker.jsx","components/filters/SecuritiesSearchInput.jsx","components/forms/CurrencyInputField.tsx","components/forms/FormFieldLabel.tsx","components/forms/MultiSelectField.tsx","components/forms/SelectSearchField.tsx","components/forms/Form.jsx","components/forms/ValidationMessage.jsx","components/forms/PasswordStrengthValidator.jsx","components/forms/InputField.jsx","components/forms/TextAreaField.jsx","components/grid/DeleteAllButton.tsx","components/grid/DeleteFlaggedItemsButton.tsx","components/grid/DeleteRowsWithErrorButton.tsx","components/grid/AddRowButton.tsx","components/grid/HeaderItem.tsx","components/grid/Header.jsx","components/grid/Cells/Select.jsx","components/grid/Cells/PxTalk.jsx","components/grid/Cells/Color.jsx","components/grid/Cells/cell.events.js","components/grid/HelpPopover.tsx","components/grid/Cells/Text.jsx","components/grid/Cells/Lookup.jsx","components/grid/Cells/Textarea.jsx","components/grid/Cells/DateCell.jsx","components/grid/Cells/Lookup2.tsx","components/grid/Cells/FileUpload.tsx","components/grid/Row.jsx","components/grid/Grid.tsx","components/grid/SelectFile.tsx"],"sourcesContent":["import { isEqual } from 'lodash';\r\nimport { useDispatch } from 'react-redux';\r\nimport { v1 as uuid } from 'uuid';\r\nimport { FilterRangeGroup, FilterType } from '../../types/filters/FilterGroup';\r\nimport { BwicFilterType, CommonFilter, TFilterType } from '../../types/filters/FilterState';\r\nimport { Filters, FiltersProps } from './Filters';\r\nimport { numericUtils } from '../../utils';\r\nimport { filterUtils } from '../../utils/filtering/filter.utils';\r\nimport { usePageConfig } from '../common/pageConfig/usePageConfig';\r\nimport { PageConfigType } from '../../types/page-config/PageConfigType';\r\nimport { AlertOption } from '../../types/email-preferences/EmailPreferences';\r\nimport { FiltersManagement } from '../amrPipeline/aggregated/filters-management/FiltersManagement';\r\nimport { useEffect, useRef, useState } from 'react';\r\nimport { getSerializedFilter } from '../../utils/filtering/serializers/bwic/serializeFilter';\r\nimport { UserConfigFilter } from '../../types/user-config/UserConfigFilter';\r\nimport { createFilterActions } from '../../actions/filter.actions';\r\nimport { user } from '../../user/user';\r\nimport { textLabels } from '../../constants/text-labels';\r\nimport { FilterManagementForm } from '../amrPipeline/aggregated/filters-management/types';\r\n\r\nconst isApplyDisabled = (\r\n filterType: TFilterType,\r\n visibleFilters: string[],\r\n filter: CommonFilter,\r\n lastAppliedFilter: CommonFilter | undefined,\r\n isLoading: boolean) => {\r\n\r\n const hasErrors = () => visibleFilters.some(key => {\r\n const f = filter[key];\r\n if (f.type === FilterType.Range) {\r\n const fromRange = (f as FilterRangeGroup).filter.from;\r\n const toRange = (f as FilterRangeGroup).filter.to;\r\n\r\n if (\r\n numericUtils.isNumber(fromRange) &&\r\n numericUtils.isNumber(toRange) &&\r\n Number(fromRange) > Number(toRange)) return true;\r\n }\r\n return false;\r\n });\r\n\r\n return isLoading || hasErrors() || !filterUtils.isFilterChanged(filterType, filter, lastAppliedFilter);\r\n}\r\n\r\ninterface BwicFilterProps extends FiltersProps {\r\n lastAppliedFilter?: CommonFilter;\r\n pageConfigType: PageConfigType;\r\n withAlerts?: boolean;\r\n renderFilterAlertsPopup?: (filter: UserConfigFilter, onClose: () => void) => React.ReactNode;\r\n alertOptions?: AlertOption[];\r\n filterAlertPopupDescription?: string;\r\n filterAlertPopupTooltips?: { [key in AlertOption]?: string };\r\n onFilterCreate?: (form: FilterManagementForm) => void;\r\n onFilterUpdate?: (form: FilterManagementForm) => void;\r\n}\r\n\r\nexport const BwicFilters = (props: BwicFilterProps) => {\r\n const [isFilterCollapsed, setFiltersCollapseStatus] = useState(false);\r\n const { visibleFilters, filter, lastAppliedFilter, isSearching, filterType, filterModified,\r\n selectedFilterReferenceName, withAlerts = false, renderFilterAlertsPopup, filterAlertPopupTooltips,\r\n onFilterCreate, onFilterUpdate } = props;\r\n const applyDisabled = isApplyDisabled(filterType, visibleFilters, filter, lastAppliedFilter, isSearching);\r\n const bwicFilterType = filterType as BwicFilterType;\r\n const canUseSavedFilters = !props.saveFilterBlockerFeature || user.hasFeatures(props.saveFilterBlockerFeature);\r\n\r\n const { config, filterActions, saveAlerts } = usePageConfig(props.pageConfigType, true, bwicFilterType);\r\n\r\n useSavedFilterAutoSelect(\r\n !props.saveFilterVisible || !canUseSavedFilters,\r\n bwicFilterType,\r\n lastAppliedFilter,\r\n config?.filters,\r\n selectedFilterReferenceName\r\n );\r\n\r\n const handleFilterAlertSave = (referenceName: string, alertOption: AlertOption, isDefault: boolean) => {\r\n if (!config?.filters) {\r\n return;\r\n }\r\n\r\n const updatedFilters = config?.filters.map(f => f.referenceName === referenceName\r\n ? { ...f, alertOption, default: isDefault } : f);\r\n saveAlerts(updatedFilters);\r\n }\r\n\r\n const handleDeleteFilter = (referenceName: string) => filterActions.deleteFilter(referenceName);\r\n const filterAlertPopupDescription = props.filterAlertPopupDescription\r\n ? props.filterAlertPopupDescription\r\n : textLabels.savedFiltersBwicMonitor;\r\n\r\n const handleFilterCreate = (form: FilterManagementForm) => {\r\n if (onFilterCreate) {\r\n return onFilterCreate(form);\r\n }\r\n\r\n const newFilter: UserConfigFilter = {\r\n name: form.name,\r\n referenceName: uuid(),\r\n default: form.makeDefault,\r\n filter: getSerializedFilter(filter),\r\n alertOption: form.receiveEmailNotification\r\n };\r\n\r\n filterActions.addFilter(newFilter);\r\n }\r\n\r\n const handleFilterUpdate = (form: FilterManagementForm) => {\r\n if (onFilterUpdate) {\r\n return onFilterUpdate(form);\r\n }\r\n\r\n const existingFilter = config?.filters.find(f => f.referenceName === form.referenceName);\r\n if (!existingFilter) return;\r\n\r\n const updatedFilter = {\r\n ...existingFilter,\r\n filter: getSerializedFilter(filter),\r\n default: form.makeDefault,\r\n alertOption: form.receiveEmailNotification\r\n\r\n }\r\n\r\n filterActions.updateFilter(updatedFilter)\r\n }\r\n\r\n const onSavedFilterChange = () => {\r\n props.onApply();\r\n setFiltersCollapseStatus(false);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {props.saveFilterVisible && (\r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\n// Auto restore selected filter value in filter management drop-down (FilterManagement.tsx) \r\nfunction useSavedFilterAutoSelect(\r\n disabled: boolean,\r\n filterType: BwicFilterType,\r\n lastAppliedFilter?: CommonFilter,\r\n savedFilters?: UserConfigFilter[],\r\n selectedFilterReferenceName?: string,\r\n) {\r\n const dispatch = useDispatch();\r\n const appliedRef = useRef(false);\r\n\r\n useEffect(() => {\r\n if (!disabled &&\r\n !appliedRef.current &&\r\n lastAppliedFilter &&\r\n savedFilters?.length &&\r\n !selectedFilterReferenceName) {\r\n appliedRef.current = true;\r\n const serializedFilter = getSerializedFilter(lastAppliedFilter);\r\n const filterMatch = savedFilters?.find(f => isEqual(f.filter, serializedFilter));\r\n\r\n if (filterMatch) {\r\n const filterActions = createFilterActions(filterType);\r\n dispatch(filterActions.selectFilterFromConfig(filterMatch));\r\n }\r\n }\r\n }, [filterType, lastAppliedFilter, savedFilters, selectedFilterReferenceName, disabled, dispatch])\r\n}\r\n","import React, { useRef, useEffect } from 'react';\r\nimport { FilterChip } from './FilterChip';\r\n\r\nexport function ChipList({ list = [], selectionIndex, onRemove }) {\r\n const refList = useRef(null);\r\n const refChildren = useRef([]);\r\n const refListLength = useRef(0);\r\n\r\n useEffect(() => {\r\n if (selectionIndex !== null && refChildren.current[selectionIndex] && refList.current) {\r\n let offset = 0;\r\n\r\n for (let i = 0; i <= selectionIndex; i++) {\r\n offset += refChildren.current[i].offsetWidth;\r\n }\r\n refList.current.scrollLeft = offset - refList.current.clientWidth + 15;\r\n }\r\n }, [selectionIndex]);\r\n\r\n useEffect(() => {\r\n if (refList.current && refListLength.current < list.length) {\r\n refList.current.scrollLeft = refList.current.scrollWidth;\r\n refListLength.current = list.length;\r\n } else {\r\n refListLength.current = list.length;\r\n }\r\n }, [list]);\r\n\r\n function renderChips() {\r\n refChildren.current = [];\r\n const renderedList = [];\r\n for (let i = 0; i < list.length; i++) {\r\n renderedList.push(\r\n refChildren.current[i] = node}\r\n selected={selectionIndex === i}\r\n text={list[i]}\r\n onRemove={() => onRemove(i)}\r\n />\r\n );\r\n }\r\n return renderedList;\r\n }\r\n\r\n return (\r\n
{renderChips()}
\r\n );\r\n}\r\nChipList.defaultProps = {\r\n selectionIndex: null,\r\n onRemove: null\r\n}\r\n\n","import React from 'react';\r\nimport { FeatureButton } from '../access/FeatureButton';\r\n\r\nexport function FilterButton({ className = '', caption = '', children, show = true, disabled = false, onClick }) {\r\n const buttonCaption = children ? children : caption;\r\n if (show) {\r\n return (\r\n onClick && onClick()}\r\n >\r\n {buttonCaption}\r\n \r\n );\r\n }\r\n return null;\r\n}\r\n\r\nFilterButton.defaultProps = {\r\n children: null\r\n}\r\n","import React, { forwardRef } from 'react';\r\nimport classNames from 'classnames';\r\nimport IconSVG from '../../styles/svg-icons';\r\n\r\nexport const FilterChip = forwardRef(\r\n ({ text = '', selected = false, refParent, onRemove = () => false }, ref) => (\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 IconSVG from '../../styles/svg-icons';\r\n\r\nexport function FilterClear({ isShown = false, isDisabled = false, onClick }) {\r\n if (!isShown) {\r\n return null;\r\n }\r\n\r\n return (\r\n onClick && onClick()}\r\n disabled={isDisabled}\r\n >\r\n \r\n Reset\r\n \r\n )\r\n}\r\n","import React from 'react';\r\n\r\nexport function FilterPanel({ children }) {\r\n return (\r\n
\r\n {children}\r\n
\r\n )\r\n}\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { TFilter, TFilterType } from '../../types/filters/FilterState';\r\nimport { useDispatch } from 'react-redux';\r\nimport { createFilterActions } from '../../actions/filter.actions';\r\nimport { usePrevious } from '../../effects';\r\nimport cn from 'classnames';\r\nimport { useFilterNextLineHide } from '../../effects/useFilterNextLine';\r\nimport IconSVG from '../../styles/svg-icons';\r\nimport {\r\n FilterDateTimeGroup,\r\n FilterSelectGroup,\r\n FilterDateGroup,\r\n FilterRangeGroup,\r\n FilterBooleanGroup,\r\n FilterRadioGroup,\r\n FilterType,\r\n FilterGroup,\r\n} from '../../types/filters/FilterGroup';\r\nimport { FilterOption } from '../../types/filters/FilterOption';\r\nimport { UserConfigFilter } from '../../types/user-config/UserConfigFilter';\r\nimport { FiltersManagementPopup, TRenderCustomAlertOptions } from '../amrPipeline/aggregated/filters-management/FiltersManagementPopup';\r\nimport { FilterManagementForm, FilterSaveMode } from '../amrPipeline/aggregated/filters-management/types';\r\nimport { FilterBoolean } from '../common/filters/FilterBoolean';\r\nimport { FilterDateRange } from '../common/filters/FilterDateRange';\r\nimport { FilterDateTimeRange } from '../common/filters/FilterDateTimeRange/FilterDateTimeRange';\r\nimport { FilterRadio } from '../common/filters/FilterRadio';\r\nimport { FilterRange } from '../common/filters/FilterRange';\r\nimport { FilterSelect } from '../common/filters/FilterSelect';\r\nimport { FilterYearsDateRange } from '../common/filters/FilterYearsDateRange';\r\nimport { FilterButton } from './FilterButton';\r\nimport { FilterClear } from './FilterClear';\r\nimport { Filter } from '../common/filters/Filter';\r\nimport { SubscriptionFeature } from '../../types/billing/SubscriptionFeature';\r\nimport { ActionBlocker } from '../access/ActionBlocker';\r\nimport { AlertOption } from '../../types/email-preferences/EmailPreferences';\r\nimport { values } from 'lodash';\r\nimport { FilterColor } from '../common/filters/FilterColor';\r\nimport { arrayUtils } from '../../utils';\r\n\r\nexport interface FiltersProps {\r\n isSearching: boolean;\r\n allowCollapsing?: boolean;\r\n onApply: () => void;\r\n onReset: () => void;\r\n hiddenFilters: string[];\r\n onVisibilityChange?: (filterName: string) => void;\r\n filterType: TFilterType;\r\n withBlockedSearchAndFilter?: boolean;\r\n isUpdating?: boolean;\r\n filter: TFilter;\r\n filters?: UserConfigFilter[];\r\n filterChanged: boolean;\r\n filterModified: boolean;\r\n visibleFilters: string[];\r\n selectedFilterReferenceName?: string;\r\n applyDisabled?: boolean;\r\n onFilterSave?: (data: FilterManagementForm) => void;\r\n onFilterUpdate?: (data: FilterManagementForm) => void;\r\n filterConfigShowEmailNotification?: boolean;\r\n saveFilterBlockerFeature?: SubscriptionFeature;\r\n saveFilterBlockerText?: React.ReactNode;\r\n saveFilterVisible?: boolean;\r\n advancedFiltersBlockerFeature?: SubscriptionFeature;\r\n advancedFiltersBlockerText?: React.ReactNode;\r\n alertOptions?: AlertOption[];\r\n defaultAlertOption?: AlertOption;\r\n alertOptionInfo?: { [key in AlertOption]?: string };\r\n renderCustomAlertOptions?: TRenderCustomAlertOptions;\r\n}\r\n\r\ninterface CollapsibleFilterProps {\r\n filtersCollapseStatus: boolean;\r\n setFiltersCollapseStatus: (isCollapsed: boolean) => void;\r\n}\r\n\r\nexport const Filters = ({\r\n isSearching,\r\n onApply,\r\n onReset,\r\n allowCollapsing = true,\r\n hiddenFilters = [],\r\n onVisibilityChange,\r\n filterType,\r\n filtersCollapseStatus,\r\n setFiltersCollapseStatus,\r\n withBlockedSearchAndFilter = false,\r\n isUpdating = false,\r\n filter,\r\n filters,\r\n selectedFilterReferenceName,\r\n visibleFilters,\r\n filterChanged,\r\n filterModified,\r\n applyDisabled,\r\n onFilterSave,\r\n onFilterUpdate,\r\n filterConfigShowEmailNotification,\r\n saveFilterBlockerFeature,\r\n saveFilterBlockerText,\r\n advancedFiltersBlockerFeature,\r\n advancedFiltersBlockerText,\r\n saveFilterVisible = true,\r\n alertOptions,\r\n defaultAlertOption,\r\n alertOptionInfo,\r\n renderCustomAlertOptions\r\n}: FiltersProps & CollapsibleFilterProps) => {\r\n const isFilterCollapsed = filtersCollapseStatus;\r\n const filterActions = createFilterActions(filterType);\r\n\r\n const dispatch = useDispatch();\r\n\r\n const filterContainer = useRef(null);\r\n const filtersRef = useRef([]);\r\n\r\n const [isHideFilterButtonVisible, setIsHideFilterButtonVisible] = useState(false);\r\n const [showFiltersPopup, setShowFiltersPopup] = useState(false);\r\n const [lastAddedFilter, setLastAddedFilter] = useState();\r\n\r\n const previousCollapsedState = usePrevious(isFilterCollapsed);\r\n\r\n const additionalFilters = hiddenFilters.map(key => filter[key]);\r\n\r\n const moreFilters = arrayUtils.distinct(additionalFilters?.map(f => ({\r\n text: f.text,\r\n disabled: f.disabled,\r\n selected: f.selected,\r\n visible: true,\r\n value: f.key,\r\n })), f => f.text);\r\n\r\n const countOfHiddenFilters = useFilterNextLineHide(\r\n filterContainer,\r\n filtersRef,\r\n isFilterCollapsed,\r\n shouldShowHideButton => setIsHideFilterButtonVisible(shouldShowHideButton),\r\n );\r\n\r\n useEffect(() => {\r\n if (selectedFilterReferenceName) {\r\n setLastAddedFilter('');\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [selectedFilterReferenceName]);\r\n\r\n useEffect(() => {\r\n if (!isUpdating) {\r\n setShowFiltersPopup(false);\r\n }\r\n }, [isUpdating]);\r\n\r\n const handleFilterVisibilityChange = (selectedFilter: FilterOption, checked: boolean) => {\r\n setLastAddedFilter(checked ? (selectedFilter.value as string) : undefined);\r\n onVisibilityChange?.(selectedFilter.value as string);\r\n\r\n const f = filter[selectedFilter.value];\r\n if (f.groupKey) {\r\n values(filter) // set visibility of other filters in the group\r\n .filter(x => x.groupKey === f.groupKey && x.key !== selectedFilter.value)\r\n .forEach(x => onVisibilityChange?.(x.key))\r\n }\r\n };\r\n\r\n const handleFilterSelectOptionsChange = (filter: FilterOption, filterName: string) =>\r\n dispatch(filterActions.filterSelectChange(filter.value, filterName));\r\n\r\n const handleApplyFilter = () => {\r\n onApply();\r\n };\r\n\r\n const handleClearFilter = () => onReset();\r\n\r\n const handleSaveFilter = (data: FilterManagementForm) => {\r\n switch (data.mode) {\r\n case FilterSaveMode.Create:\r\n onFilterSave && onFilterSave(data);\r\n break;\r\n case FilterSaveMode.Update:\r\n onFilterUpdate && onFilterUpdate(data);\r\n break;\r\n default:\r\n }\r\n setShowFiltersPopup(false);\r\n };\r\n\r\n const renderFilter = (\r\n f:\r\n | FilterDateTimeGroup\r\n | FilterSelectGroup\r\n | FilterDateGroup\r\n | FilterRangeGroup\r\n | FilterBooleanGroup\r\n | FilterRadioGroup,\r\n defaultExpanded: boolean = false,\r\n ) => {\r\n const { type, isApplied } = f;\r\n filtersRef.current = [];\r\n\r\n return (\r\n f.visible && (\r\n (filtersRef.current = [...filtersRef.current, el])} key={f.key}>\r\n {type === FilterType.Select && (\r\n dispatch(filterActions.filterSelectClearAll(f.key))}\r\n onSelectAll={searchTerm => dispatch(filterActions.filterSelectSelectAll(f.key, searchTerm))}\r\n options={(f as FilterSelectGroup).filter}\r\n onChangeItemSelection={v => handleFilterSelectOptionsChange(v, f.key)}\r\n disabled={withBlockedSearchAndFilter}\r\n />\r\n )}\r\n {type === FilterType.Range && (\r\n dispatch(filterActions.filterRangeClearSelectedOptions(f.key))}\r\n onChangeRange={i => dispatch(filterActions.changeRangeFilter(i, f.key))}\r\n mask={{\r\n allowDecimal: true,\r\n integerLimit: 6,\r\n decimalLimit: (f as FilterRangeGroup).decimals ?? 2,\r\n }}\r\n disabled={withBlockedSearchAndFilter}\r\n />\r\n )}\r\n {type === FilterType.Date && (\r\n \r\n {blocked =>\r\n dispatch(filterActions.filterDateClearSelectedOptions(f.key))}\r\n onSelectedDateChange={option =>\r\n dispatch(filterActions.filterDateSelectOption(option, f.key))\r\n }\r\n onCustomDateChange={option =>\r\n dispatch(filterActions.filterDateSelectCustomRange(option, f.key))\r\n }\r\n customDateRange={(f as FilterDateGroup).filter.options.customDateRange}\r\n selectedFilterOption={(f as FilterDateGroup).filter.selectedOption}\r\n disabled={blocked || withBlockedSearchAndFilter}\r\n disabledDays={(f as FilterDateGroup).disabledDays}\r\n />\r\n }\r\n \r\n )}\r\n {type === FilterType.DateWithYearsRange && (\r\n dispatch(filterActions.filterDateClearSelectedOptions(f.key))}\r\n onSelectedDateChange={option =>\r\n dispatch(filterActions.filterDateSelectOption(option, f.key))\r\n }\r\n onCustomDateChange={option =>\r\n dispatch(filterActions.filterDateSelectCustomRange(option, f.key))\r\n }\r\n onYearsRangeChange={option =>\r\n dispatch(filterActions.filterDateSelectYearsRange(option, f.key))\r\n }\r\n customDateRange={(f as FilterDateGroup).filter.options.customDateRange}\r\n customYearsRange={(f as FilterDateGroup).filter.options.customYearsRange}\r\n selectedFilterOption={(f as FilterDateGroup).filter.selectedOption}\r\n disabled={withBlockedSearchAndFilter}\r\n />\r\n )}\r\n {type === FilterType.DateWithYearsAndTimeRange && (\r\n dispatch(filterActions.filterDateClearSelectedOptions(f.key))}\r\n selectedFilterOption={(f as FilterDateTimeGroup).filter.selectedOption}\r\n onSelectedDateChange={option =>\r\n dispatch(filterActions.filterDateTimeOptionSelected(option, f.key))\r\n }\r\n value={(f as FilterDateTimeGroup).filter.selectedOption}\r\n onCustomDateChange={option =>\r\n dispatch(filterActions.filterDateTimeSelectCustomRange(option, f.key))\r\n }\r\n disabled={withBlockedSearchAndFilter}\r\n />\r\n )}\r\n {type === FilterType.YearsDate && (\r\n dispatch(filterActions.filterDateClearSelectedOptions(f.key))}\r\n onSelectedDateChange={option =>\r\n dispatch(filterActions.filterDateSelectOption(option, f.key))\r\n }\r\n onCustomDateChange={option =>\r\n dispatch(filterActions.filterDateSelectCustomRange(option, f.key))\r\n }\r\n value={(f as FilterDateGroup).filter.options.customDateRange}\r\n selectedFilterOption={(f as FilterDateGroup).filter.selectedOption}\r\n />\r\n )}\r\n {type === FilterType.Radio && (\r\n ).filter.options}\r\n defaultExpanded={defaultExpanded}\r\n className={f.text}\r\n title={f.text}\r\n value={(f as FilterRadioGroup).filter.selectedOption}\r\n onClearAll={() => dispatch(filterActions.filterRadioClearOption(f.key))}\r\n onChangeItemSelection={value => dispatch(filterActions.filterRadioChange(value, f.key))}\r\n disabled={withBlockedSearchAndFilter}\r\n />\r\n )}\r\n {type === FilterType.BooleanRadio && (\r\n dispatch(filterActions.filterRadioClearOption(f.key))}\r\n onChangeItemSelection={value => dispatch(filterActions.filterRadioChange(value, f.key))}\r\n disabled={withBlockedSearchAndFilter}\r\n />\r\n )}\r\n \r\n )\r\n );\r\n };\r\n\r\n const renderMoreFiltersSelect = () =>\r\n moreFilters &&\r\n moreFilters.length > 0 && (\r\n \r\n \r\n {blocked => (\r\n a.text.localeCompare(b.text))}\r\n formatTitle={false}\r\n withExpandToggle={false}\r\n onChangeItemSelection={handleFilterVisibilityChange}\r\n title={\r\n <>\r\n \r\n Filters\r\n \r\n }\r\n />\r\n )}\r\n \r\n \r\n );\r\n\r\n const renderCombined = (group: FilterGroup[], defaultExpanded: boolean = false) => {\r\n if (!group.length) return null;\r\n\r\n switch (group[0]?.groupKey) {\r\n case 'color': return (\r\n (filtersRef.current = [...filtersRef.current, el])} key={group[0].key}>\r\n \r\n )\r\n default: return null;\r\n }\r\n }\r\n\r\n const renderFilters = () =>\r\n visibleFilters.map(filterKey => {\r\n const isDefault = !additionalFilters.some(filter => filter.key === filterKey)\r\n const f = filter[filterKey];\r\n const defaultExpanded = isDefault\r\n ? false\r\n : lastAddedFilter === filterKey && !previousCollapsedState && !isFilterCollapsed\r\n\r\n if (f.groupKey) {\r\n const group = values(filter).filter(x => x.groupKey === f.groupKey);\r\n\r\n //Skip other filters with same group key to avoid duplicates\r\n return group[0]?.key === filterKey\r\n ? renderCombined(group, defaultExpanded)\r\n : null\r\n }\r\n\r\n return renderFilter(f, defaultExpanded);\r\n });\r\n\r\n const renderButtons = () => (\r\n <>\r\n
\r\n \r\n \r\n {filterModified && saveFilterVisible && (\r\n <>\r\n \r\n \r\n setShowFiltersPopup(true)}\r\n >\r\n Save this filter\r\n \r\n \r\n \r\n )}\r\n {filters && showFiltersPopup && (\r\n setShowFiltersPopup(false)}\r\n />\r\n )}\r\n
\r\n \r\n );\r\n\r\n return (\r\n \r\n {isFilterCollapsed && (\r\n <>\r\n {allowCollapsing && (\r\n <>\r\n
\r\n setFiltersCollapseStatus(false)}\r\n className=\"btn-link secondary regular\"\r\n >\r\n Show Filters\r\n \r\n
\r\n \r\n \r\n )}\r\n {renderFilters()}\r\n \r\n )}\r\n {!isFilterCollapsed && (\r\n <>\r\n {allowCollapsing && (\r\n <>\r\n
\r\n setFiltersCollapseStatus(true)}\r\n className=\"btn-link secondary regular\"\r\n >\r\n Hide Filters\r\n \r\n
\r\n \r\n \r\n )}\r\n {renderFilters()}\r\n \r\n )}\r\n
\r\n {!isFilterCollapsed && renderMoreFiltersSelect()}\r\n {isFilterCollapsed && (\r\n setFiltersCollapseStatus(false)}\r\n className=\"control-filter-select-btn hidden-filters-box\"\r\n >\r\n + {countOfHiddenFilters} filters\r\n \r\n )}\r\n \r\n {renderButtons()}\r\n
\r\n
\r\n );\r\n};\r\n","import React, { useState, useEffect, useRef, useContext } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { createAmrPipelineActions, createSearchTransactionActions } from \"../../actions\";\r\nimport classNames from \"classnames\";\r\nimport { ClickOutside } from \"../common/ClickOutside\";\r\nimport { ChipList } from \"./ChipList\";\r\nimport { Deal } from \"../../types/amr-pipeline/models/Deal\";\r\nimport { constants } from \"../../constants\";\r\nimport { EmptyPlaceholder, Preloader } from \"../common\";\r\nimport IconSVG from \"../../styles/svg-icons\";\r\nimport { issuanceMonitorSearchTransactionsSelector } from '../../selectors/amr-pipeline.selector';\r\nimport PipelineContext from '../amrPipeline/aggregated/PipelineContext';\r\nimport { Tranche } from \"../../types/amr-pipeline/models/Tranche\";\r\nimport Highlighter from \"../amrPipeline/common/Highlighter\";\r\nimport { withSearchedClassIndicator } from \"../../utils/amr-pipeline.utils\";\r\nimport { useAppDispatch } from \"../../effects/useAppDispatch\";\r\nimport StatusLabel from \"../amrPipeline/StatusLabel\";\r\nimport { TransactionStatus, transactionStatusTitles } from \"../../types/amr-pipeline/enums/TransactionStatus\";\r\n\r\nconst displayAmount = 10;\r\n\r\nconst renderHighlightOrPlaceholder = (\r\n searchTerm: string,\r\n value?: string,\r\n className = \"\"\r\n) =>\r\n value ? (\r\n \r\n ) : (\r\n constants.emptyPlaceholder\r\n );\r\n\r\ninterface Props {\r\n singleSearch?: boolean;\r\n disabled?: boolean;\r\n placeholder?: string;\r\n onSearch: () => any;\r\n className?: string;\r\n maxLength?: number;\r\n}\r\n\r\nexport const TransactionsSearchInput = ({\r\n singleSearch = false,\r\n disabled = false,\r\n placeholder = \"\",\r\n onSearch,\r\n className,\r\n maxLength,\r\n}: Props) => {\r\n const { pipelineType } = useContext(PipelineContext);\r\n const actions = createSearchTransactionActions(pipelineType);\r\n const pipelineActions = createAmrPipelineActions(pipelineType);\r\n const refInput = useRef(null);\r\n const refScrollableContainer = useRef(null);\r\n const refActiveItem = useRef(null);\r\n const dispatch = useAppDispatch();\r\n const {\r\n searchTerm = '',\r\n searchTermItems = [],\r\n markerPosition = -1,\r\n lookup = [],\r\n isSearching,\r\n hasMoreDeals,\r\n } = useSelector(issuanceMonitorSearchTransactionsSelector(pipelineType));\r\n\r\n const [index, setIndex] = useState(-1);\r\n const [inputFocus, setInputFocus] = useState(false);\r\n const [classOffset, setClassOffset] = useState(displayAmount);\r\n const [dealOffset, setDealOffset] = useState(displayAmount);\r\n const deals = lookup.filter((d) => (d as Deal).isDeal);\r\n const groupedDeals = deals.slice(0, dealOffset);\r\n const classes = groupedDeals.reduce((acc: Tranche[], dealItem) => {\r\n const classesWithIndicators = dealItem.classes.reduce(\r\n (classesAccum: Tranche[], c) => (\r\n withSearchedClassIndicator(searchTerm, c)\r\n ? [\r\n ...classesAccum,\r\n {\r\n ...c,\r\n dealLegalName: dealItem.legalName,\r\n dealReferenceName: dealItem.referenceName,\r\n },\r\n ]\r\n : classesAccum\r\n ), []\r\n );\r\n\r\n return [...acc, ...classesWithIndicators];\r\n }, []);\r\n\r\n const groupedClasses = classes.slice(0, classOffset);\r\n const groupedDealsLength = groupedDeals.length;\r\n const groupedClassesLength = groupedClasses.length;\r\n const loadedDealsLeftAmount = deals.length - groupedDealsLength;\r\n const loadedClassesLeftAmount = classes.length - groupedClassesLength;\r\n\r\n const searchItemsLength = !!searchTermItems.length;\r\n\r\n useEffect(() => {\r\n if (\r\n refScrollableContainer.current &&\r\n refActiveItem.current &&\r\n lookup.length &&\r\n classOffset === displayAmount &&\r\n dealOffset === displayAmount\r\n ) {\r\n const container = refScrollableContainer.current.getBoundingClientRect();\r\n const item = refActiveItem.current.getBoundingClientRect();\r\n if (item.top < container.top || item.bottom > container.bottom) {\r\n refActiveItem.current.scrollIntoView(false);\r\n }\r\n }\r\n }, [lookup, index, classOffset, dealOffset]);\r\n\r\n useEffect(() => {\r\n dispatch(pipelineActions.setExpanded(!!searchItemsLength));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [searchItemsLength])\r\n\r\n const getPlaceholder = () => {\r\n if (searchTermItems.length) {\r\n return \"\";\r\n }\r\n return placeholder ? placeholder : \"Search by deal name, deal ticker, class ticker, CUSIP or ISIN\";\r\n };\r\n\r\n const isStatusVisible = (status: TransactionStatus) => (\r\n status === TransactionStatus.Active || status === TransactionStatus.Priced || status === TransactionStatus.OnHold\r\n )\r\n\r\n const handleSearchTermChange = (e: React.ChangeEvent) => {\r\n if (singleSearch && searchTermItems[0]) {\r\n handleClearAll();\r\n }\r\n setIndex(-1);\r\n setClassOffset(displayAmount);\r\n setDealOffset(displayAmount);\r\n dispatch(actions.searchTermChange(e.target.value));\r\n };\r\n\r\n const handleClearAll = () => {\r\n setIndex(-1);\r\n dispatch(actions.reset());\r\n refInput.current && refInput.current.focus();\r\n onSearch();\r\n };\r\n\r\n const handleLookupItemClick = (\r\n label: string,\r\n dealReferenceName: string,\r\n classNames: string[] = [],\r\n ) => {\r\n setIndex(-1);\r\n refInput.current && refInput.current.focus();\r\n dispatch(actions.applyLookupItem(label, dealReferenceName, classNames));\r\n onSearch();\r\n };\r\n\r\n const handleRemoveChip = (i: number) => {\r\n dispatch(actions.removeSearchItem(i));\r\n if (refInput.current) {\r\n refInput.current.focus();\r\n }\r\n onSearch();\r\n };\r\n\r\n const handleClickOutside = (e: MouseEvent) => {\r\n e.stopPropagation();\r\n if (lookup.length) {\r\n setIndex(-1);\r\n dispatch(actions.resetSearchLookup());\r\n }\r\n setInputFocus(false);\r\n };\r\n\r\n const handleKeyDown = (e: React.KeyboardEvent) => {\r\n if (e.keyCode === 8) {\r\n if (markerPosition > 0 && !searchTerm) {\r\n dispatch(actions.removeCurrentItem());\r\n onSearch();\r\n } else if (e.currentTarget.selectionStart === 0 && !searchTerm) {\r\n handleRemoveChip(searchTermItems.length - 1);\r\n }\r\n } else if (\r\n !searchTerm &&\r\n e.keyCode === 37 &&\r\n e.currentTarget.selectionStart === 0\r\n ) {\r\n dispatch(actions.moveBack());\r\n } else if (!searchTerm && e.keyCode === 39 && markerPosition !== -1) {\r\n e.preventDefault();\r\n dispatch(actions.moveForward());\r\n }\r\n if (groupedDealsLength || groupedDealsLength) {\r\n if (e.keyCode === 13) {\r\n const selectedIndex = index < 0 ? 0 : index;\r\n\r\n // enter\r\n const idDealGroup = selectedIndex < groupedDealsLength;\r\n\r\n const dealItem = groupedDeals[selectedIndex];\r\n const classItem = groupedClasses[selectedIndex - groupedDealsLength];\r\n\r\n const referenceName = idDealGroup\r\n ? dealItem.referenceName\r\n : classItem.dealReferenceName;\r\n\r\n const label = idDealGroup\r\n ? dealItem.legalName\r\n : classItem.ticker144A || classItem.dealLegalName;\r\n\r\n const classList = idDealGroup\r\n ? []\r\n : [classItem.name]\r\n\r\n handleLookupItemClick(label, referenceName, classList);\r\n } else if (e.keyCode === 38) {\r\n // move up\r\n e.preventDefault();\r\n if (index >= 0) {\r\n setIndex(index - 1);\r\n }\r\n } else if (e.keyCode === 40 && index < groupedDealsLength + groupedClassesLength - 1) {\r\n // move down\r\n setIndex(index + 1);\r\n }\r\n }\r\n };\r\n\r\n const showMoreDeals = () => {\r\n if(loadedDealsLeftAmount < displayAmount) {\r\n dispatch(actions.loadSearchLookup(searchTerm, true))\r\n }\r\n setDealOffset(prevVal => prevVal + displayAmount);\r\n }\r\n const showMoreClasses = () => {\r\n if(loadedClassesLeftAmount < displayAmount && hasMoreDeals) {\r\n dispatch(actions.loadSearchLookup(searchTerm, true))\r\n }\r\n setClassOffset(prevVal => prevVal + displayAmount);\r\n }\r\n\r\n const renderLookupDeal = (item: Deal, i: number) => {\r\n const { legalName, referenceName, ticker, transactionStatus } = item;\r\n return (\r\n (refActiveItem.current = index === i ? node : refActiveItem.current)}\r\n className={classNames({ active: index === i })}\r\n onClick={() => handleLookupItemClick(legalName, referenceName)}\r\n >\r\n \r\n {isStatusVisible(transactionStatus) && }\r\n \r\n \r\n
\r\n {renderHighlightOrPlaceholder(searchTerm, ticker)}\r\n
\r\n \r\n \r\n
\r\n {renderHighlightOrPlaceholder(searchTerm, legalName)}\r\n
\r\n \r\n \r\n );\r\n };\r\n\r\n const renderLookupClass = (item: Tranche, i: number) => {\r\n const {\r\n name,\r\n dealLegalName,\r\n dealReferenceName,\r\n ticker144A,\r\n tickerRegS,\r\n tickerAccdInvCertif,\r\n cusip144A,\r\n cusipRegS,\r\n cusipAccdInvCertif,\r\n isin144A,\r\n isinRegS,\r\n isinAccdInvCertif\r\n } = item;\r\n\r\n const classesData =[\r\n { rule144a: ticker144A, regS: tickerRegS, accdInvCertif: tickerAccdInvCertif },\r\n { rule144a: cusip144A, regS: cusipRegS, accdInvCertif: cusipAccdInvCertif },\r\n { rule144a: isin144A, regS: isinRegS, accdInvCertif: isinAccdInvCertif },\r\n ];\r\n\r\n const rowIndex = groupedDealsLength + i;\r\n\r\n return (\r\n \r\n (refActiveItem.current =\r\n index === rowIndex ? node : refActiveItem.current)\r\n }\r\n className={classNames('classes-row', { active: index === rowIndex })}\r\n onClick={() => handleLookupItemClick(ticker144A || dealLegalName, dealReferenceName, [name])}\r\n >\r\n \r\n {classesData.map(({ rule144a, regS, accdInvCertif }, classIndex) => (\r\n \r\n
\r\n
\r\n {renderHighlightOrPlaceholder(searchTerm, rule144a)}\r\n
\r\n
\r\n {renderHighlightOrPlaceholder(searchTerm, regS, \"classes-info-item\")}\r\n {` / `}\r\n {renderHighlightOrPlaceholder(searchTerm, accdInvCertif, \"classes-info-item\")}\r\n
\r\n
\r\n \r\n ))}\r\n \r\n );\r\n };\r\n\r\n const renderShowMore = (\r\n items: Deal[] | Tranche[],\r\n hasMoreItems: boolean,\r\n showMore: () => void,\r\n colSpan: number\r\n ) => {\r\n if(items.length < displayAmount || (!hasMoreItems && items.length === displayAmount)) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {isSearching && }\r\n {hasMoreItems ? (\r\n \r\n ) : (\r\n You have reached the end of the results\r\n )}\r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n
\r\n
\r\n \r\n
\r\n {!singleSearch && (\r\n i.label)}\r\n selectionIndex={markerPosition}\r\n onRemove={handleRemoveChip}\r\n />\r\n )}\r\n setInputFocus(true)}\r\n placeholder={getPlaceholder()}\r\n disabled={disabled}\r\n maxLength={maxLength}\r\n />\r\n {(!!searchTerm || !!searchTermItems.length) && (\r\n \r\n )}\r\n {searchTerm.length > constants.searchTermAcceptedLength && (\r\n
\r\n {isSearching && !lookup.length && }\r\n {\r\n lookup.length\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 {groupedDeals.map((item, i) =>\r\n renderLookupDeal(item, i)\r\n )}\r\n {renderShowMore(groupedDeals, !!(loadedDealsLeftAmount) || hasMoreDeals, showMoreDeals, 3)}\r\n \r\n \r\n
Deals
\r\n {!!groupedClassesLength && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n <>\r\n {groupedClasses.map((c, i) =>\r\n renderLookupClass(c, i)\r\n )}\r\n {renderShowMore(groupedClasses, !!(loadedClassesLeftAmount), showMoreClasses, 4)}\r\n \r\n \r\n
Classes
\r\n )}\r\n \r\n : \r\n }\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n};\r\n","import { useEffect } from \"react\";\r\nimport { useCollateralManagers } from \"../../../effects/data-accessors/useCollateralManagers\";\r\nimport { FilterOption } from \"../../../types/filters/FilterOption\";\r\nimport { isRequestFailed, isRequestSuccess } from '../../../utils';\r\nimport { useDispatch } from \"react-redux\";\r\nimport { BwicFilterType } from \"../../../types/filters/FilterState\";\r\nimport { createFilterActions } from \"../../../actions/filter.actions\";\r\n\r\nexport const useManagersFilterData = (filterType: BwicFilterType, filterKey: string = 'managers') => {\r\n const dispatch = useDispatch();\r\n const filterActions = createFilterActions(filterType);\r\n const { requestState: managersRequestState, items: managers } = useCollateralManagers();\r\n\r\n useEffect(() => {\r\n if (isRequestSuccess(managersRequestState) || isRequestFailed(managersRequestState)) {\r\n const managersOptions: FilterOption[] = [...managers]\r\n .sort((a, b) => a.legalName.localeCompare(b.legalName))\r\n .map(cm =>\r\n ({\r\n value: cm.referenceName,\r\n text: cm.legalName,\r\n selected: false,\r\n visible: true,\r\n disabled: false,\r\n })) as FilterOption[];\r\n dispatch(filterActions.storeFilterData.success({\r\n filterType: filterType,\r\n filterName: filterKey,\r\n data: managersOptions\r\n }))\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [filterType, filterKey, managersRequestState, dispatch])\r\n\r\n return managersRequestState;\r\n}\r\n","import { useEffect } from 'react';\r\nimport { useTrustee } from '../../../effects/data-accessors/useTrustee';\r\nimport { FilterOption } from '../../../types/filters/FilterOption';\r\nimport { isRequestFailed, isRequestSuccess } from '../../../utils';\r\nimport { useDispatch } from 'react-redux';\r\nimport { BwicFilterType } from '../../../types/filters/FilterState';\r\nimport { createFilterActions } from '../../../actions/filter.actions';\r\n\r\nexport const useTrusteeFilterData = (filterType: BwicFilterType, filterKey: string = 'trustees') => {\r\n const dispatch = useDispatch();\r\n const filterActions = createFilterActions(filterType);\r\n const { requestState: trusteeRequestState, items } = useTrustee();\r\n\r\n useEffect(() => {\r\n if (isRequestSuccess(trusteeRequestState) || isRequestFailed(trusteeRequestState)) {\r\n\r\n const trusteeOptions: FilterOption[] = [...items]\r\n .sort((a, b) => a.legalName.localeCompare(b.legalName))\r\n .map(t => ({\r\n value: t.referenceName,\r\n text: t.legalName,\r\n selected: false,\r\n visible: true,\r\n disabled: false,\r\n }));\r\n\r\n dispatch(filterActions.storeFilterData.success({\r\n filterType: filterType,\r\n filterName: filterKey,\r\n data: trusteeOptions\r\n }))\r\n }\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [filterType, filterKey, trusteeRequestState, dispatch])\r\n\r\n return trusteeRequestState;\r\n}\r\n","import React from 'react';\r\nimport cn from 'classnames';\r\n\r\nexport function FilterSection({ title = '', className = '', children }) {\r\n return (\r\n
\r\n {title && }\r\n {children}\r\n
\r\n )\r\n}\r\n","import React from 'react';\r\nimport cn from 'classnames';\r\n\r\nexport function FilterSwitch({ selected, disabled = false, caption, onClick }) {\r\n return (\r\n onClick && !disabled && onClick()}\r\n >\r\n {caption}\r\n \r\n )\r\n}\r\n","import React from 'react';\r\nimport { FilterSwitch } from './FilterSwitch';\r\n\r\nexport function FilterMultiPicker({ sourceItems = [], disabled = false, required = true, onChangeItemSelection }) {\r\n const handleItemSelectionChange = item => {\r\n if (!item.selected || !required || sourceItems.filter(i => i.selected).length > 0) {\r\n onChangeItemSelection && onChangeItemSelection(item);\r\n }\r\n };\r\n\r\n const items = sourceItems.map((o, i) =>\r\n handleItemSelectionChange(o)}\r\n />\r\n );\r\n\r\n return
{items}
\r\n}\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport cn from 'classnames';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { searchSecuritiesActions } from '../../actions';\r\nimport { ClickOutside } from '../common/ClickOutside';\r\nimport { ChipList } from './ChipList';\r\nimport IconSVG from '../../styles/svg-icons';\r\nimport { useLocation } from 'react-router';\r\nimport { ActionBlocker } from '../access/ActionBlocker';\r\n\r\n\r\nexport function SecuritiesSearchInput(\r\n {\r\n singleSearch = false,\r\n disabled = false,\r\n placeholder = '',\r\n className = '',\r\n defaultSearchTerm = '',\r\n maxLength,\r\n compactView = false,\r\n requiredFeature,\r\n onSearch\r\n }) {\r\n const location = useLocation();\r\n const searchInputId = 'search-input-id';\r\n const refInput = useRef(null);\r\n const refScrollableContainer = useRef(null);\r\n const refActiveItem = useRef(null);\r\n const dispatch = useDispatch();\r\n const [index, setIndex] = useState(0);\r\n const [inputFocus, setInputFocus] = useState(false);\r\n const [expanded, setExpanded] = useState(!compactView);\r\n\r\n const searchTerm = useSelector(state => state.searchSecurities.searchTerm) || '';\r\n const searchTermItemsState = useSelector(state => state.searchSecurities.searchTermItems);\r\n const searchTermItems = searchTermItemsState || [];\r\n const markerPosition = useSelector(state => state.searchSecurities.markerPosition);\r\n const lookupItems = useSelector(state => state.searchSecurities.lookup);\r\n const lookup = lookupItems || [];\r\n\r\n useEffect(() => () => {\r\n dispatch(searchSecuritiesActions.reset());\r\n }, [location.pathname, dispatch])\r\n\r\n useEffect(() => {\r\n if (defaultSearchTerm) {\r\n dispatch(searchSecuritiesActions.addSearchItem(defaultSearchTerm));\r\n }\r\n }, [defaultSearchTerm, dispatch]);\r\n\r\n useEffect(() => {\r\n if (refScrollableContainer.current && refActiveItem.current && lookupItems && lookupItems.length) {\r\n const container = refScrollableContainer.current.getBoundingClientRect();\r\n const item = refActiveItem.current.getBoundingClientRect();\r\n if (item.top < container.top || item.bottom > container.bottom) {\r\n refActiveItem.current.scrollIntoView(false);\r\n }\r\n }\r\n }, [lookupItems, index]);\r\n\r\n useEffect(() => {\r\n if (refInput.current && !disabled && inputFocus) {\r\n refInput.current.focus();\r\n }\r\n }, [disabled, inputFocus]);\r\n\r\n useEffect(() => {\r\n if (compactView && !expanded && searchTermItemsState && searchTermItemsState.length) {\r\n setExpanded(true);\r\n }\r\n }, [compactView, expanded, searchTermItemsState]);\r\n\r\n const getPlaceholder = () => {\r\n if (searchTermItems.length) {\r\n return '';\r\n }\r\n return placeholder ? placeholder : 'Search by ISIN/CUSIP or ticker';\r\n };\r\n\r\n const handleSearchTermChange = e => {\r\n if (disabled) {\r\n return;\r\n }\r\n if (singleSearch && searchTermItems[0]) {\r\n handleClearAll();\r\n }\r\n setIndex(0);\r\n dispatch(searchSecuritiesActions.searchTermChange(e.target.value));\r\n };\r\n\r\n const handleClearAll = () => {\r\n setIndex(0);\r\n dispatch(searchSecuritiesActions.reset());\r\n refInput.current && refInput.current.focus();\r\n onSearch && onSearch();\r\n setInputFocus(true);\r\n };\r\n\r\n const handleLookupItemClick = lookupItem => {\r\n setIndex(0);\r\n refInput.current && refInput.current.focus();\r\n dispatch(searchSecuritiesActions.applyLookupItem(lookupItem));\r\n onSearch && onSearch();\r\n setInputFocus(true);\r\n };\r\n\r\n const handleRemoveChip = i => {\r\n dispatch(searchSecuritiesActions.removeSearchItem(i));\r\n refInput.current && refInput.current.focus();\r\n onSearch && onSearch();\r\n setInputFocus(true);\r\n };\r\n\r\n const handleClickOutside = e => {\r\n e.stopPropagation();\r\n if (lookup.length && refInput.current && e.target.id !== searchInputId) {\r\n setIndex(0);\r\n dispatch(searchSecuritiesActions.resetSearchLookup());\r\n dispatch(searchSecuritiesActions.searchTermChange(''));\r\n setInputFocus(false);\r\n }\r\n };\r\n\r\n const handleKeyDown = e => {\r\n if (e.keyCode === 8) { // backspace\r\n if (markerPosition > 0 && !searchTerm) {\r\n dispatch(searchSecuritiesActions.removeCurrentItem());\r\n onSearch && onSearch();\r\n } else if (e.currentTarget.selectionStart === 0 && !searchTerm) {\r\n handleRemoveChip(searchTermItems.length - 1);\r\n }\r\n } else if (!searchTerm && e.keyCode === 37 && e.currentTarget.selectionStart === 0) { // left arrow\r\n dispatch(searchSecuritiesActions.moveBack());\r\n } else if (!searchTerm && e.keyCode === 39 && markerPosition !== -1) { // right arrow\r\n e.preventDefault();\r\n dispatch(searchSecuritiesActions.moveForward());\r\n }\r\n if (lookup.length) {\r\n if (e.keyCode === 13) { // enter\r\n handleLookupItemClick(lookup[index]);\r\n } else if (e.keyCode === 38) { // move up\r\n e.preventDefault();\r\n if (index > 0) {\r\n setIndex(index - 1);\r\n }\r\n } else if (e.keyCode === 40 && index < lookup.length - 1) { // move down\r\n setIndex(index + 1);\r\n }\r\n }\r\n };\r\n\r\n const handleSearchClick = () => {\r\n setExpanded(!expanded);\r\n }\r\n\r\n const renderLookupItem = (item, i) =>\r\n refActiveItem.current = (index === i ? node : refActiveItem.current)}\r\n className={cn({ active: index === i })}\r\n onClick={() => handleLookupItemClick(item)}\r\n >\r\n {\r\n i === 0\r\n ?\r\n <>\r\n Custom search:\r\n {item}\r\n \r\n :\r\n <>\r\n {item.ticker}\r\n {item.isinCusip}\r\n \r\n }\r\n ;\r\n\r\n return (\r\n \r\n {blocked =>\r\n setInputFocus(false)}\r\n >\r\n
\r\n \r\n
\r\n {\r\n expanded &&\r\n <>\r\n {\r\n !singleSearch &&\r\n \r\n }\r\n setInputFocus(true)}\r\n />\r\n {\r\n (!!searchTerm || !!searchTermItems.length) &&\r\n \r\n }\r\n {\r\n !!lookup.length && !!lookup[0].trim() && !!searchTerm &&\r\n \r\n
\r\n \r\n \r\n {lookup.map((item, i) => renderLookupItem(item, i))}\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\nSecuritiesSearchInput.defaultProps = {\r\n maxLength: null,\r\n onSearch: undefined,\r\n requiredFeature: null\r\n};\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport { useField } from 'formik';\r\nimport MaskedInput from \"react-text-mask\";\r\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\r\nimport { FormControlLoader } from '../common';\r\nimport { moneyUtils } from '../../utils';\r\nimport { FormError } from '../controls';\r\nimport { FormFieldLabel } from './FormFieldLabel';\r\n\r\ninterface Props {\r\n label?: string;\r\n placeholder: string;\r\n className: string;\r\n markRequired: boolean;\r\n loading: boolean;\r\n disabled: boolean;\r\n name: string;\r\n defaultValue?: string | null;\r\n isValueChanged?: boolean;\r\n}\r\n\r\nexport const CurrencyInputField: React.FC = (\r\n {\r\n label,\r\n className,\r\n markRequired,\r\n loading,\r\n disabled,\r\n name,\r\n placeholder,\r\n defaultValue,\r\n isValueChanged\r\n }) => {\r\n const [field, meta, { setValue }] = useField({ name });\r\n return (\r\n <>\r\n \r\n \r\n )\r\n};\r\n","import * as React from 'react';\r\n\r\ninterface Props {\r\n text: React.ReactNode\r\n required?: boolean\r\n}\r\nexport function FormFieldLabel({ text, required = false }: Props) {\r\n return (\r\n \r\n );\r\n}\r\n","import { FormError, MultiSelect, MultiSelectDataItem } from \"../controls\"\r\nimport cn from 'classnames';\r\nimport classNames from \"classnames\";\r\n\r\n\r\ninterface Props {\r\n dataItems: MultiSelectDataItem[];\r\n selectedValues: Array;\r\n markRequired?: boolean;\r\n label: string;\r\n errorMessage: string;\r\n name: string;\r\n placeholder: string;\r\n onSelect: (item: MultiSelectDataItem, selected: boolean) => void;\r\n onResetAll?: (e: React.MouseEvent) => void;\r\n onSelectAll?: (e: React.MouseEvent) => void;\r\n required?: boolean;\r\n horizontalOrientation?: boolean;\r\n generateSelectedText?: (selectedItems: MultiSelectDataItem[]) => React.ReactNode;\r\n resetButtonText?: string;\r\n}\r\n\r\nexport default function MultiSelectField({\r\n onSelect,\r\n dataItems,\r\n selectedValues,\r\n markRequired = true,\r\n label,\r\n errorMessage,\r\n name,\r\n placeholder,\r\n onResetAll,\r\n onSelectAll,\r\n horizontalOrientation,\r\n generateSelectedText,\r\n resetButtonText = 'Reset'\r\n}: Props) {\r\n\r\n return (\r\n
\r\n \r\n
\r\n ({\r\n selected: selectedValues.some((i) => i === s.value),\r\n value: s.value,\r\n text: s.text,\r\n disabled: s.disabled\r\n }))}\r\n placeholder={placeholder}\r\n onItemSelect={onSelect}\r\n showAddButton={false}\r\n onResetAll={onResetAll}\r\n onSelectAll={onSelectAll}\r\n generateSelectedText={generateSelectedText}\r\n resetButtonText={resetButtonText}\r\n />\r\n \r\n
\r\n
\r\n )\r\n}\r\n","import { useField, useFormikContext } from 'formik';\r\nimport cn from 'classnames';\r\nimport { DropDownListItem } from '../controls/DropDownList';\r\nimport { SelectSearch } from '../controls/SelectSearch';\r\nimport { constants } from '../../constants';\r\n\r\nconst resetOption = {\r\n value: '',\r\n text: constants.emptyPlaceholder,\r\n selected: false,\r\n};\r\n\r\ninterface SelectSearchFieldProps {\r\n name: string;\r\n label: string;\r\n disabled?: boolean;\r\n markRequired: boolean;\r\n options: DropDownListItem[];\r\n withSearch?: boolean;\r\n placeholder?: string;\r\n className?: string;\r\n withResetOption?: boolean;\r\n}\r\n\r\nexport function SelectSearchField({\r\n label,\r\n markRequired,\r\n disabled = false,\r\n options,\r\n placeholder,\r\n className = '',\r\n withResetOption,\r\n ...props\r\n}: SelectSearchFieldProps) {\r\n const [field, meta] = useField(props);\r\n const formik = useFormikContext();\r\n const optionList = withResetOption ? [resetOption, ...options] : options;\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 { connect } from 'react-redux';\r\nimport { formsActions as actions } from '../../actions';\r\n\r\nclass Form extends React.Component {\r\n componentDidMount = () => this.props.dispatch(actions.reset())\r\n\r\n handleSubmit = event => {\r\n const { onSubmit, onCustomValidate, dispatch } = this.props;\r\n let isValid = event.target.checkValidity();\r\n\r\n if (isValid && onCustomValidate) {\r\n isValid = isValid && onCustomValidate();\r\n }\r\n\r\n dispatch(actions.activateValidation());\r\n\r\n if (isValid) {\r\n onSubmit(isValid);\r\n }\r\n\r\n event.preventDefault();\r\n };\r\n\r\n render = () => {\r\n return (\r\n
\r\n {this.props.children}\r\n
\r\n );\r\n };\r\n}\r\n\r\nconst mapStateToProps = () => ({});\r\n\r\nconst connectedForm = connect(mapStateToProps)(Form);\r\nexport { connectedForm as Form };\r\n","import React, { Component } from \"react\";\r\nimport { connect } from 'react-redux';\r\nimport { errorMessages } from '../../constants';\r\n\r\nclass ValidationMessage extends Component {\r\n state = {\r\n message: null,\r\n invalidated: false\r\n }\r\n\r\n shouldComponentUpdate = nextProps => nextProps.displayErrors;\r\n\r\n componentDidMount = () => this.target = document.querySelector(`[name=\"${this.props.for}\"]`);\r\n\r\n componentDidUpdate = () => this.checkValidity();\r\n\r\n componentWillUnmount = () => {\r\n this.target && this.target.removeEventListener('change', this.checkValidity);\r\n this.target && this.target.removeEventListener('blur', this.checkValidity);\r\n }\r\n\r\n render = () => this.props.displayErrors && !!this.state.message\r\n ?
{this.state.message}
\r\n : null;\r\n\r\n checkValidity = () => {\r\n const { onCustomValidate, onError } = this.props;\r\n\r\n if (typeof onCustomValidate !== 'undefined') {\r\n const customValidationResult = onCustomValidate(this.target.value);\r\n if (typeof customValidationResult.message === 'undefined') {\r\n this.target.setCustomValidity(customValidationResult ? '' : 'false');\r\n } else {\r\n this.target.setCustomValidity(customValidationResult.message);\r\n }\r\n }\r\n\r\n const message = this.getMessage(this.target.validity);\r\n\r\n if (this.target.validity.valid) {\r\n this.target.classList.remove('is-invalid');\r\n } else {\r\n this.target.classList.add('is-invalid');\r\n if(onError && typeof onError === 'function' && this.target){\r\n onError(this.target)\r\n }\r\n }\r\n\r\n if (this.state.message !== message) {\r\n this.setState({ message });\r\n }\r\n\r\n this.setValidityTrackingState();\r\n };\r\n\r\n getMessage = validity => {\r\n if (validity.valid) {\r\n return null;\r\n }\r\n\r\n const {\r\n requiredMessage = errorMessages.empty,\r\n customMessage = this.target.validationMessage === 'false'\r\n ? errorMessages.invalidValue\r\n : this.target.validationMessage,\r\n defaultMessage = errorMessages.invalidValue\r\n } = this.props;\r\n\r\n if (validity.valueMissing) {\r\n return requiredMessage;\r\n } else if (validity.customError) {\r\n return customMessage;\r\n }\r\n\r\n return defaultMessage;\r\n };\r\n\r\n setValidityTrackingState = () => {\r\n const { message, invalidated } = this.state;\r\n\r\n if (message && !invalidated) {\r\n this.target.addEventListener('change', this.checkValidity);\r\n this.target.addEventListener('blur', this.checkValidity);\r\n this.setState({ invalidated: true });\r\n } else if (!message && invalidated) {\r\n this.target.removeEventListener('change', this.checkValidity);\r\n this.target.removeEventListener('blur', this.checkValidity);\r\n this.setState({ invalidated: false });\r\n }\r\n }\r\n}\r\n\r\nconst mapStateToProps = ({ forms }) => ({\r\n displayErrors: forms.displayErrors,\r\n triggerValidation: forms.triggerValidation\r\n});\r\n\r\nconst connectedValidationMessage = connect(mapStateToProps)(ValidationMessage);\r\nexport { connectedValidationMessage as ValidationMessage };\r\n","import React, { Component } from \"react\";\r\nimport { classnames } from \"../../styles/classnames\";\r\n\r\nclass PasswordStrengthValidator extends Component {\r\n state = {\r\n isValid: false\r\n }\r\n\r\n componentDidUpdate = () => {\r\n const { password, regexp, onValidate } = this.props;\r\n\r\n const isValid = new RegExp(regexp).test(password);\r\n\r\n if (this.state.isValid !== isValid) {\r\n this.setState({ isValid });\r\n\r\n onValidate(isValid);\r\n }\r\n }\r\n\r\n render = () => {\r\n const cssClass = classnames({\r\n 'is-validation-passed': this.state.isValid\r\n });\r\n\r\n return
{this.props.message}
;\r\n };\r\n}\r\n\r\nexport default PasswordStrengthValidator;\r\n","import React, { useRef } from 'react';\r\nimport classNames from 'classnames';\r\nimport { useField, useFormikContext } from 'formik';\r\nimport { FormControlLoader } from '../common';\r\nimport { useFocusOnError } from '../../effects/useFocusOnError';\r\n\r\nexport function InputField({ label, className = '', markRequired, loading = false, ...props }) {\r\n const fieldRef = useRef(null);\r\n const formik = useFormikContext();\r\n useFocusOnError({ fieldRef, name: props.name });\r\n const [field, meta] = useField(props);\r\n return (\r\n <>\r\n {label && }\r\n
\r\n \r\n {\r\n meta.touched && meta.error && !!formik.submitCount &&\r\n
{meta.error}
\r\n }\r\n \r\n
\r\n \r\n )\r\n}\r\n","import React, { useRef } from 'react';\r\nimport classNames from 'classnames';\r\nimport { useField } from 'formik';\r\nimport { useFocusOnError } from '../../effects/useFocusOnError';\r\n\r\nexport function TextAreaField({ ...props }) {\r\n const fieldRef = useRef(null);\r\n useFocusOnError({ fieldRef, name: props.name });\r\n const [field, meta] = useField(props);\r\n return (\r\n <>\r\n
\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","import { useSelector } from \"react-redux\"\r\nimport { gridActions } from \"../../actions\"\r\nimport { AppState } from \"../../types/state/AppState\";\r\nimport { GridDataItem } from \"../../types/state/GridState\";\r\nimport { useAppDispatch } from \"../../effects/useAppDispatch\";\r\n\r\ninterface DeleteAllButtonProps {\r\n disabled: boolean;\r\n}\r\n\r\nexport const DeleteAllButton = ({ disabled }: DeleteAllButtonProps) => {\r\n const dispatch = useAppDispatch();\r\n const hasDataItems = useSelector((s: AppState) => s.grid.dataItems.some((i: GridDataItem) => !i.draft));\r\n return (\r\n dispatch(gridActions.clear())}\r\n >\r\n \r\n Delete All\r\n \r\n )\r\n}","import { useSelector } from \"react-redux\"\r\nimport { gridActions } from \"../../actions\"\r\nimport { AppState } from \"../../types/state/AppState\";\r\nimport { GridDataItem } from \"../../types/state/GridState\";\r\nimport { useAppDispatch } from \"../../effects/useAppDispatch\";\r\n\r\ninterface DeleteFlaggedItemsButtonProps {\r\n disabled: boolean;\r\n}\r\n\r\nexport const DeleteFlaggedItemsButton = ({ disabled }: DeleteFlaggedItemsButtonProps) => {\r\n const dispatch = useAppDispatch();\r\n const hasFlaggedItems = useSelector((s: AppState) => s.grid.dataItems.some((i: GridDataItem) => i.isFlagged));\r\n\r\n if (hasFlaggedItems) {\r\n return (\r\n dispatch(gridActions.deleteFlaggedDataItems())}\r\n >\r\n \r\n Delete Flagged\r\n \r\n )\r\n }\r\n\r\n return null;\r\n}","import { useAppSelector } from '../../effects/useAppSelector';\r\nimport { GridDataItem, GridUploadStatus } from '../../types/state/GridState';\r\nimport { gridActions } from '../../actions/grid.actions';\r\nimport { useAppDispatch } from '../../effects/useAppDispatch';\r\n\r\ninterface Props {\r\n disabled?: boolean;\r\n onDelete?: () => void;\r\n}\r\n\r\nexport function DeleteRowsWithErrorButton({ disabled = false, onDelete }: Props) {\r\n const dispatch = useAppDispatch();\r\n const hasErrors = useAppSelector(s =>\r\n s.grid.headers?.some(h => h.headerError) ||\r\n s.grid.dataItems.some((i: GridDataItem) => !i.draft && i.errors?.length)\r\n );\r\n const isFileUploading = useAppSelector(s => s.grid.upload.status === GridUploadStatus.Uploading);\r\n const isDataProcessing = useAppSelector(s => s.grid.isDataProcessing);\r\n \r\n if (hasErrors) {\r\n const handleClick = () => {\r\n if (onDelete) {\r\n onDelete();\r\n } else {\r\n dispatch(gridActions.deleteDataItemsWithErrors());\r\n }\r\n }\r\n\r\n return (\r\n \r\n Delete all records with errors\r\n \r\n );\r\n }\r\n\r\n return null;\r\n}\r\n","import { gridActions } from '../../actions';\r\nimport { OnHoverTooltip } from '../common';\r\nimport IconSVG from '../../styles/svg-icons';\r\nimport { useAppDispatch } from '../../effects/useAppDispatch';\r\n\r\ninterface Props { index: number; }\r\n\r\nexport function AddRowButton({ index }: Props) {\r\n const dispatch = useAppDispatch();\r\n return (\r\n
\r\n \r\n dispatch(gridActions.addRow(index + 1))}\r\n className=\"btn-link btn-action-add\"\r\n >\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n","import cn from 'classnames';\r\nimport { GridColumn, GridCurrentPosition, GridOrderBy } from '../../types/state/GridState';\r\nimport { gridActions } from '../../actions/grid.actions';\r\nimport IconSVG from \"../../styles/svg-icons\";\r\nimport { OnHoverTooltip } from '../common/OnHoverTooltip';\r\nimport { useAppDispatch } from '../../effects/useAppDispatch';\r\n\r\ninterface Props {\r\n column: GridColumn;\r\n position?: GridCurrentPosition;\r\n orderBy: GridOrderBy;\r\n markOptional?: boolean\r\n}\r\n\r\nexport function HeaderItem({ column, position, orderBy, markOptional }: Props) {\r\n const dispatch = useAppDispatch();\r\n\r\n const classNames = cn(column.className, {\r\n ['cell-' + column.name]: true,\r\n 'cell-sort': !column.disabledSort,\r\n [`sorted ${orderBy.direction}`]: orderBy?.columnName === column.name,\r\n highlight: position?.columnName === column.name,\r\n });\r\n\r\n const content = (\r\n
\r\n \r\n {column.title}{column.renderTitle?.()}{markOptional && !column.required && ' (optional)'}\r\n \r\n {column.required && *}\r\n {!column.disabledSort && }\r\n {\r\n column.canRemove &&\r\n \r\n }\r\n
\r\n );\r\n\r\n return (\r\n dispatch(gridActions.orderBy(column.name))}\r\n className={classNames}\r\n >\r\n {\r\n column.headerError\r\n ? {content}\r\n : content\r\n }\r\n \r\n );\r\n\r\n}\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport cn from 'classnames';\r\nimport { AddRowButton } from './AddRowButton';\r\nimport { HeaderItem } from './HeaderItem';\r\n\r\nclass Header extends Component {\r\n shouldComponentUpdate = nextProps => {\r\n return this.props.orderBy !== nextProps.orderBy ||\r\n this.props.headers !== nextProps.headers ||\r\n this.props.position == null ||\r\n nextProps.position == null ||\r\n (this.props.position != null &&\r\n nextProps.position != null &&\r\n this.props.position.columnName !== nextProps.position.columnName)\r\n }\r\n\r\n render = () => {\r\n if (!this.props.headers) return null;\r\n\r\n const { addRowVisible = true } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n {\r\n addRowVisible &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n \r\n \r\n {\r\n this.props.headers.map(h =>\r\n \r\n )\r\n }\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = ({ grid }) => ({\r\n headers: grid.headers,\r\n orderBy: grid.orderBy,\r\n position: grid.position\r\n});\r\n\r\nconst connectedHeader = connect(mapStateToProps)(Header);\r\nexport { connectedHeader as Header };\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { classnames } from '../../../styles/classnames';\r\nimport { gridActions as actions } from '../../../actions';\r\nimport { constants } from '../../../constants';\r\n\r\nclass Select extends Component {\r\n shouldComponentUpdate = nextProps =>\r\n !!this.props.hasFocus !== !!nextProps.hasFocus\r\n || !!this.props.editing !== !!nextProps.editing\r\n || this.props.value !== nextProps.value\r\n || this.props.source !== nextProps.source\r\n || this.props.error !== nextProps.error\r\n || this.props.readonly !== nextProps.readonly;\r\n\r\n render = () => {\r\n const { hasFocus, columnName, error, readonly } = this.props;\r\n\r\n const cssClasses = classnames({\r\n ['cell-' + columnName]: true,\r\n 'has-focus': hasFocus,\r\n readonly\r\n });\r\n\r\n return (\r\n \r\n
\r\n {hasFocus && !readonly ? this.renderSelect() : this.renderValue()}\r\n {error && hasFocus &&
{error}
}\r\n
\r\n \r\n );\r\n }\r\n\r\n renderValue = () => {\r\n const { format, value, source = [] } = this.props;\r\n const item = source.find(s => s.key !== undefined ? String(s.key) === String(value) : s === value);\r\n const itemValue = item ? item.title ?? item : value;\r\n\r\n return (\r\n \r\n {typeof format === 'function' ? format(itemValue) : itemValue}\r\n \r\n );\r\n }\r\n\r\n renderSelect = () => {\r\n const { value, error, keepEmptyOption, source = [] } = this.props;\r\n\r\n const options = source.map(s => );\r\n\r\n if (\r\n (typeof value === 'undefined' || value === null || value === '' || error || keepEmptyOption)\r\n ) {\r\n options.unshift(\r\n ,\r\n );\r\n }\r\n\r\n return (\r\n \r\n {options}\r\n \r\n );\r\n }\r\n\r\n handleClick = () => {\r\n const { hasFocus, onClick, columnName } = this.props;\r\n if (!hasFocus) {\r\n onClick(columnName, false);\r\n }\r\n }\r\n\r\n handleChange = e => {\r\n const { dispatch, source, editing, onClick, onChange, columnName } = this.props;\r\n\r\n const targetValue = e.target.value === constants.emptyPlaceholder ? undefined : e.target.value;\r\n\r\n if (!editing) {\r\n onClick(columnName, true);\r\n }\r\n\r\n const value = source.find(s => (s?.key ?? s)?.toString() === targetValue)?.key ?? targetValue\r\n\r\n if (onChange) {\r\n onChange(value);\r\n } else {\r\n dispatch(actions.editing(value));\r\n }\r\n\r\n dispatch(actions.applyEdit());\r\n }\r\n\r\n handleSelectKeyDown = event => {\r\n // block page up, page down, bottom arrow keys\r\n if (event.keyCode === 33 || event.keyCode === 34 || event.keyCode === 40) {\r\n event.preventDefault();\r\n }\r\n }\r\n}\r\n\r\nconst connectedSelect = connect()(Select);\r\nexport { connectedSelect as Select };\r\n\r\n\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { gridColumns } from '../../../constants';\r\nimport { securitiesActions as actions, gridActions } from '../../../actions';\r\nimport { classnames } from '../../../styles/classnames';\r\nimport { formatUtils } from '../../../utils';\r\nimport { ChangePxTalk } from '../../common';\r\n\r\n\r\nclass PxTalk extends Component {\r\n shouldComponentUpdate = nextProps =>\r\n this.props.hasFocus !== nextProps.hasFocus\r\n || this.props.editing !== nextProps.editing\r\n || this.props.value !== nextProps.value\r\n\r\n render = () => {\r\n const { value, hasFocus, editing, dispatch } = this.props;\r\n\r\n const cssClasses = classnames({\r\n 'cell-pxTalk': true,\r\n 'has-focus': hasFocus\r\n });\r\n\r\n return (\r\n \r\n
\r\n {formatUtils.formatPxTalk(value)}\r\n {hasFocus && }\r\n {hasFocus && !editing && }\r\n {\r\n editing &&\r\n dispatch(actions.savePxTalks())}\r\n />\r\n }\r\n
\r\n \r\n );\r\n }\r\n\r\n handleClick = () => {\r\n const { editing, hasFocus, onClick } = this.props;\r\n if (!editing) {\r\n onClick(gridColumns.pxTalks.name, hasFocus);\r\n }\r\n }\r\n\r\n handleEditCancel = () => {\r\n const { dispatch } = this.props;\r\n\r\n dispatch(gridActions.blockInput(false));\r\n dispatch(gridActions.cancelEdit());\r\n }\r\n}\r\n\r\nconst mapStateToProps = () => ({});\r\n\r\nconst connectedPxTalk = connect(mapStateToProps)(PxTalk);\r\nexport { connectedPxTalk as PxTalk }; \r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { gridColumns } from '../../../constants';\r\nimport { securitiesActions as actions, gridActions, changeColorActions } from '../../../actions';\r\nimport { classnames } from '../../../styles/classnames';\r\nimport { formatUtils } from '../../../utils';\r\nimport { ChangeColor } from '../../common';\r\n\r\n\r\nclass Color extends Component {\r\n shouldComponentUpdate = nextProps =>\r\n this.props.hasFocus !== nextProps.hasFocus\r\n || this.props.editing !== nextProps.editing\r\n || this.props.value !== nextProps.value\r\n\r\n render = () => {\r\n const { value, hasFocus, editing, dispatch } = this.props;\r\n const cssClasses = classnames({\r\n 'cell-color': true,\r\n 'has-focus': hasFocus\r\n });\r\n\r\n return (\r\n \r\n
\r\n {formatUtils.formatColor(value)}\r\n {hasFocus && }\r\n {hasFocus && !editing && }\r\n {\r\n editing &&\r\n dispatch(actions.saveColor())}\r\n />\r\n }\r\n
\r\n \r\n );\r\n }\r\n\r\n handleClick = () => {\r\n const { editing, hasFocus, onClick } = this.props;\r\n if (!editing) {\r\n onClick(gridColumns.color.name, hasFocus);\r\n }\r\n }\r\n\r\n handleDelete = () => {\r\n const { dispatch } = this.props;\r\n\r\n dispatch(gridActions.clearCell());\r\n dispatch(gridActions.applyEdit());\r\n dispatch(changeColorActions.reset());\r\n dispatch(gridActions.blockInput(false));\r\n }\r\n\r\n handleEditCancel = () => {\r\n const { dispatch } = this.props;\r\n\r\n dispatch(gridActions.cancelEdit());\r\n dispatch(gridActions.blockInput(false));\r\n }\r\n}\r\n\r\nconst mapStateToProps = () => ({});\r\n\r\nconst connectedColor = connect(mapStateToProps)(Color);\r\nexport { connectedColor as Color }; \r\n","import { gridActions as actions } from '../../../actions';\r\n\r\nexport const cellEvents = {\r\n handleCopy,\r\n handlePaste,\r\n handleClick,\r\n handleChange,\r\n handleCloseHelp\r\n};\r\n\r\nfunction handleCopy(e) {\r\n const clipboardData = e.clipboardData || window.clipboardData;\r\n clipboardData.setData('text', this.props.value);\r\n\r\n e.preventDefault();\r\n}\r\n\r\nfunction handlePaste(e) {\r\n const { dispatch, column, readonly } = this.props;\r\n const clipboardData = e.clipboardData || window.clipboardData;\r\n const clipboard = clipboardData?.getData('text')?.replace(/^\\r?\\n+|\\r?\\n+$/g, '');\r\n const isReadonly = readonly || column?.readonly;\r\n\r\n if (!isReadonly &&\r\n clipboard &&\r\n clipboard.indexOf(\"\\t\") < 0 &&\r\n clipboard.indexOf(\"\\n\") < 0) {\r\n const parsedValue = actions.parseValue(clipboard, column);\r\n if (!column.pattern || column.pattern.test(parsedValue)) {\r\n dispatch(actions.edit());\r\n dispatch(actions.editing(parsedValue));\r\n }\r\n }\r\n\r\n e.preventDefault();\r\n}\r\n\r\nfunction handleClick(columnName) {\r\n const { editing, hasFocus, column, onClick } = this.props;\r\n const readonly = this.props.readonly || column?.readonly;\r\n\r\n if (!editing && (!hasFocus || (hasFocus && !readonly))) {\r\n onClick(columnName, hasFocus);\r\n }\r\n}\r\n\r\nfunction handleChange(e) {\r\n if (!this.props.column?.readonly && !this.props.readonly) {\r\n this.props.dispatch(actions.editing(e.target.value));\r\n }\r\n}\r\n\r\nfunction handleCloseHelp(e) {\r\n this.props.dispatch(actions.hideHelp());\r\n e.stopPropagation();\r\n}\r\n","import { gridActions } from '../../actions/grid.actions';\r\nimport IconSVG from '../../styles/svg-icons';\r\nimport { useAppDispatch } from '../../effects/useAppDispatch';\r\n\r\ninterface Props {\r\n title?: string;\r\n}\r\n\r\nexport function HelpPopover({ title }: Props) {\r\n const dispatch = useAppDispatch();\r\n\r\n return (\r\n
\r\n
\r\n

\r\n \r\n {title || ''}\r\n

\r\n \r\n
\r\n
\r\n
    \r\n
  1. Enter manually.
  2. \r\n
  3. Upload a file.
  4. \r\n
  5. Copy and paste from Excel.
  6. \r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport classNames from 'classnames';\r\nimport { cellEvents } from './cell.events';\r\nimport { HelpPopover } from '../HelpPopover';\r\nimport MaskedInput from 'react-text-mask';\r\n\r\nclass Text extends Component {\r\n shouldComponentUpdate = nextProps =>\r\n !!this.props.hasFocus !== !!nextProps.hasFocus\r\n || !!this.props.editing !== !!nextProps.editing\r\n || this.props.value !== nextProps.value\r\n || this.props.error !== nextProps.error\r\n || !!this.props.showHelp !== !!nextProps.showHelp\r\n || !!this.props.showPlaceholder !== !!nextProps.showPlaceholder\r\n || !!this.props.readonly !== !!nextProps.readonly;\r\n\r\n formatOrDefault = () => {\r\n const { column, value, draft } = this.props;\r\n\r\n if (!draft && typeof column.format === 'function') {\r\n return column.format(value);\r\n }\r\n\r\n return value;\r\n }\r\n\r\n render = () => {\r\n const { className, column, value, hasFocus, editing, error, showHelp, showPlaceholder, placeholder, readonly, helpPopoverTitle } = this.props;\r\n const cellClassName = classNames(column.className, className, {\r\n [`cell-${column.name}`]: true,\r\n 'has-focus': hasFocus,\r\n readonly: column.readonly || readonly\r\n });\r\n\r\n return (\r\n \r\n
\r\n {\r\n editing\r\n ? column.mask\r\n ? e.target.select()}\r\n />\r\n : e.target.select()}\r\n />\r\n : {this.formatOrDefault() || (showPlaceholder && {placeholder})}\r\n }\r\n {hasFocus && !editing && }\r\n {error && hasFocus && !readonly &&
{error}
}\r\n {showHelp && helpPopoverTitle && }\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst connectedText = connect()(Text);\r\nexport { connectedText as Text };\r\n\r\n\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { gridActions } from '../../../actions';\r\nimport { HelpPopover } from '../HelpPopover';\r\nimport { classnames } from '../../../styles/classnames';\r\nimport { cellEvents } from './cell.events';\r\n\r\n\r\nclass Lookup extends Component {\r\n state = {\r\n lookupSelectedIndex: 0\r\n };\r\n\r\n shouldComponentUpdate = nextProps =>\r\n !!this.props.hasFocus !== !!nextProps.hasFocus\r\n || this.props.editing\r\n || nextProps.editing\r\n || this.props.value !== nextProps.value\r\n || this.props.error !== nextProps.error\r\n || !!this.props.showHelp !== !!nextProps.showHelp\r\n || !!this.props.showPlaceholder !== !!nextProps.showPlaceholder\r\n || !!this.props.readonly !== !!nextProps.readonly\r\n || !!this.props.disableUppercase !== !!nextProps.disableUppercase;\r\n\r\n componentDidUpdate = (prevProps, prevState) => {\r\n const { editing, lookupDataItems, dispatch } = this.props;\r\n if (editing || prevProps.editing) {\r\n dispatch(gridActions.blockInput(editing && !!lookupDataItems.length));\r\n }\r\n\r\n if (this._activeLookupItem &&\r\n this._scrollableLookupContainer &&\r\n this.props.lookupDataItems &&\r\n this.props.lookupDataItems.length &&\r\n prevState.lookupSelectedIndex !== this.state.lookupSelectedIndex) {\r\n\r\n const container = this._scrollableLookupContainer.getBoundingClientRect();\r\n const item = this._activeLookupItem.getBoundingClientRect();\r\n\r\n if (item.top < container.top || item.bottom > container.bottom) {\r\n this._activeLookupItem.scrollIntoView(false);\r\n }\r\n }\r\n\r\n }\r\n\r\n handleFormKeyDown = e => {\r\n if (e.keyCode === 13 || e.which === 13) {\r\n e.preventDefault();\r\n return false;\r\n }\r\n }\r\n\r\n render = () => {\r\n const {\r\n value,\r\n columnName,\r\n hasFocus,\r\n editing,\r\n error,\r\n maxLength,\r\n lookupDataItems,\r\n showHelp,\r\n showPlaceholder,\r\n placeholder,\r\n helpPopoverTitle,\r\n readonly\r\n } = this.props;\r\n\r\n const cssClasses = classnames({\r\n [`cell-${columnName}`]: true,\r\n 'has-focus': hasFocus,\r\n readonly\r\n });\r\n\r\n return (\r\n \r\n
\r\n {\r\n editing &&\r\n
\r\n e.target.select()}\r\n />\r\n \r\n }\r\n {editing && this.renderLookup(lookupDataItems)}\r\n {!editing && {value || (showPlaceholder && {placeholder})}}\r\n {hasFocus && !editing && }\r\n {error && hasFocus &&
{error}
}\r\n {showHelp && helpPopoverTitle && }\r\n
\r\n \r\n );\r\n }\r\n\r\n renderLookup = lookupData => {\r\n if (!lookupData.length) {\r\n return null;\r\n }\r\n\r\n const { onLookupItemSelected } = this.props;\r\n\r\n const items = lookupData.map((item, index) =>\r\n
  • this._activeLookupItem = index === this.state.lookupSelectedIndex ? node : this._activeLookupItem}\r\n className={classnames({ 'lookup-data-item': true, active: index === this.state.lookupSelectedIndex })}\r\n onClick={onLookupItemSelected.bind(this, item)}\r\n >\r\n {item.text} {item.description && {item.description}}\r\n
  • \r\n );\r\n\r\n return
      this._scrollableLookupContainer = node} className=\"cell-lookup\">{items}
    ;\r\n }\r\n\r\n handleClick = () => {\r\n const { editing, hasFocus, columnName, onClick, onLookupReset } = this.props;\r\n if (!editing) {\r\n this.setState({ lookupSelectedIndex: 0 });\r\n onLookupReset();\r\n onClick(columnName, hasFocus);\r\n }\r\n }\r\n\r\n handlePaste = e => {\r\n const { onSearchTermChange, dispatch } = this.props;\r\n const clipboardData = e.clipboardData || window.clipboardData;\r\n const clipboard = clipboardData.getData('text');\r\n\r\n if (clipboard && clipboard.indexOf('\\t') < 0) {\r\n this.setState({ lookupSelectedIndex: 0 });\r\n dispatch(gridActions.edit());\r\n dispatch(gridActions.editing(clipboard));\r\n onSearchTermChange(clipboard);\r\n }\r\n\r\n e.preventDefault();\r\n }\r\n\r\n handleChange = e => {\r\n const { onSearchTermChange, dispatch, disableUppercase } = this.props;\r\n const value = e.target.value;\r\n\r\n this.setState({ lookupSelectedIndex: 0 });\r\n\r\n const formattedValue = disableUppercase ? value : value.toUpperCase();\r\n\r\n dispatch(gridActions.editing(formattedValue));\r\n onSearchTermChange(value);\r\n }\r\n\r\n handleKeyDown = e => {\r\n const { lookupDataItems = [], onLookupItemSelected, onLookupReset } = this.props;\r\n if (lookupDataItems.length) {\r\n if (e.keyCode === 13) { // enter\r\n onLookupItemSelected(lookupDataItems[this.state.lookupSelectedIndex])\r\n } else if (e.keyCode === 38 && this.state.lookupSelectedIndex > 0) { // move up\r\n this.setState({ lookupSelectedIndex: this.state.lookupSelectedIndex - 1 });\r\n } else if (e.keyCode === 40 && this.state.lookupSelectedIndex < lookupDataItems.length - 1) { // move down\r\n this.setState({ lookupSelectedIndex: this.state.lookupSelectedIndex + 1 });\r\n } else if (e.keyCode === 27) { // esc\r\n this.setState({ lookupSelectedIndex: 0 });\r\n onLookupReset();\r\n }\r\n }\r\n }\r\n}\r\n\r\nconst connectedLookup = connect()(Lookup);\r\nexport { connectedLookup as Lookup };\r\n\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport classNames from 'classnames';\r\nimport TextareaAutosize from 'react-textarea-autosize';\r\nimport { cellEvents } from './cell.events';\r\n\r\nclass Textarea extends Component {\r\n shouldComponentUpdate = nextProps =>\r\n !!this.props.hasFocus !== !!nextProps.hasFocus\r\n || !!this.props.editing !== !!nextProps.editing\r\n || this.props.value !== nextProps.value\r\n || this.props.error !== nextProps.error;\r\n\r\n render = () => {\r\n const {\r\n column,\r\n value,\r\n hasFocus,\r\n editing,\r\n error,\r\n showPlaceholder,\r\n placeholder,\r\n readonly\r\n } = this.props;\r\n\r\n const className = classNames({\r\n [`cell-${column.name}`]: true,\r\n 'has-focus': hasFocus,\r\n readonly\r\n });\r\n\r\n return (\r\n \r\n
    \r\n {\r\n editing\r\n ? e.target.select()}\r\n value={value || ''}\r\n />\r\n : {value || (showPlaceholder && {placeholder})}\r\n }\r\n {hasFocus && !editing && }\r\n {error && hasFocus &&
    {error}
    }\r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nconst connectedTextarea = connect()(Textarea);\r\nexport { connectedTextarea as Textarea };\r\n","import classNames from 'classnames';\r\nimport moment from 'moment';\r\nimport { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { cellEvents } from './cell.events';\r\nimport { gridActions as actions } from '../../../actions';\r\nimport { constants } from '../../../constants';\r\nimport { CustomDatePicker } from '../../common/date-range-custon-view/CustomDatePicker';\r\nimport { Tooltip, TooltipPlacement, TooltipTriggerType } from '../../common/Tooltip';\r\n\r\nclass DateCell extends Component {\r\n shouldComponentUpdate = nextProps =>\r\n this.props.hasFocus !== nextProps.hasFocus ||\r\n this.props.editing !== nextProps.editing ||\r\n this.props.value !== nextProps.value ||\r\n this.props.error !== nextProps.error ||\r\n this.props.showPlaceholder !== nextProps.showPlaceholder ||\r\n this.props.readonly !== nextProps.readonly;\r\n\r\n formatOrDefault = () => {\r\n const { column, value, draft } = this.props;\r\n\r\n if (!draft && typeof column.format === 'function') {\r\n return column.format(value);\r\n }\r\n\r\n return value ? moment(value).format(constants.dateFormat) : '';\r\n };\r\n\r\n handleChange = newValue => {\r\n const { dispatch, editing, onClick, columnName, readonly } = this.props;\r\n\r\n if (!readonly) {\r\n if (!editing) {\r\n onClick(columnName, true);\r\n }\r\n\r\n dispatch(actions.editing(moment(newValue).startOf('day').utcOffset(0, true).format()));\r\n dispatch(actions.applyEdit());\r\n }\r\n };\r\n\r\n render = () => {\r\n const { className, column, value, hasFocus, editing, error, showPlaceholder, placeholder, readonly } =\r\n this.props;\r\n\r\n const cellClassName = classNames(className, {\r\n [`cell-${column.name}`]: true,\r\n 'has-focus': hasFocus,\r\n readonly,\r\n });\r\n\r\n return (\r\n \r\n
    \r\n {editing ? (\r\n (\r\n \r\n )}\r\n >\r\n
    {this.formatOrDefault()}
    \r\n \r\n ) : (\r\n \r\n {this.formatOrDefault() || (showPlaceholder && {placeholder})}\r\n \r\n )}\r\n {hasFocus && !editing && }\r\n {error && hasFocus && !readonly &&
    {error}
    }\r\n
    \r\n \r\n );\r\n };\r\n}\r\n\r\nconst connectedText = connect()(DateCell);\r\nexport { connectedText as DateCell };\r\n","import React from 'react';\r\nimport cn from 'classnames';\r\nimport { Primitive } from \"../../../utils/differ/types\";\r\nimport { gridActions } from '../../../actions/grid.actions';\r\nimport { FormError } from '../../controls/FormError';\r\nimport { HelpPopover } from '../HelpPopover';\r\nimport { ILookup } from '../../../types/state/GridState';\r\nimport { isRequesting, isRequestSuccess } from '../../../utils';\r\nimport { requestCancelationController } from '../../../services/request-cancelation-controller';\r\nimport { RequestState } from '../../../constants/request-state';\r\nimport { Preloader } from '../../common';\r\nimport { useAppSelector } from '../../../effects/useAppSelector';\r\nimport { logger } from '../../../logging/logger';\r\nimport { useDebounce } from '../../../effects/useDebounce';\r\nimport { isRequestCancelationError } from '../../../actions';\r\nimport { useAppDispatch } from '../../../effects/useAppDispatch';\r\n\r\nconst searchTermMinLength = 3;\r\n\r\nexport interface LookupDataItem {\r\n value?: Primitive;\r\n text: string;\r\n description?: string;\r\n payload?: any;\r\n}\r\n\r\ninterface LookupProps {\r\n hasFocus?: boolean;\r\n editing?: boolean;\r\n value?: Primitive;\r\n error?: string;\r\n showHelp?: boolean;\r\n helpPopoverTitle?: string;\r\n showPlaceholder?: boolean;\r\n placeholder?: string;\r\n readonly?: boolean;\r\n maxLength?: number;\r\n disableUppercase?: boolean;\r\n columnName: string;\r\n lookupDataSource: ILookup;\r\n onClick: (columnsName: string, hasFocus: boolean) => void;\r\n}\r\n\r\nfunction LookupComponent({\r\n hasFocus,\r\n editing,\r\n value,\r\n error,\r\n showHelp,\r\n helpPopoverTitle,\r\n showPlaceholder,\r\n placeholder,\r\n readonly,\r\n maxLength,\r\n columnName,\r\n onClick,\r\n lookupDataSource,\r\n disableUppercase,\r\n}: LookupProps & ILookup) {\r\n const classNames = cn({\r\n [`cell-${columnName}`]: true,\r\n 'has-focus': hasFocus,\r\n readonly\r\n });\r\n const dispatch = useAppDispatch();\r\n\r\n const handleClick = () => {\r\n if (!editing) {\r\n onClick(columnName, Boolean(hasFocus));\r\n }\r\n }\r\n\r\n const handlePaste = (e: React.ClipboardEvent) => {\r\n const clipboardData = e.clipboardData || window.clipboardData;\r\n const clipboard = clipboardData?.getData('text')?.replace(/\\r\\n$/, '');\r\n\r\n if (clipboard && clipboard.indexOf('\\t') < 0) {\r\n dispatch(gridActions.edit());\r\n dispatch(gridActions.editing(clipboard));\r\n }\r\n\r\n e.preventDefault();\r\n }\r\n\r\n const handleCopy = (e: React.ClipboardEvent) => {\r\n const clipboardData = e.clipboardData || window.clipboardData;\r\n clipboardData.setData('text', (value ?? '').toString());\r\n\r\n e.preventDefault();\r\n }\r\n\r\n return (\r\n \r\n
    \r\n {\r\n Boolean(editing) &&\r\n \r\n }\r\n {\r\n !editing &&\r\n \r\n {value ? value.toString() : (Boolean(showPlaceholder) && Boolean(placeholder) && {placeholder})}\r\n \r\n }\r\n {Boolean(hasFocus) && !editing && }\r\n {Boolean(hasFocus) && }\r\n {Boolean(showHelp) && Boolean(helpPopoverTitle) && }\r\n
    \r\n \r\n );\r\n}\r\n\r\nexport const Lookup2 = React.memo(LookupComponent, (prev, next) => {\r\n return (\r\n Boolean(prev.hasFocus) === Boolean(next.hasFocus) &&\r\n Boolean(prev.editing) === Boolean(next.editing) &&\r\n Boolean(prev.showHelp) === Boolean(next.showHelp) &&\r\n Boolean(prev.showPlaceholder) === Boolean(next.showPlaceholder) &&\r\n Boolean(prev.readonly) === Boolean(next.readonly) &&\r\n prev.value === next.value &&\r\n (prev.error ?? '') === (next.error ?? '')\r\n );\r\n})\r\n\r\ninterface LookupEditProps {\r\n value?: Primitive;\r\n maxLength?: number;\r\n lookupDataSource: ILookup;\r\n disableUppercase?: boolean;\r\n}\r\n\r\nfunction LookupEdit({ value, lookupDataSource, maxLength, disableUppercase }: LookupEditProps) {\r\n const dispatch = useAppDispatch();\r\n\r\n const fetchState = useFetchLookupItems(\r\n (value ?? '').toString(),\r\n lookupDataSource.compareCallback,\r\n lookupDataSource.fetchCallback);\r\n const lookupItemsState = useAppSelector(lookupDataSource.selector ? lookupDataSource.selector : () => null) ?? [];\r\n const lookupDataItems = lookupDataSource.fetchCallback ? fetchState.lookupItems : lookupItemsState;\r\n const requestState = lookupDataSource.fetchCallback ? fetchState.requestState : RequestState.success;\r\n\r\n const [lookupSelectedIndex, setLookupSelectedIndex] = React.useState(0);\r\n const scrollableLookupContainerRef = React.useRef(null);\r\n const activeLookupItemRef = React.useRef(null);\r\n\r\n const debounceDisabled =\r\n lookupDataSource.fetchCallback == null ||\r\n isRequestSuccess(fetchState.requestState) ||\r\n isRequesting(fetchState.requestState);\r\n\r\n const isLookupVisible =\r\n (lookupDataItems.length > 0 || isRequesting(requestState)) &&\r\n (value ?? '').toString().length > 0\r\n\r\n React.useEffect(() => {\r\n dispatch(gridActions.blockInput(isLookupVisible));\r\n return () => {\r\n dispatch(gridActions.blockInput(false));\r\n }\r\n }, [isLookupVisible, dispatch]);\r\n\r\n React.useLayoutEffect(() => {\r\n if (\r\n activeLookupItemRef.current &&\r\n scrollableLookupContainerRef.current &&\r\n lookupDataItems?.length) {\r\n const container = scrollableLookupContainerRef.current.getBoundingClientRect();\r\n const item = activeLookupItemRef.current.getBoundingClientRect();\r\n\r\n if (item.top < container.top || item.bottom > container.bottom) {\r\n activeLookupItemRef.current.scrollIntoView(false);\r\n }\r\n }\r\n // eslint-disable-next-line\r\n }, [lookupSelectedIndex]);\r\n\r\n React.useEffect(() => {\r\n return () => {\r\n fetchState.resetCallback();\r\n }\r\n // eslint-disable-next-line\r\n }, [])\r\n\r\n const handleChange = (value: string) => {\r\n setLookupSelectedIndex(0);\r\n dispatch(gridActions.editing(value));\r\n }\r\n\r\n const handleKeyDown = (e: React.KeyboardEvent) => {\r\n if (lookupDataItems.length) {\r\n if (e.keyCode === 13) { // enter\r\n lookupDataSource.onLookupItemSelected(lookupDataItems[lookupSelectedIndex])\r\n } else if (e.keyCode === 38 && lookupSelectedIndex > 0) { // move up\r\n setLookupSelectedIndex(lookupSelectedIndex - 1);\r\n } else if (e.keyCode === 40 && lookupSelectedIndex < lookupDataItems.length - 1) { // move down\r\n setLookupSelectedIndex(lookupSelectedIndex + 1);\r\n } else if (e.keyCode === 27) { // esc\r\n setLookupSelectedIndex(0);\r\n fetchState.resetCallback();\r\n dispatch(gridActions.cancelEdit());\r\n }\r\n }\r\n }\r\n\r\n const handleFormKeyDown = (e: React.KeyboardEvent) => {\r\n if (e.keyCode === 13 || e.which === 13) {\r\n e.preventDefault();\r\n return false;\r\n }\r\n }\r\n\r\n const renderLookup = () => {\r\n if (!isLookupVisible) return null;\r\n\r\n return (\r\n
    \r\n \r\n
      \r\n {\r\n lookupDataItems.map((item, index) =>\r\n activeLookupItemRef.current = index === lookupSelectedIndex ? node : activeLookupItemRef.current}\r\n className={cn('lookup-data-item', { active: index === lookupSelectedIndex })}\r\n onClick={() => lookupDataSource.onLookupItemSelected(item)}\r\n >\r\n {item.text} {Boolean(item.description) && {item.description}}\r\n \r\n )\r\n }\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n handleChange(e.target.value) : undefined}\r\n onDebouncedChange={debounceDisabled ? undefined : handleChange}\r\n onKeyDown={handleKeyDown}\r\n onFocus={e => e.target.select()}\r\n disableUppercase={disableUppercase}\r\n />\r\n \r\n {renderLookup()}\r\n \r\n\r\n );\r\n}\r\n\r\ninterface LookupInputProps extends React.InputHTMLAttributes {\r\n onDebouncedChange?: (debouncedValue: string) => void;\r\n disableUppercase?: boolean;\r\n}\r\n\r\nfunction LookupInput({ value, onDebouncedChange, onChange, disableUppercase, ...rest }: LookupInputProps) {\r\n const [_value, setValue] = React.useState(value);\r\n const debouncedValue = useDebounce(_value, 500);\r\n\r\n React.useEffect(() => {\r\n onDebouncedChange?.((debouncedValue ?? '').toString());\r\n // eslint-disable-next-line\r\n }, [debouncedValue]);\r\n\r\n const handleChange = (e: React.ChangeEvent) => {\r\n setValue(e.target.value);\r\n onChange?.(e);\r\n }\r\n\r\n const stringValue = (_value ?? '').toString();\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nfunction useFetchLookupItems(\r\n searchTerm: string,\r\n compareLookupItemClallback?: (searchTerm: string, item: LookupDataItem) => boolean,\r\n fetchLookupItemsCallback?: (searchTerm: string, requestCancelationSignal: AbortSignal) => LookupDataItem[]\r\n) {\r\n const [requestState, setRequestState] = React.useState(RequestState.none);\r\n const cachedItems = React.useRef([]);\r\n const [lookupItems, setLookupItems] = React.useState([]);\r\n\r\n const searchTermRef = React.useRef('');\r\n\r\n const resetCallback = () => requestCancelationController.abort(searchTermRef.current)\r\n\r\n React.useEffect(() => {\r\n const requestLookupItems = async () => {\r\n setRequestState(RequestState.request);\r\n cachedItems.current = [];\r\n\r\n searchTermRef.current = searchTerm;\r\n const abortSignal = requestCancelationController.signal(searchTerm);\r\n\r\n try {\r\n const items = await fetchLookupItemsCallback!(searchTerm, abortSignal);\r\n cachedItems.current = items;\r\n setRequestState(RequestState.success);\r\n setLookupItems(items);\r\n } catch (e) {\r\n if (!isRequestCancelationError(e)) {\r\n searchTermRef.current = '';\r\n cachedItems.current = [];\r\n setLookupItems([]);\r\n setRequestState(RequestState.failure);\r\n logger.exception(e, 'Failed to feetch grid lookup data items');\r\n }\r\n } finally {\r\n requestCancelationController.reset(searchTerm);\r\n }\r\n }\r\n\r\n const searchLookupItemsFromCache = () => {\r\n const searchTermLowerCase = searchTerm.toLowerCase().trim();\r\n const filtered = cachedItems.current.filter(i =>\r\n compareLookupItemClallback?.(searchTermLowerCase, i) ??\r\n i.text.toLowerCase().startsWith(searchTermLowerCase)\r\n );\r\n setLookupItems(filtered);\r\n }\r\n\r\n const abortRequest = () => {\r\n requestCancelationController.abort(searchTermRef.current);\r\n searchTermRef.current = '';\r\n setRequestState(RequestState.none);\r\n }\r\n\r\n if (isRequesting(requestState) && searchTerm !== searchTermRef.current) {\r\n abortRequest();\r\n }\r\n\r\n const canUseCache =\r\n searchTermRef.current !== '' &&\r\n searchTerm.toLowerCase().startsWith(searchTermRef.current.toLowerCase());\r\n\r\n if (canUseCache) {\r\n searchLookupItemsFromCache();\r\n } else if (fetchLookupItemsCallback && searchTerm.length >= searchTermMinLength) {\r\n requestLookupItems();\r\n }\r\n // eslint-disable-next-line\r\n }, [searchTerm, requestState]);\r\n\r\n return { requestState, lookupItems, resetCallback };\r\n}\r\n","import cn from 'classnames';\r\nimport { useSelector } from 'react-redux';\r\nimport { gridActions, notificationActions } from '../../../actions';\r\nimport { FileIcon, FormError, ProgressCircle } from '../../controls';\r\nimport { useUploadDocument } from '../../documents/useUploadDocument';\r\nimport { DocumentStoreType } from '../../../types/document/Document';\r\nimport { AppState } from '../../../types/state/AppState';\r\nimport { RequestState } from '../../../constants/request-state';\r\nimport { GridDataItem, GridItemUploadedFile, GridUploadStatus } from '../../../types/state/GridState';\r\nimport { errorMessages } from '../../../constants';\r\nimport { useAppDispatch } from '../../../effects/useAppDispatch';\r\n\r\ntype Props = {\r\n hasFocus?: boolean;\r\n editing?: boolean;\r\n value?: GridItemUploadedFile;\r\n error?: string;\r\n showHelp?: boolean;\r\n helpPopoverTitle?: string;\r\n showPlaceholder?: boolean;\r\n placeholder?: string;\r\n readonly?: boolean;\r\n maxSize: number;\r\n acceptedTypes: string[];\r\n columnName: string;\r\n documentStoreType: DocumentStoreType;\r\n onClick: (columnsName: string, hasFocus: boolean) => void;\r\n dataItem: GridDataItem;\r\n readonlyCallback?: (dataItem: GridDataItem) => boolean;\r\n};\r\n\r\nexport const FileUpload = ({\r\n columnName,\r\n documentStoreType,\r\n value,\r\n editing,\r\n error,\r\n hasFocus,\r\n maxSize,\r\n acceptedTypes,\r\n readonly,\r\n dataItem,\r\n readonlyCallback = () => false,\r\n onClick,\r\n}: Props) => {\r\n const dispatch = useAppDispatch();\r\n const { requestStateSaveDocument, onUploadDocument, progress } = useUploadDocument(documentStoreType);\r\n const position = useSelector((state: AppState) => state.grid.position);\r\n\r\n const classNames = cn({\r\n [`cell-${columnName}`]: true,\r\n 'has-focus': hasFocus,\r\n readonly,\r\n });\r\n\r\n const handleClick = (e: React.MouseEvent) => {\r\n if (!editing) {\r\n onClick(columnName, Boolean(hasFocus));\r\n }\r\n };\r\n\r\n async function uploadFile(file: File) {\r\n dispatch(gridActions.setUploadState(GridUploadStatus.UploadingSingle));\r\n dispatch(gridActions.addFileToDataItem({ name: file.name }, position));\r\n\r\n const newDocument = await onUploadDocument(file);\r\n\r\n dispatch(gridActions.setUploadState(GridUploadStatus.None));\r\n dispatch(gridActions.addFileToDataItem({ ...newDocument }, position));\r\n dispatch(gridActions.blockInput(false));\r\n }\r\n\r\n const deleteFile = (e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n dispatch(gridActions.addFileToDataItem(null, position));\r\n };\r\n\r\n const handleLoadFile = (e: React.ChangeEvent) => {\r\n const file = e.target.files![0];\r\n\r\n if (!file) {\r\n return;\r\n }\r\n\r\n const splitFile = file.name.split('.');\r\n const fileExtension = splitFile[splitFile.length - 1];\r\n\r\n if (file.size > maxSize * 1024 * 1024) {\r\n dispatch(\r\n notificationActions.notificationAddErrorMessage(\r\n `The file you are trying to upload is more than ${maxSize}mb. Please choose another one.`,\r\n 'The file is too big',\r\n ),\r\n );\r\n\r\n return;\r\n }\r\n\r\n if (!acceptedTypes.some(ext => ext.toLowerCase() === fileExtension.toLowerCase())) {\r\n dispatch(\r\n notificationActions.notificationAddErrorMessage(\r\n errorMessages.documentInvalidFileTypeText(\r\n fileExtension,\r\n acceptedTypes.map(ext => `.${ext}`).join(','),\r\n ),\r\n errorMessages.documentInvalidFileTypeTitle,\r\n ),\r\n );\r\n\r\n return;\r\n }\r\n\r\n uploadFile(file);\r\n };\r\n\r\n const renderFileInput = () =>\r\n !readonlyCallback(dataItem) && (\r\n \r\n );\r\n\r\n const renderFileControls = (fileName: string) => (\r\n \r\n \r\n {fileName}\r\n {requestStateSaveDocument === RequestState.request ? (\r\n \r\n ) : (\r\n hasFocus && (\r\n \r\n )\r\n )}\r\n \r\n );\r\n\r\n return (\r\n \r\n
    \r\n {!value?.name ? renderFileInput() : renderFileControls(value.name)}\r\n {Boolean(hasFocus) && }\r\n
    \r\n \r\n );\r\n};\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport cn from 'classnames';\r\nimport { contactsSaveActions, gridActions } from '../../actions';\r\nimport { Color, DateCell, Lookup, PxTalk, Select, Text, Textarea } from './Cells';\r\nimport { Lookup2 } from './Cells/Lookup2';\r\nimport { gridColumns as columns } from '../../constants';\r\nimport { AddRowButton } from './AddRowButton';\r\nimport { OnHoverTooltip } from '../common';\r\nimport IconSVG from '../../styles/svg-icons';\r\nimport { FileUpload } from './Cells/FileUpload';\r\nimport { DocumentStoreType } from '../../types/document/Document';\r\n\r\nclass Row extends Component {\r\n shouldComponentUpdate = nextProps =>\r\n this.props.index !== nextProps.index ||\r\n !!this.props.isFirstDraft !== !!nextProps.isFirstDraft ||\r\n (this.props.position && this.props.position.index === this.props.index) ||\r\n (nextProps.position && nextProps.position.index === nextProps.index) ||\r\n this.props.dataItem !== nextProps.dataItem ||\r\n this.props.selection.some(s => s === this.props.index) ||\r\n Boolean(this.showHelp) !== Boolean(nextProps.showHelp) ||\r\n this.props.headers?.length !== nextProps.headers?.length ||\r\n nextProps.selection.some(s => s === nextProps.index);\r\n\r\n render = () => {\r\n const {\r\n dataItem,\r\n position,\r\n index,\r\n selection,\r\n showHelp,\r\n headers,\r\n addRowVisible = true,\r\n moveRowVisible = true,\r\n deleteRowVisible = true,\r\n readonlyTooltip,\r\n deleteDisabled,\r\n dispatch\r\n } = this.props;\r\n\r\n let rowError = false;\r\n\r\n const cells = headers.map((c, columnIndex) => {\r\n const hasFocus =\r\n position &&\r\n position.index === index &&\r\n position.columnName === c.name;\r\n\r\n const editing = hasFocus && position.editing;\r\n\r\n let value = dataItem[c.name];\r\n let error = dataItem.errors && dataItem.errors.find(e => e.columnName === c.name);\r\n\r\n if (editing) {\r\n value = position.editingValue;\r\n error = { message: position.editingError };\r\n }\r\n\r\n const cellError = error && error.message;\r\n if (cellError) {\r\n rowError = true;\r\n }\r\n\r\n const helpVisible = showHelp && columnIndex === 0 && index === 0 && dataItem.draft;\r\n\r\n return this.createCell(\r\n c,\r\n hasFocus,\r\n editing,\r\n value,\r\n cellError,\r\n helpVisible,\r\n helpVisible,\r\n c.readonly || dataItem.readonly,\r\n dataItem\r\n );\r\n });\r\n\r\n const selected = cn({\r\n selected: selection.some(s => s === index),\r\n readonly: dataItem.readonly\r\n });\r\n\r\n const highlight = cn('cell-item', {\r\n highlight: position && position.index === index\r\n });\r\n\r\n const newLabel = (dataItem.isNew && new);\r\n const errorLabel = (rowError && );\r\n const updateLabel = (dataItem.isUpdate && upd);\r\n const flag = (dataItem.isFlagged && );\r\n\r\n return (\r\n \r\n \r\n \r\n
    \r\n {deleteRowVisible &&\r\n \r\n \r\n \r\n }\r\n {errorLabel || flag || newLabel || updateLabel}\r\n {\r\n moveRowVisible &&\r\n
    \r\n
    \r\n dispatch(gridActions.moveRowUp(index))}\r\n className=\"btn-link btn-action-up\"\r\n >\r\n \r\n \r\n
    \r\n
    \r\n dispatch(gridActions.moveRowDown(index))}\r\n className=\"btn-link btn-action-down\"\r\n >\r\n \r\n \r\n
    \r\n
    \r\n }\r\n {\r\n addRowVisible &&\r\n
    \r\n
    \r\n \r\n dispatch(gridActions.addRow(index))}\r\n className=\"btn-link btn-action-add\"\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 {index + 1}\r\n
    \r\n \r\n {cells}\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n createCell = (\r\n column,\r\n hasFocus,\r\n editing,\r\n value,\r\n error,\r\n showHelp,\r\n showPlaceholder,\r\n readonly,\r\n dataItem\r\n ) => {\r\n switch (column.name) {\r\n case columns.pxTalks.name:\r\n return (\r\n \r\n )\r\n case columns.color.name:\r\n return (\r\n \r\n )\r\n case columns.company.name:\r\n return (\r\n ({\r\n company,\r\n text: company.name\r\n }))}\r\n onClick={this.handleCellClick}\r\n onLookupItemSelected={this.handleComapnyLookupItemSelected}\r\n onSearchTermChange={this.handleCompanyLookupSearchTermChange}\r\n onLookupReset={this.handleCompanyLookupReset}\r\n helpPopoverTitle={this.props.helpPopoverTitle}\r\n disableUppercase={column.disableUppercase}\r\n />\r\n )\r\n default:\r\n return this.createCellByType(\r\n column,\r\n value,\r\n hasFocus,\r\n editing,\r\n error,\r\n showHelp,\r\n showPlaceholder,\r\n readonly,\r\n dataItem\r\n );\r\n }\r\n }\r\n\r\n createCellByType = (\r\n column,\r\n value,\r\n hasFocus,\r\n editing,\r\n error,\r\n showHelp,\r\n showPlaceholder,\r\n readonly,\r\n dataItem\r\n ) => {\r\n const key = column.name + column.title;\r\n\r\n switch (column.type) {\r\n case 'longText':\r\n return (\r\n \r\n );\r\n case 'select':\r\n return (\r\n \r\n );\r\n case 'lookup':\r\n return (\r\n \r\n );\r\n case 'file':\r\n return (\r\n \r\n );\r\n case 'date':\r\n return (\r\n \r\n );\r\n default:\r\n return (\r\n \r\n );\r\n }\r\n }\r\n\r\n handleComapnyLookupItemSelected = (companyLookupItem) =>\r\n this.props.dispatch(contactsSaveActions.selectCompany(companyLookupItem.company));\r\n\r\n handleCompanyLookupSearchTermChange = searchTerm =>\r\n this.props.dispatch(contactsSaveActions.filterCompanies(searchTerm));\r\n\r\n handleCompanyLookupReset = () =>\r\n this.props.dispatch(contactsSaveActions.resetCompaniesLookup());\r\n\r\n handleRowDelete = dataItem => {\r\n const { index, onRowDeleted, dispatch } = this.props;\r\n\r\n dispatch(gridActions.deleteRow(index));\r\n\r\n if (onRowDeleted && !dataItem.draft) {\r\n onRowDeleted(dataItem);\r\n }\r\n }\r\n\r\n handleCellClick = (columnName, hasFocus) => {\r\n if (hasFocus) {\r\n this.props.dispatch(gridActions.edit());\r\n } else {\r\n this.props.dispatch(gridActions.setFocus(this.props.index, columnName))\r\n }\r\n }\r\n\r\n handleSelectRow = e =>\r\n this.props.dispatch(gridActions.selectRow(this.props.index, e.ctrlKey, e.shiftKey));\r\n}\r\n\r\nconst mapStateToProps = ({ grid, securities, contactsSave }) => ({\r\n companiesLookup: contactsSave.companiesLookup,\r\n selection: grid.selection,\r\n position: grid.position,\r\n showHelp: grid.showHelp,\r\n headers: grid.headers,\r\n});\r\n\r\nconst connectedRow = connect(mapStateToProps)(Row);\r\nexport { connectedRow as Row };\r\n","import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport cn from 'classnames';\r\nimport { Header } from './Header';\r\nimport { Row } from './Row';\r\nimport { gridActions as actions } from '../../actions';\r\nimport { constants } from '../../constants';\r\nimport { Preloader } from '../common';\r\nimport IconSVG from '../../styles/svg-icons';\r\nimport { SelectFile } from './SelectFile';\r\nimport { DragFileZone } from '../common/DragFileZone';\r\nimport { AppState } from '../../types/state/AppState';\r\nimport { GridDataItem, GridUploadStatus } from '../../types/state/GridState';\r\nimport { useAppDispatch } from '../../effects/useAppDispatch';\r\n\r\ninterface Props {\r\n dataUploadDisabled?: boolean;\r\n onDataItemsPaste?: (clipboardText: string) => void;\r\n onDataItemsUpload?: (file: File) => void;\r\n deleteDisabled?: boolean;\r\n markOptionalFields?: boolean;\r\n onRowDeleted?: () => void;\r\n readonlyTooltip?: string;\r\n helpPopoverTitle?: string;\r\n renderFooter?: (dataItem: GridDataItem) => React.ReactNode;\r\n addRowVisible?: boolean;\r\n moveRowVisible?: boolean;\r\n deleteRowVisible?: boolean;\r\n onFileSelected?: (file: File) => void;\r\n dataItems?: GridDataItem[];\r\n}\r\n\r\nexport const Grid = (\r\n {\r\n dataUploadDisabled = false,\r\n onDataItemsPaste,\r\n onDataItemsUpload,\r\n deleteDisabled = false,\r\n markOptionalFields = false,\r\n onRowDeleted = () => false,\r\n readonlyTooltip,\r\n helpPopoverTitle = '',\r\n renderFooter,\r\n addRowVisible = true,\r\n moveRowVisible = true,\r\n deleteRowVisible = true,\r\n onFileSelected = () => false,\r\n ...rest\r\n }: Props) => {\r\n const dispatch = useAppDispatch();\r\n\r\n const gridRef = useRef(null);\r\n const [dragEnter, setDragEnter] = useState(false);\r\n\r\n const blockInput = useSelector((state: AppState) => state.grid.inputBlocked)\r\n const storeDataItems = useSelector((state: AppState) => state.grid.dataItems)\r\n const dataItems = rest.dataItems || storeDataItems || []\r\n const upload = useSelector((state: AppState) => state.grid.upload || {})\r\n const isDataProcessing = useSelector((state: AppState) => state.grid.isDataProcessing)\r\n const rowsLimit = useSelector((state: AppState) => state.grid.rowsLimit)\r\n\r\n const isNestedTarget = (target: EventTarget | null ) => gridRef.current && target && gridRef.current.contains(target as Node);\r\n const isDatePickerTarget = (target: EventTarget | null) => {\r\n if (!target) {\r\n return false;\r\n }\r\n\r\n const tooltip = document.querySelector('.grid-date-cell-tooltip');\r\n\r\n return tooltip && tooltip.contains(target as Node);\r\n }\r\n\r\n const handleOnPaste = useCallback((e: ClipboardEvent) => {\r\n if (blockInput || !isNestedTarget(e && e.target)) {\r\n return;\r\n }\r\n //@ts-ignore\r\n const clipboardData = e.clipboardData || window.clipboardData;\r\n const clipboardText = clipboardData.getData('text')?.replace(/\\r\\n$/, '');\r\n\r\n if (clipboardText.indexOf(\"\\t\") > -1 || clipboardText.indexOf(\"\\n\") > -1) {\r\n dispatch(actions.cancelEdit());\r\n onDataItemsPaste && onDataItemsPaste(clipboardText);\r\n }// eslint-disable-next-line\r\n }, [blockInput, dispatch])\r\n\r\n const handleKeyDown = useCallback(async (e: KeyboardEvent) => {\r\n if (blockInput || !isNestedTarget(e.target)) return;\r\n\r\n dispatch(actions.processKeyCode(e.keyCode, e.ctrlKey, e.metaKey, e.shiftKey, deleteDisabled));\r\n\r\n if (e.keyCode === 9) e.preventDefault();\r\n }, [blockInput, dispatch, deleteDisabled])\r\n\r\n const handleClickOutside = useCallback((e: MouseEvent) => {\r\n if (!isNestedTarget(e.target) && !(isDatePickerTarget(e.target))) {\r\n dispatch(actions.applyOrCancelEdit());\r\n }\r\n }, [dispatch])\r\n\r\n useEffect(() => {\r\n if (!dataUploadDisabled) {\r\n document.addEventListener('paste', handleOnPaste);\r\n }\r\n document.addEventListener('keydown', handleKeyDown);\r\n document.addEventListener('mousedown', handleClickOutside);\r\n\r\n return () => {\r\n document.removeEventListener('paste', handleOnPaste);\r\n document.removeEventListener('keydown', handleKeyDown);\r\n document.removeEventListener('mousedown', handleClickOutside);\r\n }\r\n }, [dataUploadDisabled, handleOnPaste, handleKeyDown, handleClickOutside]);\r\n\r\n const handleOnFile = (file: File) => {\r\n setDragEnter(false);\r\n if (!blockInput && file && onDataItemsUpload) onDataItemsUpload(file);\r\n }\r\n\r\n const rows = useMemo(() => dataItems.map((item: GridDataItem[], index: number) =>\r\n ), [dataItems, readonlyTooltip, helpPopoverTitle, deleteDisabled, addRowVisible, moveRowVisible]);\r\n\r\n if (!dataItems) {\r\n return null;\r\n }\r\n\r\n const highlightClasses = cn({\r\n 'block-prompt-upload': true,\r\n 'highlight': upload.status === GridUploadStatus.Uploading\r\n });\r\n\r\n const renderUploadingMessage = () => {\r\n if (dragEnter) return 'Your records will now be added to this table'\r\n if (upload.status === GridUploadStatus.None) {\r\n return <>Drag & Drop file here or \r\n }\r\n if (upload.status === GridUploadStatus.Uploading) {\r\n return (\r\n \r\n \r\n Uploading \"{upload.filename}\"\r\n \r\n \r\n )\r\n }\r\n }\r\n\r\n\r\n return (\r\n setDragEnter(true)}\r\n onDragLeave={dataUploadDisabled ? undefined : () => setDragEnter(false)}\r\n onFile={dataUploadDisabled ? undefined : handleOnFile}\r\n >\r\n
    \r\n \r\n
    \r\n
    {rows}\r\n {typeof renderFooter === 'function' && {renderFooter(dataItems)}}\r\n
    \r\n
    \r\n {\r\n !dataUploadDisabled &&\r\n <>\r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n \r\n {renderUploadingMessage()}\r\n

    \r\n {\r\n upload.status === GridUploadStatus.None && !dragEnter &&\r\n \r\n Format: xlsx, csv (max 10MB or {rowsLimit || constants.gridRowsLimit} records)\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n }\r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { constants, uploadStatus } from '../../constants';\r\nimport { AppState } from '../../types/state/AppState';\r\n\r\ninterface Props {\r\n onClick?: (file: File) => void;\r\n onFiles?: (files: FileList) => void;\r\n acceptedExtensions?: string;\r\n}\r\n\r\nexport function SelectFile({ onClick, onFiles, acceptedExtensions }: Props) {\r\n const isDataProcessing: boolean = useSelector((s: AppState) => !!s.grid.isDataProcessing);\r\n const isFileUploading: boolean = useSelector((s: AppState) => s.grid.upload.status === uploadStatus.uploading);\r\n\r\n const fileInput = React.useRef(null);\r\n\r\n const isMultiple = typeof onFiles === 'function'\r\n\r\n const handleUploadSecurities = (e: React.ChangeEvent) => {\r\n if (onClick && e.target.files?.length) {\r\n onClick(e.target.files[0]);\r\n e.target.value = \"\"\r\n }\r\n if (onFiles && e.target.files?.length) {\r\n onFiles(e.target.files);\r\n e.target.value = \"\"\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n fileInput?.current?.click()}\r\n disabled={isFileUploading || isDataProcessing}\r\n >\r\n select manually\r\n \r\n \r\n \r\n );\r\n\r\n}\r\n"],"names":["BwicFilters","props","_useState","useState","_useState2","_slicedToArray","isFilterCollapsed","setFiltersCollapseStatus","visibleFilters","filter","lastAppliedFilter","isSearching","filterType","filterModified","selectedFilterReferenceName","_props$withAlerts","withAlerts","renderFilterAlertsPopup","filterAlertPopupTooltips","onFilterCreate","onFilterUpdate","applyDisabled","isLoading","some","key","f","type","FilterType","Range","fromRange","from","toRange","to","numericUtils","isNumber","Number","filterUtils","isFilterChanged","isApplyDisabled","bwicFilterType","canUseSavedFilters","saveFilterBlockerFeature","user","hasFeatures","_usePageConfig","usePageConfig","pageConfigType","config","filterActions","saveAlerts","disabled","savedFilters","dispatch","useDispatch","appliedRef","useRef","useEffect","current","length","serializedFilter","getSerializedFilter","filterMatch","find","isEqual","createFilterActions","selectFilterFromConfig","useSavedFilterAutoSelect","saveFilterVisible","filters","filterAlertPopupDescription","textLabels","savedFiltersBwicMonitor","_jsxs","_Fragment","children","_jsx","Filters","_objectSpread","filtersCollapseStatus","alertOptions","defaultAlertOption","alertOptionInfo","renderCustomAlertOptions","onFilterSave","form","newFilter","name","referenceName","uuid","default","makeDefault","alertOption","receiveEmailNotification","addFilter","existingFilter","updatedFilter","updateFilter","className","FiltersManagement","onMakeDefault","defaultFlagChange","onResetDefault","onSaveFilterAlert","isDefault","updatedFilters","map","onDeleteFilter","deleteFilter","filterChanged","onChange","onApply","blockerFeature","ChipList","_ref","_ref$list","list","selectionIndex","onRemove","refList","refChildren","refListLength","offset","i","offsetWidth","scrollLeft","clientWidth","scrollWidth","ref","renderedList","_loop","push","FilterChip","node","selected","text","renderChips","defaultProps","FilterButton","_ref$className","_ref$caption","caption","_ref$show","show","_ref$disabled","onClick","buttonCaption","FeatureButton","forwardRef","_ref$text","_ref$selected","_ref$onRemove","refParent","classNames","IconSVG","width","height","FilterClear","_ref$isShown","isShown","_ref$isDisabled","isDisabled","FilterPanel","onReset","_ref$allowCollapsing","allowCollapsing","_ref$hiddenFilters","hiddenFilters","onVisibilityChange","_ref$withBlockedSearc","withBlockedSearchAndFilter","_ref$isUpdating","isUpdating","filterConfigShowEmailNotification","saveFilterBlockerText","advancedFiltersBlockerFeature","advancedFiltersBlockerText","_ref$saveFilterVisibl","filterContainer","filtersRef","isHideFilterButtonVisible","setIsHideFilterButtonVisible","_useState3","_useState4","showFiltersPopup","setShowFiltersPopup","_useState5","_useState6","lastAddedFilter","setLastAddedFilter","previousCollapsedState","usePrevious","additionalFilters","moreFilters","arrayUtils","distinct","visible","value","countOfHiddenFilters","useFilterNextLineHide","shouldShowHideButton","handleFilterVisibilityChange","selectedFilter","checked","undefined","groupKey","values","x","forEach","handleApplyFilter","handleClearFilter","handleSaveFilter","data","mode","FilterSaveMode","Create","Update","renderFilter","_decimals","defaultExpanded","arguments","isApplied","Filter","el","concat","_toConsumableArray","Select","FilterSelect","title","withSearch","onClearAll","filterSelectClearAll","onSelectAll","searchTerm","filterSelectSelectAll","options","onChangeItemSelection","v","filterName","filterSelectChange","handleFilterSelectOptionsChange","FilterRange","filterRangeClearSelectedOptions","onChangeRange","changeRangeFilter","mask","allowDecimal","integerLimit","decimalLimit","decimals","Date","ActionBlocker","feature","requiredFeature","blocked","FilterDateRange","acceptableOptions","filterDateClearSelectedOptions","onSelectedDateChange","option","filterDateSelectOption","onCustomDateChange","filterDateSelectCustomRange","customDateRange","selectedFilterOption","selectedOption","disabledDays","DateWithYearsRange","onYearsRangeChange","filterDateSelectYearsRange","customYearsRange","DateWithYearsAndTimeRange","FilterDateTimeRange","filterDateTimeOptionSelected","filterDateTimeSelectCustomRange","YearsDate","FilterYearsDateRange","Radio","FilterRadio","filterRadioClearOption","filterRadioChange","BooleanRadio","FilterBoolean","renderFilters","filterKey","_group$2","group","_group$","FilterColor","renderCombined","cn","collapsed","tooltipContent","closeOnSelect","sort","a","b","localeCompare","formatTitle","withExpandToggle","FiltersManagementPopup","showEmailNotificationsOptions","selectedReferenceName","onSave","onClose","displayAmount","renderHighlightOrPlaceholder","Highlighter","searchWords","textToHighlight","constants","emptyPlaceholder","TransactionsSearchInput","_ref$singleSearch","singleSearch","_ref$placeholder","placeholder","onSearch","maxLength","pipelineType","useContext","PipelineContext","actions","createSearchTransactionActions","pipelineActions","createAmrPipelineActions","refInput","refScrollableContainer","refActiveItem","useAppDispatch","_useSelector","useSelector","issuanceMonitorSearchTransactionsSelector","_useSelector$searchTe","_useSelector$searchTe2","searchTermItems","_useSelector$markerPo","markerPosition","_useSelector$lookup","lookup","hasMoreDeals","index","setIndex","inputFocus","setInputFocus","classOffset","setClassOffset","_useState7","_useState8","dealOffset","setDealOffset","deals","d","isDeal","groupedDeals","slice","classes","reduce","acc","dealItem","classesWithIndicators","classesAccum","c","withSearchedClassIndicator","dealLegalName","legalName","dealReferenceName","groupedClasses","groupedDealsLength","groupedClassesLength","loadedDealsLeftAmount","loadedClassesLeftAmount","searchItemsLength","container","getBoundingClientRect","item","top","bottom","scrollIntoView","setExpanded","handleClearAll","reset","focus","handleLookupItemClick","label","applyLookupItem","handleRemoveChip","removeSearchItem","renderShowMore","items","hasMoreItems","showMore","colSpan","Preloader","inProgress","small","ClickOutside","e","stopPropagation","resetSearchLookup","searchTermChange","target","onKeyDown","keyCode","removeCurrentItem","currentTarget","selectionStart","preventDefault","moveForward","moveBack","selectedIndex","idDealGroup","classItem","ticker144A","classList","onFocus","searchTermAcceptedLength","status","ticker","transactionStatus","active","TransactionStatus","Active","Priced","OnHold","StatusLabel","transactionStatusTitles","renderLookupDeal","loadSearchLookup","prevVal","tickerRegS","tickerAccdInvCertif","cusip144A","cusipRegS","cusipAccdInvCertif","isin144A","isinRegS","isinAccdInvCertif","classesData","rule144a","regS","accdInvCertif","rowIndex","_ref2","classIndex","renderLookupClass","EmptyPlaceholder","textView","useManagersFilterData","_useCollateralManager","useCollateralManagers","managersRequestState","requestState","managers","isRequestSuccess","isRequestFailed","managersOptions","cm","storeFilterData","success","useTrusteeFilterData","_useTrustee","useTrustee","trusteeRequestState","trusteeOptions","t","FilterSection","_ref$title","FilterSwitch","FilterMultiPicker","_ref$sourceItems","sourceItems","_ref$required","required","o","jsxTitle","SecuritiesSearchInput","_ref$defaultSearchTer","defaultSearchTerm","_ref$compactView","compactView","location","useLocation","searchInputId","expanded","state","searchSecurities","searchTermItemsState","lookupItems","searchSecuritiesActions","pathname","addSearchItem","handleSearchTermChange","lookupItem","handleClickOutside","id","handleKeyDown","handleSearchClick","onBlur","trim","isinCusip","renderLookupItem","CurrencyInputField","markRequired","loading","defaultValue","isValueChanged","_useField","useField","_useField2","field","meta","setValue","FormFieldLabel","touched","error","MaskedInput","String","createNumberMask","prefix","suffix","includeThousandsSeparator","newValue","moneyUtils","parse","FormError","message","FormControlLoader","MultiSelectField","onSelect","dataItems","selectedValues","_ref$markRequired","errorMessage","onResetAll","horizontalOrientation","generateSelectedText","_ref$resetButtonText","resetButtonText","MultiSelect","showResetButton","showSelectAllButton","s","onItemSelect","showAddButton","resetOption","SelectSearchField","withResetOption","_objectWithoutProperties","_excluded","formik","useFormikContext","optionList","SelectSearch","setFieldValue","Form","_React$Component","_this","_classCallCheck","_len","args","Array","_key","_callSuper","componentDidMount","handleSubmit","event","_this$props","onSubmit","onCustomValidate","isValid","checkValidity","activateValidation","render","noValidate","_inherits","_createClass","React","connectedForm","connect","ValidationMessage","_Component","invalidated","shouldComponentUpdate","nextProps","displayErrors","document","querySelector","for","componentDidUpdate","componentWillUnmount","removeEventListener","onError","customValidationResult","setCustomValidity","getMessage","validity","valid","remove","add","setState","setValidityTrackingState","_this$props2","_this$props2$required","requiredMessage","errorMessages","empty","_this$props2$customMe","customMessage","validationMessage","invalidValue","_this$props2$defaultM","defaultMessage","valueMissing","customError","_this$state","addEventListener","Component","connectedValidationMessage","forms","triggerValidation","PasswordStrengthValidator","password","regexp","onValidate","RegExp","test","cssClass","classnames","InputField","_ref$loading","fieldRef","useFocusOnError","submitCount","autoComplete","TextAreaField","Object","assign","_objectDestructuringEmpty","DeleteAllButton","hasDataItems","grid","draft","gridActions","clear","DeleteFlaggedItemsButton","isFlagged","deleteFlaggedDataItems","DeleteRowsWithErrorButton","onDelete","hasErrors","useAppSelector","_s$grid$headers","headers","h","headerError","_i$errors","errors","isFileUploading","upload","GridUploadStatus","Uploading","isDataProcessing","deleteDataItemsWithErrors","AddRowButton","OnHoverTooltip","overlay","addRow","HeaderItem","_column$renderTitle","column","position","orderBy","markOptional","_defineProperty","disabledSort","direction","columnName","content","canRemove","renderTitle","call","removeColumn","scope","Header","_this$props$addRowVis","addRowVisible","markOptionalFields","connectedHeader","hasFocus","editing","source","readonly","cssClasses","handleClick","renderSelect","renderValue","_item$title","format","_this$props2$source","itemValue","_this$props3","keepEmptyOption","_this$props3$source","_s$key","_s$key2","_s$title","unshift","autoFocus","handleChange","handleSelectKeyDown","_this$props4","_source$find$key","_source$find","_this$props5","targetValue","_s$key3","toString","applyEdit","connectedSelect","PxTalk","formatUtils","formatPxTalk","ChangePxTalk","saveButtonText","onCancel","handleEditCancel","savePxTalks","gridColumns","pxTalks","blockInput","cancelEdit","connectedPxTalk","Color","formatColor","ChangeColor","handleDelete","saveColor","color","clearCell","changeColorActions","connectedColor","cellEvents","handleCopy","clipboardData","window","setData","this","handlePaste","_clipboardData$getDat","clipboard","getData","replace","indexOf","parsedValue","parseValue","pattern","edit","_this$props$column","handleCloseHelp","hideHelp","HelpPopover","Text","showHelp","showPlaceholder","formatOrDefault","helpPopoverTitle","cellClassName","bind","onCopy","onPaste","guide","select","connectedText","Lookup","lookupSelectedIndex","disableUppercase","prevProps","prevState","lookupDataItems","_activeLookupItem","_scrollableLookupContainer","handleFormKeyDown","which","handleBlur","renderLookup","lookupData","onLookupItemSelected","description","onLookupReset","onSearchTermChange","formattedValue","toUpperCase","_this$props6","_this$props6$lookupDa","connectedLookup","Textarea","TextareaAutosize","minRows","maxRows","connectedTextarea","DateCell","moment","dateFormat","startOf","utcOffset","Tooltip","overlayClassName","placement","TooltipPlacement","BottomLeft","trigger","TooltipTriggerType","Click","hideOnAnyAction","CustomDatePicker","date","toDate","onDayClick","LookupComponent","lookupDataSource","Boolean","LookupEdit","Lookup2","prev","next","_prev$error","_next$error","_useAppSelector","fetchState","compareLookupItemClallback","fetchLookupItemsCallback","_React$useState5","RequestState","none","_React$useState6","setRequestState","cachedItems","_React$useState7","_React$useState8","setLookupItems","searchTermRef","resetCallback","requestCancelationController","abort","requestLookupItems","_ref4","_asyncToGenerator","_regeneratorRuntime","mark","_callee","abortSignal","wrap","_context","request","signal","sent","t0","isRequestCancelationError","failure","logger","exception","finish","stop","apply","searchLookupItemsFromCache","searchTermLowerCase","toLowerCase","filtered","_compareLookupItemCla","startsWith","abortRequest","isRequesting","useFetchLookupItems","compareCallback","fetchCallback","lookupItemsState","selector","_React$useState","_React$useState2","setLookupSelectedIndex","scrollableLookupContainerRef","activeLookupItemRef","debounceDisabled","isLookupVisible","LookupInput","onDebouncedChange","_ref3","rest","_React$useState3","_React$useState4","_value","debouncedValue","useDebounce","stringValue","FileUpload","documentStoreType","maxSize","acceptedTypes","dataItem","_ref$readonlyCallback","readonlyCallback","_useUploadDocument","useUploadDocument","requestStateSaveDocument","onUploadDocument","progress","_uploadFile","file","newDocument","setUploadState","UploadingSingle","addFileToDataItem","None","fileName","deleteFile","handleLoadFile","files","splitFile","split","fileExtension","size","notificationActions","notificationAddErrorMessage","ext","_x","uploadFile","documentInvalidFileTypeText","join","documentInvalidFileTypeTitle","FileIcon","filename","ProgressCircle","isNew","style","display","accept","Row","_this$props$headers","_nextProps$headers","isFirstDraft","selection","_this$props$moveRowVi","moveRowVisible","_this$props$deleteRow","deleteRowVisible","readonlyTooltip","deleteDisabled","rowError","cells","columnIndex","editingValue","editingError","cellError","helpVisible","createCell","highlight","newLabel","errorLabel","updateLabel","isUpdate","flag","handleRowDelete","moveRowUp","moveRowDown","handleSelectRow","columns","handleCellClick","company","companiesLookup","companies","handleComapnyLookupItemSelected","handleCompanyLookupSearchTermChange","handleCompanyLookupReset","createCellByType","selectSourceItemsCallback","DocumentStoreType","Disclosure","companyLookupItem","contactsSaveActions","selectCompany","filterCompanies","resetCompaniesLookup","onRowDeleted","deleteRow","setFocus","selectRow","ctrlKey","shiftKey","connectedRow","securities","contactsSave","Grid","_ref$dataUploadDisabl","dataUploadDisabled","onDataItemsPaste","onDataItemsUpload","_ref$deleteDisabled","_ref$markOptionalFiel","_ref$onRowDeleted","_ref$helpPopoverTitle","renderFooter","_ref$addRowVisible","_ref$moveRowVisible","_ref$deleteRowVisible","_ref$onFileSelected","onFileSelected","gridRef","dragEnter","setDragEnter","inputBlocked","storeDataItems","rowsLimit","isNestedTarget","contains","handleOnPaste","useCallback","clipboardText","abrupt","processKeyCode","metaKey","tooltip","isDatePickerTarget","applyOrCancelEdit","rows","useMemo","highlightClasses","DragFileZone","onDragEnter","onDragLeave","onFile","tabIndex","SelectFile","gridRowsLimit","onFiles","acceptedExtensions","uploadStatus","uploading","fileInput","isMultiple","_fileInput$current","click","multiple","acceptedTemplateExtensions","_e$target$files","_e$target$files2"],"sourceRoot":""}