{"version":3,"file":"static/js/main-25dc9f7d.fcbaac12.js","mappings":"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","sources":["components/filters/FilterButton.jsx","components/filters/TransactionsSearchInput.tsx","components/filters/dinamicFilterEffects/useManagersFilterData.ts","components/grid/DeleteAllButton.tsx","components/forms/MultiSelectField.tsx","components/forms/SelectSearchField.tsx","components/filters/dinamicFilterEffects/useTrusteeFilterData.ts","components/forms/CurrencyInputField.tsx","components/filters/BwicFilters.tsx","components/forms/FormFieldLabel.tsx","components/filters/ChipList.jsx","components/grid/DeleteRowsWithErrorButton.tsx","components/filters/Filters.tsx","components/filters/FilterSection.jsx","components/filters/FilterSwitch.jsx","components/filters/FilterMultiPicker.jsx","components/filters/SecuritiesSearchInput.jsx","components/forms/Form.jsx","components/forms/ValidationMessage.jsx","components/forms/PasswordStrengthValidator.jsx","components/forms/InputField.jsx","components/forms/TextAreaField.jsx","components/grid/DeleteFlaggedItemsButton.tsx","components/grid/SelectFile.tsx","components/filters/FilterChip.jsx","components/filters/FilterClear.jsx","components/filters/FilterPanel.jsx","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"],"sourcesContent":["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, { 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 = (searchTerm: string, value?: string, className = '') =>\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 classesLookup,\r\n hasMoreDeals,\r\n hasMoreClasses\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\r\n const classes = (classesLookup as Deal[]).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 ||\r\n status === TransactionStatus.Priced ||\r\n status === TransactionStatus.OnHold;\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 = (label: string, dealReferenceName: string, classNames: string[] = []) => {\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 (!searchTerm && e.keyCode === 37 && e.currentTarget.selectionStart === 0) {\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 ? dealItem.referenceName : classItem.dealReferenceName;\r\n\r\n const label = idDealGroup ? dealItem.legalName : classItem.ticker144A || classItem.dealLegalName;\r\n\r\n const classList = idDealGroup ? [] : [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.loadDealsLookup(searchTerm, true));\r\n }\r\n setDealOffset(prevVal => prevVal + displayAmount);\r\n };\r\n const showMoreClasses = () => {\r\n if(loadedClassesLeftAmount < displayAmount) {\r\n dispatch(actions.loadClassesLookup(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 \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 (refActiveItem.current = index === rowIndex ? node : refActiveItem.current)}\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 {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 {groupedDeals.map((item, i) => renderLookupDeal(item, i))}\r\n {renderShowMore(\r\n groupedDeals,\r\n !!loadedDealsLeftAmount || hasMoreDeals,\r\n showMoreDeals,\r\n 3,\r\n )}\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) => renderLookupClass(c, i))}\r\n {renderShowMore(\r\n groupedClasses,\r\n !!loadedClassesLeftAmount || hasMoreClasses,\r\n showMoreClasses,\r\n 4,\r\n )}\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};\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 { 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 { 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 { 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 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 { 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 * 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 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 { 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 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 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 { 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 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 * 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","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 { 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"],"names":["FilterButton","_ref","_ref$className","className","_ref$caption","caption","children","_ref$show","show","_ref$disabled","disabled","onClick","buttonCaption","_jsx","FeatureButton","defaultProps","displayAmount","renderHighlightOrPlaceholder","searchTerm","value","arguments","length","undefined","Highlighter","searchWords","textToHighlight","constants","emptyPlaceholder","TransactionsSearchInput","_ref$singleSearch","singleSearch","_ref$placeholder","placeholder","onSearch","maxLength","pipelineType","useContext","PipelineContext","actions","createSearchTransactionActions","pipelineActions","createAmrPipelineActions","refInput","useRef","refScrollableContainer","refActiveItem","dispatch","useAppDispatch","_useSelector","useSelector","issuanceMonitorSearchTransactionsSelector","_useSelector$searchTe","_useSelector$searchTe2","searchTermItems","_useSelector$markerPo","markerPosition","_useSelector$lookup","lookup","isSearching","classesLookup","hasMoreDeals","hasMoreClasses","_useState","useState","_useState2","_slicedToArray","index","setIndex","_useState3","_useState4","inputFocus","setInputFocus","_useState5","_useState6","classOffset","setClassOffset","_useState7","_useState8","dealOffset","setDealOffset","deals","filter","d","isDeal","groupedDeals","slice","classes","reduce","acc","dealItem","classesWithIndicators","classesAccum","c","withSearchedClassIndicator","concat","_toConsumableArray","_objectSpread","dealLegalName","legalName","dealReferenceName","referenceName","groupedClasses","groupedDealsLength","groupedClassesLength","loadedDealsLeftAmount","loadedClassesLeftAmount","searchItemsLength","useEffect","current","container","getBoundingClientRect","item","top","bottom","scrollIntoView","setExpanded","handleClearAll","reset","focus","handleLookupItemClick","label","classNames","applyLookupItem","handleRemoveChip","i","removeSearchItem","renderShowMore","items","hasMoreItems","showMore","colSpan","_jsxs","Preloader","inProgress","small","IconSVG","name","width","height","ClickOutside","e","stopPropagation","resetSearchLookup","ChipList","list","map","selectionIndex","onRemove","ref","type","onChange","searchTermChange","target","onKeyDown","keyCode","removeCurrentItem","currentTarget","selectionStart","preventDefault","moveForward","moveBack","selectedIndex","idDealGroup","classItem","ticker144A","classList","onFocus","searchTermAcceptedLength","_Fragment","status","ticker","transactionStatus","node","active","TransactionStatus","Active","Priced","OnHold","StatusLabel","transactionStatusTitles","renderLookupDeal","loadDealsLookup","prevVal","tickerRegS","tickerAccdInvCertif","cusip144A","cusipRegS","cusipAccdInvCertif","isin144A","isinRegS","isinAccdInvCertif","classesData","rule144a","regS","accdInvCertif","rowIndex","_ref2","classIndex","renderLookupClass","loadClassesLookup","EmptyPlaceholder","textView","useManagersFilterData","filterType","filterKey","useDispatch","filterActions","createFilterActions","_useCollateralManager","useCollateralManagers","managersRequestState","requestState","managers","isRequestSuccess","isRequestFailed","managersOptions","sort","a","b","localeCompare","cm","text","selected","visible","storeFilterData","success","filterName","data","DeleteAllButton","hasDataItems","s","grid","dataItems","some","draft","gridActions","clear","MultiSelectField","onSelect","selectedValues","_ref$markRequired","markRequired","errorMessage","onResetAll","onSelectAll","horizontalOrientation","generateSelectedText","_ref$resetButtonText","resetButtonText","MultiSelect","showResetButton","showSelectAllButton","cn","required","sourceItems","onItemSelect","showAddButton","FormError","message","resetOption","SelectSearchField","options","withResetOption","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","field","meta","formik","useFormikContext","optionList","SelectSearch","touched","error","setFieldValue","useTrusteeFilterData","_useTrustee","useTrustee","trusteeRequestState","trusteeOptions","t","CurrencyInputField","loading","defaultValue","isValueChanged","setValue","FormFieldLabel","MaskedInput","String","onBlur","mask","createNumberMask","prefix","suffix","allowDecimal","includeThousandsSeparator","newValue","moneyUtils","parse","FormControlLoader","BwicFilters","isFilterCollapsed","setFiltersCollapseStatus","visibleFilters","lastAppliedFilter","filterModified","selectedFilterReferenceName","_props$withAlerts","withAlerts","renderFilterAlertsPopup","filterAlertPopupTooltips","onFilterCreate","onFilterUpdate","applyDisabled","isLoading","key","f","FilterType","Range","fromRange","from","toRange","to","numericUtils","isNumber","Number","filterUtils","isFilterChanged","isApplyDisabled","bwicFilterType","canUseSavedFilters","saveFilterBlockerFeature","user","hasFeatures","_usePageConfig","usePageConfig","pageConfigType","config","saveAlerts","savedFilters","appliedRef","serializedFilter","getSerializedFilter","filterMatch","find","isEqual","selectFilterFromConfig","useSavedFilterAutoSelect","saveFilterVisible","filters","filterAlertPopupDescription","textLabels","savedFiltersBwicMonitor","Filters","filtersCollapseStatus","alertOptions","defaultAlertOption","alertOptionInfo","renderCustomAlertOptions","onFilterSave","form","newFilter","uuid","default","makeDefault","alertOption","receiveEmailNotification","addFilter","existingFilter","updatedFilter","updateFilter","FiltersManagement","onMakeDefault","defaultFlagChange","onResetDefault","onSaveFilterAlert","isDefault","updatedFilters","onDeleteFilter","deleteFilter","filterChanged","onApply","blockerFeature","_ref$required","_ref$list","refList","refChildren","refListLength","offset","offsetWidth","scrollLeft","clientWidth","scrollWidth","renderedList","_loop","push","FilterChip","renderChips","DeleteRowsWithErrorButton","onDelete","hasErrors","useAppSelector","_s$grid$headers","headers","h","headerError","_i$errors","errors","isFileUploading","upload","GridUploadStatus","Uploading","isDataProcessing","deleteDataItemsWithErrors","onReset","_ref$allowCollapsing","allowCollapsing","_ref$hiddenFilters","hiddenFilters","onVisibilityChange","_ref$withBlockedSearc","withBlockedSearchAndFilter","_ref$isUpdating","isUpdating","filterConfigShowEmailNotification","saveFilterBlockerText","advancedFiltersBlockerFeature","advancedFiltersBlockerText","_ref$saveFilterVisibl","filterContainer","filtersRef","isHideFilterButtonVisible","setIsHideFilterButtonVisible","showFiltersPopup","setShowFiltersPopup","lastAddedFilter","setLastAddedFilter","previousCollapsedState","usePrevious","additionalFilters","moreFilters","arrayUtils","distinct","countOfHiddenFilters","useFilterNextLineHide","shouldShowHideButton","handleFilterVisibilityChange","selectedFilter","checked","groupKey","values","x","forEach","handleApplyFilter","handleClearFilter","handleSaveFilter","mode","FilterSaveMode","Create","Update","renderFilter","_decimals","defaultExpanded","isApplied","Filter","el","Select","FilterSelect","title","withSearch","onClearAll","filterSelectClearAll","filterSelectSelectAll","onChangeItemSelection","v","filterSelectChange","handleFilterSelectOptionsChange","FilterRange","filterRangeClearSelectedOptions","onChangeRange","changeRangeFilter","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","_group$2","group","_group$","FilterColor","renderCombined","collapsed","tooltipContent","closeOnSelect","formatTitle","withExpandToggle","FilterClear","isShown","isDisabled","FiltersManagementPopup","showEmailNotificationsOptions","selectedReferenceName","onSave","onClose","FilterSection","_ref$title","FilterSwitch","FilterMultiPicker","_ref$sourceItems","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","trim","isinCusip","renderLookupItem","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","DeleteFlaggedItemsButton","isFlagged","deleteFlaggedDataItems","SelectFile","onFiles","acceptedExtensions","uploadStatus","uploading","fileInput","isMultiple","_fileInput$current","click","multiple","accept","acceptedTemplateExtensions","style","display","_e$target$files","_e$target$files2","files","forwardRef","_ref$text","_ref$selected","_ref$onRemove","refParent","_ref$isShown","_ref$isDisabled","FilterPanel","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","splitFile","split","fileExtension","size","notificationActions","notificationAddErrorMessage","ext","_x","uploadFile","documentInvalidFileTypeText","join","documentInvalidFileTypeTitle","FileIcon","filename","ProgressCircle","isNew","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","gridRowsLimit"],"sourceRoot":""}