{"version":3,"file":"js/251f6891aeb166b4af98.chunk.js","mappings":"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","sources":["webpack:///./components/MenuItem.tsx","webpack:///./components/Stack.tsx","webpack:///./components/Table.tsx","webpack:///./components/TableHeaderCell.tsx","webpack:///./legacy/shared/components/SearchFilter/FilterButton.tsx","webpack:///./legacy/shared/components/SearchFilter/FilterPopper/DateQueryForm.tsx","webpack:///./legacy/shared/components/SearchFilter/FilterPopper/FilterPopper.tsx","webpack:///./legacy/shared/components/SearchFilter/FilterChips/DateFilterChip.tsx","webpack:///./legacy/shared/components/SearchFilter/FilterPopper/DropdownQueryForm.tsx","webpack:///./legacy/shared/components/SearchFilter/FilterChips/DropdownFilterChip.tsx","webpack:///./legacy/shared/components/SearchFilter/FilterPopper/TextQueryForm.tsx","webpack:///./legacy/shared/components/SearchFilter/FilterChips/TextFilterChip.tsx","webpack:///./legacy/shared/components/SearchFilter/FilterChips/FilterChip.tsx","webpack:///./legacy/shared/components/SearchFilter/FilterMenu.tsx","webpack:///./legacy/shared/components/SearchFilter/models/Filter.ts","webpack:///./legacy/shared/components/SearchFilter/models/Property.ts","webpack:///./utils/readJsonFromLocalStorage.ts","webpack:///./utils/writeJsonToLocalStorage.ts"],"sourcesContent":["import * as React from 'react';\nimport { MenuItem as MuiMenuItem, MenuItemProps as MuiMenuItemProps } from '@mui/material';\n\ntype MenuItemProps = Omit;\n\nconst MenuItem: React.FC = (props: MenuItemProps = {}) => ;\n\nexport type { MenuItemProps };\nexport default MenuItem;\n","import { ElementType, PropsWithChildren } from 'react';\nimport { Box, BoxProps, useTheme } from '@mui/material';\nimport { FlexDirectionProperty } from 'csstype';\n\ntype StackProps = BoxProps & {\n /** Defines the `flex-direction` style property. It is applied for all screen sizes. */\n direction?: FlexDirectionProperty;\n /** Defines the space between immediate children. */\n spacing?: number;\n fullWidth?: boolean;\n};\n\n/**\n * Stack component. This component is used to stack components horizontally or vertically. It shares a partial API with [the MUI 5 Stack component](https://mui.com/material-ui/react-stack/), which is unavailable in MUI 4.\n *\n * NOTE: Our version does not (yet) support all of the MUI 5 component's features.\n *\n * @param props Stack props\n * @returns A stack of components\n * @deprecated Use the MUI 5 Stack component instead\n */\nconst Stack = ({\n direction = 'column',\n justifyContent = 'start',\n spacing = 1,\n fullWidth,\n children,\n ...boxProps\n}: PropsWithChildren>) => {\n const theme = useTheme();\n const gap = theme.spacing(spacing);\n const width = fullWidth ? '100%' : undefined;\n return (\n \n {children}\n \n );\n};\n\nexport type { StackProps };\nexport default Stack;\n","import * as React from 'react';\nimport { ReactNode, useCallback, useEffect, useMemo } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport {\n Box,\n CircularProgress,\n LabelDisplayedRowsArgs,\n Table as MuiTable,\n TableBody,\n TableCell,\n tableCellClasses,\n TableContainer,\n TableFooter,\n TablePagination,\n TablePaginationProps as MuiTablePaginationProps,\n TableProps as MuiTableProps,\n TableRow,\n tableRowClasses,\n} from '@mui/material';\n\nimport readJsonFromLocalStorage from '@/utils/readJsonFromLocalStorage';\nimport writeJsonToLocalStorage from '@/utils/writeJsonToLocalStorage';\n\nconst Styles = {\n Table: {\n [`& .${tableCellClasses.head}`]: {\n typography: 'subtitle1',\n },\n [`& .${tableCellClasses.body}`]: {\n typography: 'body1',\n },\n },\n TableColored: {\n [`& .${tableRowClasses.root}:nth-of-type(even)`]: {\n bgcolor: 'grey.50',\n },\n },\n TablePagination: {\n borderBottom: 0,\n },\n} as const;\n\ninterface PlootoTableProps {\n totalNumberOfRecords?: number;\n isLoading?: boolean;\n isError?: boolean;\n isColored?: boolean;\n showPagination?: boolean;\n pageSizeOptions?: Array;\n pageSize?: number;\n currentPageIndex?: number;\n labelRowsPerPage?: MuiTablePaginationProps['labelRowsPerPage'];\n errorComponent?: ReactNode;\n noRowsComponent?: ReactNode;\n labelDisplayedRows?: MuiTablePaginationProps['labelDisplayedRows'];\n onPageChange?: (pageIndex: number) => void;\n onPageSizeChange?: (pageSize: number) => void;\n localStorageKey?: string;\n}\n\ntype TableProps = PlootoTableProps & MuiTableProps;\n\nconst defaultPageSize = 10;\n\nconst DefaultLabelRowsPerPage = ;\nconst DefaultLabelDisplayedRows = ({ from, to, count }: LabelDisplayedRowsArgs) => (\n \n);\nconst DefaultErrorComponent = ;\nconst DefaultNowRowsComponent = ;\n/**\n * Plooto Table\n * @param props Table props\n * @returns Function component\n */\nconst Table: React.FC = ({\n sx,\n children: childrenElement,\n totalNumberOfRecords = 0,\n isLoading = false,\n isError = false,\n isColored = false,\n showPagination = true,\n pageSizeOptions = [10, 20, 50, 100],\n pageSize = defaultPageSize,\n currentPageIndex = 0,\n labelRowsPerPage = DefaultLabelRowsPerPage,\n labelDisplayedRows = DefaultLabelDisplayedRows,\n errorComponent = DefaultErrorComponent,\n noRowsComponent = DefaultNowRowsComponent,\n onPageChange,\n onPageSizeChange,\n localStorageKey,\n size = 'small',\n ...tableProps\n}: TableProps) => {\n const children = useMemo(() => React.Children.toArray(childrenElement), [childrenElement]);\n const colgroupShift = useMemo(() => (children.length === 3 ? 1 : 0), [children]);\n\n const header = children[0 + colgroupShift];\n const rows = children[1 + colgroupShift];\n\n const handlePageChange = (_, pageNumber: number) => {\n if (onPageChange) {\n onPageChange(pageNumber);\n }\n };\n\n const handlePageSizeChange = (event) => {\n if (onPageSizeChange) {\n const newPageSize = Number(event.target.value);\n onPageSizeChange(newPageSize);\n }\n };\n\n const onPageSizeChangeCallback = useCallback(\n (newPageSize: number) => onPageSizeChange?.(newPageSize),\n [onPageSizeChange]\n );\n\n useEffect(() => {\n if (!localStorageKey) {\n return;\n }\n const savedPageSize = readJsonFromLocalStorage(localStorageKey, 10);\n\n if (savedPageSize !== defaultPageSize) {\n onPageSizeChangeCallback?.(savedPageSize);\n }\n }, [localStorageKey, onPageSizeChangeCallback]);\n\n useEffect(() => {\n if (!localStorageKey) {\n return;\n }\n writeJsonToLocalStorage(localStorageKey, pageSize);\n }, [localStorageKey, pageSize]);\n\n const totalPages = Math.ceil(totalNumberOfRecords / pageSize);\n useEffect(() => {\n if (totalPages > 0 && currentPageIndex >= totalPages) {\n onPageChange?.(Math.max(0, totalPages - 1));\n }\n }, [currentPageIndex, onPageChange, totalPages]);\n\n const pagination = (\n \n \n \n \n \n );\n\n const getTableBody = () => {\n if (isLoading) {\n return (\n \n \n \n \n \n \n \n \n \n );\n }\n\n if (isError) {\n return (\n \n \n \n \n {errorComponent}\n \n \n \n \n );\n }\n\n if (totalNumberOfRecords === 0) {\n return (\n \n \n \n \n {noRowsComponent}\n \n \n \n \n );\n }\n\n return rows;\n };\n\n return (\n \n \n {header}\n {getTableBody()}\n {showPagination ? pagination : null}\n \n \n );\n};\n\nexport type { TableProps };\nexport default Table;\n","import { useCallback } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { ArrowDownward } from '@mui/icons-material';\nimport {\n Box,\n SortDirection,\n SvgIconProps,\n TableCell as MuiTableCell,\n TableCellProps as MuiTableCellProps,\n TableSortLabel,\n} from '@mui/material';\nimport { visuallyHidden } from '@mui/utils';\n\nconst SortOptions: ReadonlyArray = ['asc', 'desc', false];\n\nconst TableSortIconComponent = (props: SvgIconProps) => (\n \n);\n\ninterface PlootoTableHeaderCellProps {\n sortDirection?: SortDirection;\n isSortable?: boolean;\n sortOrder?: number;\n onSortDirectionChange?: (newSortDirection: SortDirection) => void;\n}\n\ntype TableHeaderCellProps = PlootoTableHeaderCellProps & MuiTableCellProps;\n\n/**\n * Plooto Table Header Cell\n * @param props Table header cell props\n * @returns Function component\n */\nconst TableHeaderCell = (\n {\n sortDirection,\n isSortable,\n sortOrder,\n onSortDirectionChange,\n children,\n ...tableCellProps\n }: TableHeaderCellProps = {\n sortDirection: false,\n isSortable: false,\n }\n) => {\n const handleSortClick = useCallback(() => {\n const newSortOptionIndex =\n (SortOptions.findIndex((option) => option === sortDirection) + 1) % 3;\n onSortDirectionChange?.(SortOptions[newSortOptionIndex]);\n }, [onSortDirectionChange, sortDirection]);\n\n const sortLabel = (\n \n {children}\n {sortDirection ? (\n \n {' '}\n {sortDirection === 'asc' ? (\n \n ) : (\n \n )}\n \n ) : null}\n \n );\n\n return (\n \n {isSortable ? sortLabel : children}\n \n );\n};\n\nexport type { TableHeaderCellProps };\nexport default TableHeaderCell;\n","import { useCallback, useState } from 'react';\nimport { FormattedMessage, useIntl } from 'react-intl';\nimport { FilterAlt } from '@mui/icons-material';\nimport { Button, IconButton } from '@mui/material';\n\nimport { Property } from './models/Property';\nimport FilterMenu from './FilterMenu';\n\ninterface FilterButtonProps {\n properties: Array;\n onClickProperty?: (property: Property) => void;\n}\n\nconst FilterButton = ({ properties, onClickProperty }: FilterButtonProps) => {\n const { formatMessage } = useIntl();\n const [filterMenuElement, setFilterMenuElement] = useState(null);\n\n const handleClickButton = useCallback((e) => {\n setFilterMenuElement(e.currentTarget);\n }, []);\n\n const handleCloseFilterMenu = useCallback(() => {\n setFilterMenuElement(null);\n }, []);\n\n const handleClickProperty = useCallback(\n (property: Property) => {\n setFilterMenuElement(null);\n onClickProperty?.(property);\n },\n [onClickProperty]\n );\n\n return (\n <>\n \n \n \n }\n sx={{ display: { xs: 'none', sm: 'inline-flex' } }}\n >\n \n \n \n \n );\n};\n\nexport { FilterButtonProps };\nexport default FilterButton;\n","import { ChangeEvent, useCallback } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Stack, TextField } from '@mui/material';\n\ninterface DateQueryFormProps {\n from?: string;\n onChangeFrom?: (value: string) => void;\n to?: string;\n onChangeTo?: (value: string) => void;\n}\n\nconst DateQueryForm = (props: DateQueryFormProps) => {\n const { from, onChangeFrom, to, onChangeTo } = props;\n const handleChangeFrom = useCallback(\n (e: ChangeEvent) => {\n onChangeFrom?.(e.target.value);\n },\n [onChangeFrom]\n );\n const handleChangeTo = useCallback(\n (e: ChangeEvent) => {\n onChangeTo?.(e.target.value);\n },\n [onChangeTo]\n );\n return (\n \n }\n // Prevents the label from rendering beneath the native browser date input's value\n // placeholder See: https://github.com/mui/material-ui/issues/8131#issuecomment-328373902\n InputLabelProps={{ shrink: true }}\n />\n }\n InputLabelProps={{ shrink: true }}\n />\n \n );\n};\n\nexport { DateQueryFormProps };\nexport default DateQueryForm;\n","import { useCallback } from 'react';\nimport { FormattedMessage, useIntl } from 'react-intl';\nimport CloseIcon from '@mui/icons-material/Close';\nimport { Button, IconButton, Popover, PopoverProps, Typography } from '@mui/material';\n\nimport Stack from '@/components/Stack';\n\ninterface Props {\n title?: string;\n minWidth?: number;\n onClose?: (applyChanges: boolean) => void;\n}\n\ntype FilterPopperProps = Props & Pick;\n\nconst FilterPopper = ({\n title,\n open,\n onClose,\n children,\n minWidth,\n anchorEl,\n}: FilterPopperProps) => {\n const { formatMessage } = useIntl();\n const handleClickCloseButton = useCallback(() => onClose?.(false), [onClose]);\n const handleClickApplyButton = useCallback(() => onClose?.(true), [onClose]);\n const handleClosePopover = useCallback(() => onClose?.(false), [onClose]);\n\n return (\n \n \n \n \n {title}\n \n \n \n \n \n {children}\n \n \n \n );\n};\n\nexport { FilterPopperProps };\nexport default FilterPopper;\n","import { forwardRef, MutableRefObject, Ref, useCallback, useEffect, useRef, useState } from 'react';\nimport ErrorOutlineIcon from '@mui/icons-material/ErrorOutline';\nimport { Box, Chip } from '@mui/material';\n\nimport { DisplayDateFormat, formatServerDate } from '@/utils/formatDate';\n\nimport DateQueryForm from '../FilterPopper/DateQueryForm';\nimport FilterPopper from '../FilterPopper/FilterPopper';\nimport Filter, { DateFilter } from '../models/Filter';\n\ninterface DateFilterChipProps {\n filter: DateFilter;\n onClick: (filter: Filter) => void;\n onDelete: (filter: Filter) => void;\n}\n\ninterface DateFilterChipPopoverProps {\n popoverOpen: boolean;\n filter: DateFilter;\n onClosePopover: (oldFilter: Filter, newFilter?: Filter) => void;\n}\n\ninterface DateFilterChipWithPopoverProps {\n filter: DateFilter;\n onClick?: (filter: Filter) => void;\n onDelete?: (filter: Filter) => void;\n onClosePopover?: (oldFilter: Filter, newFilter?: Filter) => void;\n 'data-testid'?: string;\n}\n\nfunction formatPropertyValue(value: string) {\n // While this value is picked in local time, it's truncated to YYYY-MM-DD which is parsed as ISO,\n // effectively making it server time. The S&F code is pretty sloppy about this, with some table\n // backend APIs accepting the truncated date string, and others (e.g. Dual Control) accepting a\n // timezone-adjusted ISO 8601 string.\n return formatServerDate(new Date(value), DisplayDateFormat.ShortDate);\n}\n\nconst DateFilterChip = forwardRef(\n ({ filter, onClick, onDelete }: DateFilterChipProps, ref: Ref) => {\n const handleClick = useCallback(() => onClick?.(filter), [onClick, filter]);\n const handleDelete = useCallback(() => onDelete?.(filter), [onDelete, filter]);\n const color = filter.hasError ? 'error' : undefined;\n const icon = filter.hasError ? : undefined;\n const label =\n filter.from && filter.to\n ? `${filter.property.label} ${formatPropertyValue(filter.from)} - ${formatPropertyValue(filter.to)}`\n : filter.property.label;\n\n return (\n \n );\n }\n);\nDateFilterChip.displayName = 'DateFilterChip';\n\nconst DateFilterPopover = forwardRef(\n (\n { popoverOpen, filter, onClosePopover }: DateFilterChipPopoverProps,\n chipRef: MutableRefObject\n ) => {\n const [from, setFrom] = useState(filter.from);\n const [to, setTo] = useState(filter.to);\n\n const handleClosePopover = useCallback(\n (applyChanges: boolean) => {\n if (applyChanges) {\n onClosePopover?.(filter, { ...filter, from, to });\n } else {\n onClosePopover?.(filter, { ...filter, hasError: true });\n }\n },\n [onClosePopover, filter, from, to]\n );\n\n return (\n chipRef.current && (\n \n \n \n )\n );\n }\n);\nDateFilterPopover.displayName = 'DateFilterPopover';\n\nconst DateFilterChipWithPopover = ({\n filter,\n onClick,\n onDelete,\n onClosePopover,\n 'data-testid': dataTestId,\n}: DateFilterChipWithPopoverProps) => {\n const chipRef = useRef(null);\n\n const [popoverOpen, setPopoverOpen] = useState(false);\n\n useEffect(() => {\n if (chipRef.current) {\n setPopoverOpen(filter.open);\n }\n }, [chipRef, setPopoverOpen, filter]);\n\n return (\n \n \n \n \n );\n};\n\nexport { DateFilterChipWithPopoverProps as DateFilterChipProps };\nexport default DateFilterChipWithPopover;\n","import { useCallback } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { CircularProgress, InputAdornment, MenuItem, Stack, TextField } from '@mui/material';\n\nimport ValueLabel from '../models/ValueLabel';\n\ninterface DropdownQueryFormProps {\n loading?: boolean;\n relations?: Array;\n relationSelected?: ValueLabel;\n onChangeRelation?: (value: ValueLabel) => void;\n values?: Array;\n valueSelected?: ValueLabel;\n onChangeValue?: (value: ValueLabel) => void;\n}\n\nconst DropdownQueryForm = (props: DropdownQueryFormProps) => {\n const {\n loading,\n relations = [],\n relationSelected,\n onChangeRelation,\n values = [],\n valueSelected,\n onChangeValue,\n } = props;\n\n const handleChangeRelation = useCallback(\n (e) => {\n const relation = relations.find((r) => r.value === e.target.value);\n if (relation) {\n onChangeRelation?.(relation);\n return;\n }\n onChangeRelation?.({ value: '', label: '' });\n },\n [relations, onChangeRelation]\n );\n\n const handleChangeValue = useCallback(\n (e) => {\n const value = values.find((r) => r.value === e.target.value);\n if (value) {\n onChangeValue?.(value);\n return;\n }\n onChangeValue?.({ value: '', label: '' });\n },\n [values, onChangeValue]\n );\n\n return (\n \n }\n select\n value={relationSelected.value}\n onChange={handleChangeRelation}\n SelectProps={{\n MenuProps: {\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'left',\n },\n transformOrigin: {\n vertical: 'top',\n horizontal: 'left',\n },\n },\n }}\n >\n \n {relations.map((option) => (\n \n {option.label}\n \n ))}\n \n }\n select\n value={valueSelected.value}\n onChange={handleChangeValue}\n InputProps={{\n endAdornment: loading && (\n \n \n \n ),\n }}\n SelectProps={{\n MenuProps: {\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'left',\n },\n transformOrigin: {\n vertical: 'top',\n horizontal: 'left',\n },\n },\n }}\n >\n \n {values.map((option) => (\n \n {option.label}\n \n ))}\n \n \n );\n};\n\nexport { DropdownQueryFormProps };\nexport default DropdownQueryForm;\n","import { forwardRef, MutableRefObject, Ref, useCallback, useEffect, useRef, useState } from 'react';\nimport ErrorOutlineIcon from '@mui/icons-material/ErrorOutline';\nimport { Box, Chip } from '@mui/material';\n\nimport DropdownQueryForm from '../FilterPopper/DropdownQueryForm';\nimport FilterPopper from '../FilterPopper/FilterPopper';\nimport Filter, { DropdownFilter } from '../models/Filter';\n\ninterface DropdownFilterChipProps {\n filter: DropdownFilter;\n onClick: (filter: Filter) => void;\n onDelete: (filter: Filter) => void;\n}\n\ninterface DropdownFilterPopoverProps {\n popoverOpen: boolean;\n filter: DropdownFilter;\n onClosePopover: (oldFilter: Filter, newFilter?: Filter) => void;\n}\n\ninterface DropdownFilterChipWithPopoverProps {\n filter: DropdownFilter;\n onClick?: (filter: Filter) => void;\n onDelete?: (filter: Filter) => void;\n onClosePopover?: (oldFilter: Filter, newFilter?: Filter) => void;\n 'data-testid'?: string;\n}\n\nconst DropdownFilterChip = forwardRef(\n ({ filter, onClick, onDelete }: DropdownFilterChipProps, ref: Ref) => {\n const handleClick = useCallback(() => onClick?.(filter), [onClick, filter]);\n const handleDelete = useCallback(() => onDelete?.(filter), [onDelete, filter]);\n const color = filter.hasError ? 'error' : undefined;\n const icon = filter.hasError ? : undefined;\n const label =\n filter.relation.label && filter.value.label\n ? `${filter.property.label} ${filter.relation.label} ${filter.value.label}`\n : filter.property.label;\n\n return (\n \n );\n }\n);\nDropdownFilterChip.displayName = 'DropdownFilterChip';\n\nconst DropdownFilterPopover = forwardRef(\n (\n { filter, popoverOpen, onClosePopover }: DropdownFilterPopoverProps,\n chipRef: MutableRefObject\n ) => {\n const [relation, setRelation] = useState(filter.relation);\n const [value, setValue] = useState(filter.value);\n const handleClosePopover = useCallback(\n (applyChanges: boolean) => {\n if (applyChanges) {\n onClosePopover?.(filter, { ...filter, relation, value });\n } else {\n onClosePopover?.(filter, { ...filter, hasError: true });\n }\n },\n [onClosePopover, filter, relation, value]\n );\n return (\n chipRef.current && (\n \n \n \n )\n );\n }\n);\nDropdownFilterPopover.displayName = 'DropdownFilterChipPopover';\n\nconst DropdownFilterChipWithPopover = ({\n filter,\n onClick,\n onDelete,\n onClosePopover,\n 'data-testid': dataTestId,\n}: DropdownFilterChipWithPopoverProps) => {\n const chipRef = useRef(null);\n\n const [popoverOpen, setPopoverOpen] = useState(false);\n\n useEffect(() => {\n if (chipRef.current) {\n setPopoverOpen(filter.open);\n }\n }, [chipRef, setPopoverOpen, filter]);\n\n return (\n \n \n \n \n );\n};\n\nexport { DropdownFilterChipWithPopoverProps as DropdownFilterChipProps };\nexport default DropdownFilterChipWithPopover;\n","import * as React from 'react';\nimport { ChangeEvent, useCallback } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { MenuItem, Stack, TextField } from '@mui/material';\n\nimport { PropertyType } from '../models/Property';\nimport ValueLabel from '../models/ValueLabel';\n\ninterface TextQueryFormProps {\n relations?: Array;\n relationSelected?: ValueLabel;\n onChangeRelation?: (value: ValueLabel) => void;\n value?: string | number;\n onChangeValue?: (value: string) => void;\n maxValueLength?: number;\n type?: PropertyType;\n}\n\nconst TextQueryForm = (props: TextQueryFormProps) => {\n const {\n relations = [],\n relationSelected,\n onChangeRelation,\n value,\n onChangeValue,\n maxValueLength = 100,\n type,\n } = props;\n\n const getInputType = React.useMemo(\n (): React.HTMLInputTypeAttribute => type?.toLowerCase(),\n [type]\n );\n\n const handleChangeRelation = useCallback(\n (e: ChangeEvent) => {\n const relation = relations.find((r) => r.value === e.target.value);\n if (relation) {\n onChangeRelation?.(relation);\n return;\n }\n onChangeRelation?.({ value: '', label: '' });\n },\n [relations, onChangeRelation]\n );\n\n const handleChangeValue = useCallback(\n (e: ChangeEvent) => {\n onChangeValue?.(e.target.value);\n },\n [onChangeValue]\n );\n\n return (\n \n }\n size=\"small\"\n select\n value={relationSelected.value}\n onChange={handleChangeRelation}\n SelectProps={{\n MenuProps: {\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'left',\n },\n transformOrigin: {\n vertical: 'top',\n horizontal: 'left',\n },\n },\n }}\n >\n \n {relations.map((option) => (\n \n {option.label}\n \n ))}\n \n }\n value={value}\n onChange={handleChangeValue}\n inputProps={{\n maxLength: maxValueLength,\n }}\n />\n \n );\n};\n\nexport { TextQueryFormProps };\nexport default TextQueryForm;\n","import { forwardRef, MutableRefObject, Ref, useCallback, useEffect, useRef, useState } from 'react';\nimport ErrorOutlineIcon from '@mui/icons-material/ErrorOutline';\nimport { Box, Chip } from '@mui/material';\n\nimport FilterPopper from '../FilterPopper/FilterPopper';\nimport TextQueryForm from '../FilterPopper/TextQueryForm';\nimport Filter, { NumberFilter, TextFilter } from '../models/Filter';\n\ninterface TextFilterChipProps {\n filter: TextFilter | NumberFilter;\n onClick: (filter: Filter) => void;\n onDelete: (filter: Filter) => void;\n}\n\ninterface TextFilterPopoverProps {\n popoverOpen: boolean;\n filter: TextFilter | NumberFilter;\n onClosePopover: (oldFilter: Filter, newFilter?: Filter) => void;\n}\n\ninterface TextFilterChipWithPopoverProps {\n filter: TextFilter | NumberFilter;\n onClick?: (filter: Filter) => void;\n onDelete?: (filter: Filter) => void;\n onClosePopover?: (oldFilter: Filter, newFilter?: Filter) => void;\n 'data-testid'?: string;\n}\n\nfunction formatPropertyValue(value: string): string {\n const number = Number(value);\n if (Number.isNaN(number)) {\n return value;\n }\n return number.toLocaleString();\n}\n\nconst TextFilterChip = forwardRef(\n ({ filter, onClick, onDelete }: TextFilterChipProps, ref: Ref) => {\n const handleClick = useCallback(() => onClick?.(filter), [onClick, filter]);\n const handleDelete = useCallback(() => onDelete?.(filter), [onDelete, filter]);\n const color = filter.hasError ? 'error' : undefined;\n const icon = filter.hasError ? : undefined;\n const label =\n filter.relation.label && filter.value\n ? `${filter.property.label} ${filter.relation.label} ${formatPropertyValue(filter.value)}`\n : filter.property.label;\n\n return (\n \n );\n }\n);\nTextFilterChip.displayName = 'TextFilterChip';\n\nconst TextFilterPopover = forwardRef(\n (\n { popoverOpen, filter, onClosePopover }: TextFilterPopoverProps,\n chipRef: MutableRefObject\n ) => {\n const [relation, setRelation] = useState(filter.relation);\n const [value, setValue] = useState(filter.value);\n\n const handleClosePopover = useCallback(\n (applyChanges: boolean) => {\n if (applyChanges) {\n onClosePopover?.(filter, { ...filter, relation, value });\n } else {\n onClosePopover?.(filter, { ...filter, hasError: true });\n }\n },\n [onClosePopover, filter, relation, value]\n );\n\n return (\n chipRef.current && (\n \n \n \n )\n );\n }\n);\nTextFilterPopover.displayName = 'TextFilterPopover';\n\nconst TextFilterChipWithPopover = ({\n filter,\n onClick,\n onDelete,\n onClosePopover,\n 'data-testid': dataTestId,\n}: TextFilterChipWithPopoverProps) => {\n const chipRef = useRef(null);\n\n const [popoverOpen, setPopoverOpen] = useState(false);\n\n useEffect(() => {\n if (chipRef.current) {\n setPopoverOpen(filter.open);\n }\n }, [chipRef, setPopoverOpen, filter]);\n\n return (\n \n \n \n \n );\n};\nTextFilterChipWithPopover.displayName = 'TextFilterChipWithPopover';\n\nexport { TextFilterChipWithPopoverProps as TextFilterChipProps };\nexport default TextFilterChipWithPopover;\n","import Filter, { FilterType } from '../models/Filter';\n\nimport DateFilterChip from './DateFilterChip';\nimport DropdownFilterChip from './DropdownFilterChip';\nimport TextFilterChip from './TextFilterChip';\n\ninterface FilterChipProps {\n filter: Filter;\n onClick?: (filter: Filter) => void;\n onDelete?: (filter: Filter) => void;\n onClosePopover?: (oldFilter: Filter, newFilter?: Filter) => void;\n}\n\nconst FilterChip = ({ filter, onClick, onDelete, onClosePopover }: FilterChipProps) => {\n switch (filter.type) {\n case FilterType.Date:\n return (\n \n );\n case FilterType.Text:\n return (\n \n );\n case FilterType.Number:\n return (\n \n );\n default:\n return (\n \n );\n }\n};\n\nexport { FilterChipProps };\nexport default FilterChip;\n","import { useCallback, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport { Divider, ListItemText, Menu, PopoverOrigin, Typography } from '@mui/material';\n\nimport MenuItem from '@/components/MenuItem';\n\nimport { Property } from './models/Property';\n\ninterface FilterMenuProps {\n properties: Array;\n numPropertiesVisible?: number;\n anchorEl?: HTMLElement;\n anchorOrigin?: PopoverOrigin;\n onClick?: (property: Property) => void;\n onClose?: () => void;\n}\n\nconst FilterMenu = (props: FilterMenuProps) => {\n const {\n properties,\n numPropertiesVisible = 4,\n anchorEl,\n anchorOrigin = {\n vertical: 'bottom',\n horizontal: 'left',\n },\n onClick,\n onClose,\n } = props;\n\n const [expanded, setExpanded] = useState(false);\n\n const handleOnClick = useCallback(\n (property: Property) => {\n setTimeout(() => {\n onClick?.(property);\n }, 50); // this is to avoid false-trigger of FilterPopper's click away listener\n },\n [onClick]\n );\n\n const visibleProperties = expanded ? properties : properties.slice(0, numPropertiesVisible);\n const showToggleExpandedButton = properties.length > numPropertiesVisible;\n\n const toggleExpandedButton = expanded ? (\n setExpanded(false)}>\n }\n primaryTypographyProps={{ color: 'textSecondary' }}\n />\n \n ) : (\n setExpanded(true)}>\n }\n primaryTypographyProps={{ color: 'textSecondary' }}\n />\n \n \n );\n\n return (\n \n
\n {visibleProperties.map((property) => (\n handleOnClick(property)}\n >\n {property.label}\n \n ))}\n {showToggleExpandedButton ? : null}\n {showToggleExpandedButton ? toggleExpandedButton : null}\n
\n \n );\n};\n\nexport { FilterMenuProps };\nexport default FilterMenu;\n","import { DateProperty, DropdownProperty, NumberProperty, TextProperty } from './Property';\nimport ValueLabel from './ValueLabel';\n\nenum FilterType {\n Date = 'Date',\n Text = 'Text',\n Number = 'Number',\n Dropdown = 'Dropdown',\n}\n\ninterface DateFilter {\n type: FilterType.Date;\n property: DateProperty;\n hasError: boolean;\n open: boolean;\n from: string;\n to: string;\n}\n\ninterface TextFilter {\n type: FilterType.Text;\n property: TextProperty;\n hasError: boolean;\n open: boolean;\n relation: ValueLabel;\n value: string;\n}\n\ninterface NumberFilter {\n type: FilterType.Number;\n property: NumberProperty;\n hasError: boolean;\n open: boolean;\n relation: ValueLabel;\n value: string;\n}\n\ninterface DropdownFilter {\n type: FilterType.Dropdown;\n property: DropdownProperty;\n hasError: boolean;\n open: boolean;\n /**\n * The operator/relation of the filter (e.g. equals, not equals, less than, contains, etc.)\n */\n relation: ValueLabel;\n value: ValueLabel;\n}\n\ntype Filter = DateFilter | TextFilter | NumberFilter | DropdownFilter;\n\nexport { DateFilter, TextFilter, NumberFilter, DropdownFilter, FilterType };\nexport default Filter;\n","import ValueLabel from './ValueLabel';\n\nenum PropertyType {\n Date = 'Date',\n Text = 'Text',\n Number = 'Number',\n Dropdown = 'Dropdown',\n}\n\ninterface FilterProperty {\n name: string;\n label: string;\n type: PropertyType;\n}\n\ninterface DateProperty extends FilterProperty {\n type: PropertyType.Date;\n}\n\ninterface TextProperty extends FilterProperty {\n type: PropertyType.Text;\n relations: Array;\n}\n\ninterface NumberProperty extends FilterProperty {\n type: PropertyType.Number;\n relations: Array;\n}\n\ninterface DropdownProperty extends FilterProperty {\n type: PropertyType.Dropdown;\n relations: Array;\n values: Array;\n loading?: boolean;\n}\n\ntype Property = DateProperty | TextProperty | NumberProperty | DropdownProperty;\n\nexport { DateProperty, TextProperty, NumberProperty, DropdownProperty, Property, PropertyType };\n","function readJsonFromLocalStorage(key: string, defaultValue: T): T {\n try {\n const value = window.localStorage.getItem(key);\n if (!value) {\n return defaultValue;\n }\n const json = JSON.parse(value);\n return json;\n } catch (e) {\n console.error(e, `error reading ${key} from local storage`);\n return defaultValue;\n }\n}\n\nexport default readJsonFromLocalStorage;\n","function writeJsonToLocalStorage(key: string, value: T) {\n try {\n window.localStorage.setItem(key, JSON.stringify(value));\n } catch (e) {\n console.error(e, `error writing ${key} to local storage`);\n }\n}\n\nexport default writeJsonToLocalStorage;\n"],"names":["MenuItem","props","_jsx","_MenuItem","Stack","direction","justifyContent","spacing","fullWidth","children","boxProps","gap","_useTheme","width","undefined","_Box","display","flexDirection","style","flexWrap","Styles","Table","_tableCellClasses","head","typography","body","TableColored","_tableRowClasses","root","bgcolor","TablePagination","borderBottom","defaultPageSize","DefaultLabelRowsPerPage","FormattedMessage","id","defaultMessage","DefaultLabelDisplayedRows","from","to","count","values","DefaultErrorComponent","DefaultNowRowsComponent","sx","childrenElement","totalNumberOfRecords","isLoading","isError","isColored","showPagination","pageSizeOptions","pageSize","currentPageIndex","labelRowsPerPage","labelDisplayedRows","errorComponent","noRowsComponent","onPageChange","onPageSizeChange","localStorageKey","size","tableProps","useMemo","React","toArray","colgroupShift","length","header","rows","handlePageChange","_","pageNumber","handlePageSizeChange","event","newPageSize","Number","target","value","onPageSizeChangeCallback","useCallback","useEffect","savedPageSize","readJsonFromLocalStorage","writeJsonToLocalStorage","totalPages","Math","ceil","max","pagination","_TableFooter","_TableRow","_TablePagination","SelectProps","disabled","MenuProps","disableScrollLock","backIconButtonProps","nextIconButtonProps","rowsPerPageOptions","rowsPerPage","page","onRowsPerPageChange","getTableBody","_TableBody","_TableCell","colSpan","height","alignItems","_CircularProgress","_TableContainer","_jsxs","_Table","Array","isArray","SortOptions","TableSortIconComponent","_ArrowDownward","TableHeaderCell","sortDirection","isSortable","sortOrder","onSortDirectionChange","tableCellProps","handleSortClick","newSortOptionIndex","findIndex","option","sortLabel","_TableSortLabel","active","onClick","IconComponent","component","visuallyHidden","FilterButton","properties","onClickProperty","formatMessage","useIntl","filterMenuElement","setFilterMenuElement","useState","handleClickButton","e","currentTarget","handleCloseFilterMenu","handleClickProperty","property","_Fragment","_IconButton","color","xs","sm","_FilterAlt","titleAccess","_Button","variant","startIcon","FilterMenu","anchorEl","anchorOrigin","horizontal","vertical","onClose","onChangeFrom","onChangeTo","handleChangeFrom","handleChangeTo","_Stack","_TextField","type","inputProps","onChange","label","InputLabelProps","shrink","FilterPopper","title","open","minWidth","handleClickCloseButton","handleClickApplyButton","handleClosePopover","_Popover","transformOrigin","elevation","BackdropProps","invisible","slotProps","mt","zIndex","paper","p","_Typography","fontWeight","CloseIcon","alignSelf","formatPropertyValue","formatServerDate","Date","DisplayDateFormat","ShortDate","DateFilterChip","forwardRef","filter","onDelete","ref","handleClick","handleDelete","hasError","icon","ErrorOutlineIcon","_Chip","maxWidth","displayName","DateFilterPopover","popoverOpen","onClosePopover","chipRef","setFrom","setTo","applyChanges","current","DateQueryForm","DateFilterChipWithPopover","dataTestId","useRef","setPopoverOpen","loading","relations","relationSelected","onChangeRelation","valueSelected","onChangeValue","handleChangeRelation","relation","find","r","handleChangeValue","select","map","InputProps","endAdornment","_InputAdornment","position","DropdownFilterChip","DropdownFilterPopover","setRelation","setValue","DropdownQueryForm","DropdownFilterChipWithPopover","maxValueLength","getInputType","toLowerCase","maxLength","number","isNaN","toLocaleString","TextFilterChip","TextFilterPopover","TextQueryForm","TextFilterChipWithPopover","FilterChip","FilterType","Text","numPropertiesVisible","expanded","setExpanded","handleOnClick","setTimeout","visibleProperties","slice","showToggleExpandedButton","toggleExpandedButton","_ListItemText","primary","primaryTypographyProps","ExpandMoreIcon","_Menu","Boolean","maxHeight","name","noWrap","_Divider","PropertyType","key","defaultValue","window","localStorage","getItem","JSON","parse","console","error","setItem","stringify"],"sourceRoot":""}