{"version":3,"file":"js/d0f811499868e53ae275.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 {\n Box,\n CircularProgress,\n Table as MuiTable,\n TableBody,\n TableCell,\n tableCellClasses,\n TableContainer,\n TableFooter,\n TablePagination,\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?: string;\n errorComponent?: ReactNode;\n noRowsComponent?: ReactNode;\n labelDisplayedRows?: (LabelDisplayedRowsArgs) => string;\n onPageChange?: (pageIndex: number) => void;\n onPageSizeChange?: (pageSize: number) => void;\n localStorageKey?: string;\n}\n\ntype TableProps = PlootoTableProps & MuiTableProps;\n\nconst defaultPageSize = 10;\n\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 = 'Rows per page:',\n labelDisplayedRows = ({ from, to, count }) => `${from}-${to} of ${count}`,\n errorComponent = 'Error loading data',\n noRowsComponent = 'No rows matching criteria',\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 { Box, Grid, TextField, Typography } 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 \n From\n \n \n \n \n \n \n \n To\n \n \n \n \n \n \n );\n};\n\nexport { DateQueryFormProps };\nexport default DateQueryForm;\n","import { useCallback } from 'react';\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 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 { 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 \n {relations.map((option) => (\n \n {option.label}\n \n ))}\n \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 { 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 \n {relations.map((option) => (\n \n {option.label}\n \n ))}\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 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 \n ) : (\n setExpanded(true)}>\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","sx","childrenElement","totalNumberOfRecords","isLoading","isError","isColored","showPagination","pageSizeOptions","pageSize","currentPageIndex","labelRowsPerPage","labelDisplayedRows","from","to","count","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","FormattedMessage","id","defaultMessage","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","_Grid","container","item","_Typography","align","_TextField","type","inputProps","onChange","FilterPopper","title","open","minWidth","handleClickCloseButton","handleClickApplyButton","handleClosePopover","_Popover","transformOrigin","elevation","BackdropProps","invisible","slotProps","mt","zIndex","paper","p","fontWeight","CloseIcon","alignSelf","formatPropertyValue","formatServerDate","Date","DisplayDateFormat","ShortDate","DateFilterChip","forwardRef","filter","onDelete","ref","handleClick","handleDelete","hasError","icon","ErrorOutlineIcon","label","_Chip","maxWidth","displayName","DateFilterPopover","popoverOpen","onClosePopover","chipRef","setFrom","setTo","applyChanges","current","DateQueryForm","DateFilterChipWithPopover","dataTestId","useRef","setPopoverOpen","loading","relations","relationSelected","onChangeRelation","values","valueSelected","onChangeValue","handleChangeRelation","relation","find","r","handleChangeValue","_Stack","select","map","InputProps","endAdornment","_InputAdornment","position","DropdownFilterChip","DropdownFilterPopover","setRelation","setValue","DropdownQueryForm","DropdownFilterChipWithPopover","maxValueLength","getInputType","toLowerCase","placeholder","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":""}