@pega/react-sdk-components 25.1.10 → 25.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/designSystemExtension/AlertBanner/AlertBanner.css +46 -0
- package/lib/components/designSystemExtension/AlertBanner/AlertBanner.d.ts +2 -1
- package/lib/components/designSystemExtension/AlertBanner/AlertBanner.d.ts.map +1 -1
- package/lib/components/designSystemExtension/AlertBanner/AlertBanner.js +18 -16
- package/lib/components/designSystemExtension/AlertBanner/AlertBanner.js.map +1 -1
- package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.js +1 -1
- package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.js.map +1 -1
- package/lib/components/field/SelectableCard/SelectableCard.d.ts.map +1 -1
- package/lib/components/field/SelectableCard/SelectableCard.js +13 -2
- package/lib/components/field/SelectableCard/SelectableCard.js.map +1 -1
- package/lib/components/infra/Assignment/Assignment.d.ts.map +1 -1
- package/lib/components/infra/Assignment/Assignment.js +6 -2
- package/lib/components/infra/Assignment/Assignment.js.map +1 -1
- package/lib/components/infra/Assignment/useValidationBanner.d.ts +7 -0
- package/lib/components/infra/Assignment/useValidationBanner.d.ts.map +1 -0
- package/lib/components/infra/Assignment/useValidationBanner.js +26 -0
- package/lib/components/infra/Assignment/useValidationBanner.js.map +1 -0
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.d.ts.map +1 -1
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.js +5 -6
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.js.map +1 -1
- package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.d.ts +4 -0
- package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.d.ts.map +1 -1
- package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js +1 -1
- package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js.map +1 -1
- package/lib/components/infra/Containers/ViewContainer/ViewContainer.d.ts +4 -0
- package/lib/components/infra/Containers/ViewContainer/ViewContainer.d.ts.map +1 -1
- package/lib/components/infra/Containers/ViewContainer/ViewContainer.js +4 -7
- package/lib/components/infra/Containers/ViewContainer/ViewContainer.js.map +1 -1
- package/lib/components/infra/DeferLoad/DeferLoad.d.ts +1 -0
- package/lib/components/infra/DeferLoad/DeferLoad.d.ts.map +1 -1
- package/lib/components/infra/DeferLoad/DeferLoad.js +24 -9
- package/lib/components/infra/DeferLoad/DeferLoad.js.map +1 -1
- package/lib/components/infra/NavBar/NavBar.d.ts.map +1 -1
- package/lib/components/infra/NavBar/NavBar.js +6 -0
- package/lib/components/infra/NavBar/NavBar.js.map +1 -1
- package/lib/components/infra/Reference/Reference.d.ts.map +1 -1
- package/lib/components/infra/Reference/Reference.js +4 -0
- package/lib/components/infra/Reference/Reference.js.map +1 -1
- package/lib/components/infra/RootContainer/RootContainer.d.ts.map +1 -1
- package/lib/components/infra/RootContainer/RootContainer.js +4 -5
- package/lib/components/infra/RootContainer/RootContainer.js.map +1 -1
- package/lib/components/infra/View/View.d.ts.map +1 -1
- package/lib/components/infra/View/View.js +5 -6
- package/lib/components/infra/View/View.js.map +1 -1
- package/lib/components/template/AppShell/AppShell.css +0 -4
- package/lib/components/template/CaseSummary/CaseSummary.d.ts.map +1 -1
- package/lib/components/template/CaseSummary/CaseSummary.js +2 -6
- package/lib/components/template/CaseSummary/CaseSummary.js.map +1 -1
- package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.d.ts +1 -0
- package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.d.ts.map +1 -1
- package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.js +7 -3
- package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.js.map +1 -1
- package/lib/components/template/HierarchicalForm/HierarchicalForm.d.ts +4 -0
- package/lib/components/template/HierarchicalForm/HierarchicalForm.d.ts.map +1 -0
- package/lib/components/template/HierarchicalForm/HierarchicalForm.js +16 -0
- package/lib/components/template/HierarchicalForm/HierarchicalForm.js.map +1 -0
- package/lib/components/template/HierarchicalForm/hooks.d.ts +15 -0
- package/lib/components/template/HierarchicalForm/hooks.d.ts.map +1 -0
- package/lib/components/template/HierarchicalForm/hooks.js +163 -0
- package/lib/components/template/HierarchicalForm/hooks.js.map +1 -0
- package/lib/components/template/HierarchicalForm/index.d.ts +2 -0
- package/lib/components/template/HierarchicalForm/index.d.ts.map +1 -0
- package/lib/components/template/HierarchicalForm/index.js +2 -0
- package/lib/components/template/HierarchicalForm/index.js.map +1 -0
- package/lib/components/template/ListView/ListView.d.ts +1 -0
- package/lib/components/template/ListView/ListView.d.ts.map +1 -1
- package/lib/components/template/ListView/ListView.js +56 -9
- package/lib/components/template/ListView/ListView.js.map +1 -1
- package/lib/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.d.ts +3 -1
- package/lib/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.d.ts.map +1 -1
- package/lib/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.js +13 -1
- package/lib/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.js.map +1 -1
- package/lib/components/template/ObjectPage/index.d.ts +2 -0
- package/lib/components/template/ObjectPage/index.d.ts.map +1 -0
- package/lib/components/template/ObjectPage/index.js +2 -0
- package/lib/components/template/ObjectPage/index.js.map +1 -0
- package/lib/components/template/SelfServiceCaseView/SelfServiceCaseView.d.ts.map +1 -1
- package/lib/components/template/SelfServiceCaseView/SelfServiceCaseView.js +13 -2
- package/lib/components/template/SelfServiceCaseView/SelfServiceCaseView.js.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.d.ts.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js +8 -6
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTableSelectReadonly/SimpleTableSelectReadonly.d.ts +17 -0
- package/lib/components/template/SimpleTable/SimpleTableSelectReadonly/SimpleTableSelectReadonly.d.ts.map +1 -0
- package/lib/components/template/SimpleTable/SimpleTableSelectReadonly/SimpleTableSelectReadonly.js +94 -0
- package/lib/components/template/SimpleTable/SimpleTableSelectReadonly/SimpleTableSelectReadonly.js.map +1 -0
- package/lib/components/template/SimpleTable/SimpleTableSelectReadonly/index.d.ts +2 -0
- package/lib/components/template/SimpleTable/SimpleTableSelectReadonly/index.d.ts.map +1 -0
- package/lib/components/template/SimpleTable/SimpleTableSelectReadonly/index.js +2 -0
- package/lib/components/template/SimpleTable/SimpleTableSelectReadonly/index.js.map +1 -0
- package/lib/hooks/useFocusFirstField.d.ts +3 -3
- package/lib/hooks/useFocusFirstField.d.ts.map +1 -1
- package/lib/hooks/useFocusFirstField.js +19 -12
- package/lib/hooks/useFocusFirstField.js.map +1 -1
- package/lib/sdk-pega-component-map.d.ts +6 -0
- package/lib/sdk-pega-component-map.d.ts.map +1 -1
- package/lib/sdk-pega-component-map.js +6 -0
- package/lib/sdk-pega-component-map.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListView.js","sourceRoot":"","sources":["../../../../src/components/template/ListView/ListView.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useEffect, useRef, useCallback } from 'react';\nimport type { Theme } from '@mui/material/styles';\nimport createStyles from '@mui/styles/createStyles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Table from '@mui/material/Table';\nimport TableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableContainer from '@mui/material/TableContainer';\nimport TableHead from '@mui/material/TableHead';\nimport TablePagination from '@mui/material/TablePagination';\nimport TableRow from '@mui/material/TableRow';\nimport TableSortLabel from '@mui/material/TableSortLabel';\nimport Paper from '@mui/material/Paper';\nimport MoreIcon from '@mui/icons-material/MoreVert';\nimport FilterListIcon from '@mui/icons-material/FilterList';\nimport SubjectIcon from '@mui/icons-material/Subject';\nimport SearchIcon from '@mui/icons-material/Search';\nimport TextField from '@mui/material/TextField';\nimport Grid2 from '@mui/material/Grid2';\nimport Menu from '@mui/material/Menu';\nimport MenuItem from '@mui/material/MenuItem';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport Select from '@mui/material/Select';\nimport Button from '@mui/material/Button';\nimport Link from '@mui/material/Link';\nimport Typography from '@mui/material/Typography';\nimport Snackbar from '@mui/material/Snackbar';\nimport IconButton from '@mui/material/IconButton';\nimport CloseIcon from '@mui/icons-material/Close';\nimport { Radio } from '@mui/material';\nimport Checkbox from '@mui/material/Checkbox';\nimport { filterData } from '../../helpers/simpleTableHelpers';\n\nimport './ListView.css';\nimport { getDateFormatInfo } from '../../helpers/date-format-utils';\nimport { getCurrencyOptions } from '../../field/Currency/currency-utils';\nimport { getGenericFieldsLocalizedValue } from '../../helpers/common-utils';\nimport { format } from '../../helpers/formatters';\n\nimport useInit from './hooks';\nimport type { PConnProps } from '../../../types/PConnProps';\n\ninterface ListViewProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n bInForm?: boolean;\n globalSearch?: boolean;\n referenceList?: any[];\n // rowClickAction?: any;\n selectionMode?: string;\n referenceType?: string;\n payload?: any;\n parameters?: any;\n compositeKeys?: any;\n showDynamicFields?: boolean;\n readonlyContextList?: any;\n value: any;\n viewName?: string;\n showRecords?: boolean;\n displayAs?: string;\n}\n\nconst SELECTION_MODE = { SINGLE: 'single', MULTI: 'multi' };\n\nlet myRows: any[];\n\nlet menuColumnId = '';\nlet menuColumnType = '';\nlet menuColumnLabel = '';\n\nlet sortColumnId: any;\n\nconst filterByColumns: any[] = [];\n\nexport default function ListView(props: ListViewProps) {\n const { getPConnect, bInForm = true } = props;\n const {\n globalSearch,\n referenceList,\n /* rowClickAction, */\n selectionMode,\n referenceType,\n payload,\n parameters,\n compositeKeys,\n showDynamicFields,\n viewName,\n readonlyContextList: selectedValues,\n value,\n displayAs\n } = props;\n let { showRecords } = props;\n const ref = useRef({}).current;\n const cosmosTableRef = useRef();\n // List component context\n const [listContext, setListContext] = useState<any>({});\n const { meta } = listContext;\n const { current: uniqueId } = useRef(crypto.randomUUID());\n\n useInit({\n ...props,\n setListContext,\n ref,\n showDynamicFields,\n cosmosTableRef\n });\n\n useClearSelectionsAndUpdateTable({ getPConnect, uniqueId, viewName });\n\n const thePConn = getPConnect();\n const componentConfig = thePConn.getComponentConfig();\n const resolvedConfigProps: any = thePConn.getConfigProps() as ListViewProps;\n\n /** By default, pyGUID is used for Data classes and pyID is for Work classes as row-id/key */\n const defRowID = referenceType === 'Case' ? 'pyID' : 'pyGUID';\n\n /** If compositeKeys is defined, use dynamic value, else fallback to pyID or pyGUID. */\n const rowID = compositeKeys && compositeKeys?.length === 1 ? compositeKeys[0] : defRowID;\n\n const [arRows, setRows] = useState<any[]>([]);\n const [rowsData, setRowsData] = useState<any[]>([]);\n const [arColumns, setColumns] = useState<any[]>([]);\n const [response, setResponse] = useState<any[]>([]);\n\n const [order, setOrder] = useState<Order>('asc');\n const [orderBy, setOrderBy] = useState<keyof any>('');\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const [open, setOpen] = useState(false);\n\n const [showSnackbar, setShowSnackbar] = useState(false);\n const [snackbarMessage, setSnackbarMessage] = useState('');\n\n const [selectedValue, setSelectedValue] = useState(value);\n\n // This basically will hold the list of all current filters\n const filters = useRef({});\n\n // Will contain the list of columns specific for an instance\n const columnList: any = useRef([]);\n const filterPayload: any = useRef();\n // Will be sent in the dashboardFilterPayload\n let selectParam: any[] = [];\n\n // dataview parameters coming from the ListPage\n // This constant will also be used for parameters coming from from other components/utility functions in future\n const dataViewParameters = parameters;\n\n const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n width: '100%'\n },\n paper: {\n width: '100%',\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n display: 'grid',\n borderRadius: 16,\n padding: 20\n },\n table: {\n minWidth: 750\n },\n tableInForm: {\n minWidth: 750,\n maxHeight: 550,\n overflow: 'auto'\n },\n moreIcon: {\n verticalAlign: 'bottom'\n },\n filteredIcon: {\n verticalAlign: 'bottom'\n },\n cell: {\n whiteSpace: 'nowrap'\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1\n }\n })\n );\n\n const classes = useStyles();\n\n // Hook to clear the selections and update table in AdvancedSearch template when switching between search views\n function useClearSelectionsAndUpdateTable({ getPConnect, uniqueId, viewName }) {\n const clearSelectionsAndRefreshList = useCallback(\n ({ viewName: name, clearSelections }) => {\n if (name === viewName) {\n const { selectionMode } = getPConnect().getRawConfigProps();\n if (!selectionMode) {\n return;\n }\n if (clearSelections) {\n if (selectionMode === 'single') {\n getPConnect().getListActions().setSelectedRows({});\n } else {\n getPConnect().getListActions().clearSelectedRows();\n }\n }\n }\n },\n [getPConnect, viewName]\n );\n\n useEffect(() => {\n const identifier = `clear-and-update-advanced-search-selections-${uniqueId}`;\n PCore.getPubSubUtils().subscribe('update-advanced-search-selections', clearSelectionsAndRefreshList, identifier);\n\n return () => {\n PCore.getPubSubUtils().unsubscribe('update-advanced-search-selections', identifier);\n };\n }, [uniqueId, clearSelectionsAndRefreshList]);\n }\n\n const handleRequestSort = (event: React.MouseEvent<unknown>, property: keyof any) => {\n const isAsc = orderBy === property && order === 'asc';\n setOrder(isAsc ? 'desc' : 'asc');\n setOrderBy(property);\n };\n\n const createSortHandler = (property: keyof any) => (event: React.MouseEvent<unknown>) => {\n sortColumnId = property;\n handleRequestSort(event, property);\n };\n\n function descendingComparator<T>(a: T, b: T, orderedBy: keyof T) {\n if (!b[orderedBy] || b[orderedBy] < a[orderedBy]) {\n return -1;\n }\n if (!a[orderedBy] || b[orderedBy] > a[orderedBy]) {\n return 1;\n }\n return 0;\n }\n\n type Order = 'asc' | 'desc';\n\n interface Comparator<T> {\n (a: T, b: T): number;\n }\n\n function getComparator<T, Key extends keyof T>(theOrder: Order, orderedBy: Key): Comparator<T> {\n return theOrder === 'desc' ? (a: T, b: T) => descendingComparator(a, b, orderedBy) : (a: T, b: T) => -descendingComparator(a, b, orderedBy);\n }\n\n function stableSort<T>(array: T[], comparator: (a: T, b: T) => number) {\n const stabilizedThis = array.map((el, index) => [el, index] as [T, number]);\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) return order;\n return a[1] - b[1];\n });\n return stabilizedThis.map(el => el[0]);\n }\n\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(10);\n\n const handleChangePage = (event: unknown, newPage: number) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event: React.ChangeEvent<HTMLInputElement>) => {\n setRowsPerPage(+event.target.value);\n setPage(0);\n };\n\n const AssignDashObjects = ['Assign-Worklist', 'Assign-WorkBasket'];\n function getHeaderCells(colFields, fields) {\n return colFields.map((field: any, index) => {\n let theField = field.config.value.substring(field.config.value.indexOf(' ') + 1);\n if (theField.indexOf('.') === 0) {\n theField = theField.substring(1);\n }\n const colIndex = fields.findIndex(ele => ele.name === theField);\n // const displayAsLink = field.config.displayAsLink;\n const { additionalDetails = {} } = field.config;\n let shouldDisplayAsSemanticLink = additionalDetails.type === 'DISPLAY_LINK';\n // TODO: This \"if\" check has been added for backward compatibility, to be removed once the users are notified about the changes in view metadata of US-517164\n if (!shouldDisplayAsSemanticLink) {\n shouldDisplayAsSemanticLink = 'displayAsLink' in field.config && field.config.displayAsLink;\n }\n const headerRow: any = {};\n headerRow.id = fields[index].id;\n headerRow.type = field.type;\n headerRow.displayAsLink = shouldDisplayAsSemanticLink;\n headerRow.numeric = field.type === 'Decimal' || field.type === 'Integer' || field.type === 'Percentage' || field.type === 'Currency' || false;\n headerRow.disablePadding = false;\n headerRow.label = fields[index].label;\n if (colIndex > -1) {\n headerRow.classID = fields[colIndex].classID;\n }\n if (shouldDisplayAsSemanticLink) {\n headerRow.isAssignmentLink = AssignDashObjects.includes(headerRow.classID);\n if (field.config.value?.startsWith('@CA')) {\n headerRow.isAssociation = true;\n }\n }\n return headerRow;\n });\n }\n\n function getUsingData(arTableData): any[] {\n if (selectionMode === SELECTION_MODE.SINGLE || selectionMode === SELECTION_MODE.MULTI) {\n const record = arTableData?.length > 0 ? arTableData[0] : '';\n if (typeof record === 'object' && !('pyGUID' in record) && !('pyID' in record)) {\n console.error('pyGUID or pyID values are mandatory to select the required row from the list');\n }\n }\n return arTableData?.map((data: any) => {\n return data;\n });\n }\n\n /** Will return field from a filter expression */\n function getFieldFromFilter(filter, dateRange = false) {\n let fieldValue;\n if (dateRange) {\n fieldValue = filter?.AND[0]?.condition.lhs.field;\n } else {\n fieldValue = filter?.condition.lhs.field;\n }\n return fieldValue;\n }\n\n // Will be triggered when EVENT_DASHBOARD_FILTER_CHANGE fires\n function processFilterChange(data) {\n let filterId;\n let filterExpression;\n let isDateRange;\n let field;\n let dashboardFilterPayload: any = {\n query: {\n filter: {},\n select: []\n }\n };\n if (displayAs === 'advancedSearch') {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(data).reduce((acc, [item, value]) => {\n const { filterId, filterExpression } = value as any;\n filters.current[filterId] = filterExpression;\n return acc; // Ensure the accumulator is returned\n }, {});\n } else {\n ({ filterId, filterExpression } = data);\n filters.current[filterId] = filterExpression;\n isDateRange = data.filterExpression?.AND;\n field = getFieldFromFilter(filterExpression, isDateRange);\n selectParam = [];\n // Constructing the select parameters list (will be sent in dashboardFilterPayload)\n columnList.current.forEach(col => {\n selectParam.push({\n field: col\n });\n });\n\n // Checking if the triggered filter is applicable for this list\n if (data.filterExpression !== null && !(columnList.current?.length && columnList.current?.includes(field))) {\n return;\n }\n }\n // Will be AND by default but making it dynamic in case we support dynamic relational ops in future\n const relationalOp = 'AND';\n // This is a flag which will be used to reset dashboardFilterPayload in case we don't find any valid filters\n let validFilter = false;\n\n let index = 1;\n // Iterating over the current filters list to create filter data which will be POSTed\n for (const filterExp of Object.keys(filters.current)) {\n const filter = filters.current[filterExp];\n // If the filter is null then we can skip this iteration\n if (filter === null) {\n continue;\n }\n\n // Checking if the filter is of type- Date Range\n isDateRange = filter?.AND;\n field = getFieldFromFilter(filter, isDateRange);\n\n if (!(columnList.current.length && columnList.current.includes(field))) {\n continue;\n }\n // If we reach here that implies we've at least one valid filter, hence setting the flag\n validFilter = true;\n /** Below are the 2 cases for- Text & Date-Range filter types where we'll construct filter data which will be sent in the dashboardFilterPayload\n * In Constellation DX Components, through Repeating Structures they might be using several APIs to do it. We're doing it here\n */\n if (isDateRange) {\n const dateRelationalOp = filter?.AND ? 'AND' : 'OR';\n dashboardFilterPayload.query.filter.filterConditions = {\n ...dashboardFilterPayload.query.filter.filterConditions,\n [`T${index++}`]: { ...filter[relationalOp][0].condition },\n [`T${index++}`]: { ...filter[relationalOp][1].condition }\n };\n if (dashboardFilterPayload.query.filter.logic) {\n dashboardFilterPayload.query.filter.logic = `${dashboardFilterPayload.query.filter.logic} ${relationalOp} (T${\n index - 2\n } ${dateRelationalOp} T${index - 1})`;\n } else {\n dashboardFilterPayload.query.filter.logic = `(T${index - 2} ${relationalOp} T${index - 1})`;\n }\n\n dashboardFilterPayload.query.select = selectParam;\n } else {\n dashboardFilterPayload.query.filter.filterConditions = {\n ...dashboardFilterPayload.query.filter.filterConditions,\n [`T${index++}`]: { ...filter.condition, ...(filter.condition.comparator === 'CONTAINS' ? { ignoreCase: true } : {}) }\n };\n\n if (dashboardFilterPayload.query.filter.logic) {\n dashboardFilterPayload.query.filter.logic = `${dashboardFilterPayload.query.filter.logic} ${relationalOp} T${index - 1}`;\n } else {\n dashboardFilterPayload.query.filter.logic = `T${index - 1}`;\n }\n\n dashboardFilterPayload.query.select = selectParam;\n }\n }\n\n // Reset the dashboardFilterPayload if we end up with no valid filters for the list\n if (!validFilter) {\n dashboardFilterPayload = undefined;\n }\n filterPayload.current = dashboardFilterPayload;\n fetchDataFromServer();\n }\n\n // Will be triggered when EVENT_DASHBOARD_FILTER_CLEAR_ALL fires\n function processFilterClear() {\n filterPayload.current = undefined;\n fetchDataFromServer();\n }\n\n function fetchAllData(fields): any {\n if (displayAs === 'advancedSearch' && !showRecords) {\n return Promise.resolve({ data: null });\n }\n let query: any = null;\n if (payload) {\n query = payload.query;\n } else if (fields?.length && meta.isQueryable) {\n if (filterPayload.current) {\n query = {\n select: fields,\n filter: filterPayload.current?.query?.filter\n };\n } else {\n query = { select: fields };\n }\n } else if (filterPayload.current) {\n query = filterPayload.current?.query;\n }\n const context = getPConnect().getContextName();\n // getDataAsync isn't returning correct data for the Page(i.e. ListView within a page) case\n return !bInForm\n ? // @ts-ignore - 3rd parameter \"context\" should be optional in getData method\n PCore.getDataApiUtils().getData(referenceList, payload)\n : // @ts-ignore - Argument of type 'null' is not assignable to parameter of type 'object'\n PCore.getDataPageUtils().getDataAsync(referenceList, context, payload ? payload.dataViewParameters : dataViewParameters, null, query);\n }\n\n const buildSelect = (fieldDefs, colId, patchQueryFields = [], compositeKeys = []) => {\n const listFields: any = [];\n if (colId) {\n const field = getField(fieldDefs, colId);\n listFields.push({\n field: field.name\n });\n } else {\n // NOTE: If we ever decide to not set up all the `fieldDefs` on select, ensure that the fields\n // corresponding to `state.groups` are set up. Needed in Client-mode grouping/pagination.\n fieldDefs.forEach(field => {\n if (!listFields.find(f => f.field === field.name)) {\n listFields.push({\n field: field.name\n });\n }\n });\n patchQueryFields.forEach(k => {\n if (!listFields.find(f => f.field === k)) {\n listFields.push({\n field: k\n });\n }\n });\n }\n\n compositeKeys.forEach(k => {\n if (!listFields.find(f => f.field === k)) {\n listFields.push({\n field: k\n });\n }\n });\n return listFields;\n };\n\n const addItemKeyInSelect = (fieldDefs, itemKey, select, compositeKeys) => {\n const elementFound = getField(fieldDefs, itemKey);\n\n if (\n itemKey &&\n !elementFound &&\n Array.isArray(select) &&\n !(compositeKeys !== null && compositeKeys?.length) &&\n !select.find(sel => sel.field === itemKey)\n ) {\n return [\n ...select,\n {\n field: itemKey\n }\n ];\n }\n\n return select;\n };\n\n const getField = (fieldDefs, columnId) => {\n const fieldsMap = getFieldsMap(fieldDefs);\n return fieldsMap.get(columnId);\n };\n\n const getFieldsMap = fieldDefs => {\n const fieldsMap = new Map();\n fieldDefs.forEach(element => {\n fieldsMap.set(element.id, element);\n });\n return fieldsMap;\n };\n\n async function fetchDataFromServer() {\n let bCallSetRowsColumns = true;\n const { fieldDefs, itemKey, patchQueryFields } = meta;\n let listFields = fieldDefs ? buildSelect(fieldDefs, undefined, patchQueryFields, compositeKeys) : [];\n listFields = addItemKeyInSelect(fieldDefs, itemKey, listFields, compositeKeys);\n const workListJSON = await fetchAllData(listFields);\n\n // this is an unresovled version of this.fields$, need unresolved, so can get the property reference\n const columnFields = componentConfig.presets[0].children[0].children;\n\n const tableDataResults = !bInForm ? workListJSON.data.data : workListJSON.data;\n\n const myColumns = getHeaderCells(columnFields, fieldDefs);\n\n const selectParams: any = [];\n\n myColumns.forEach(column => {\n selectParams.push({\n field: column.id\n });\n });\n\n const colList: any = [];\n\n selectParams.forEach(col => {\n colList.push(col.field);\n });\n\n columnList.current = colList;\n\n setResponse(tableDataResults);\n\n const usingDataResults = getUsingData(tableDataResults);\n\n // store globally, so can be searched, filtered, etc.\n myRows = usingDataResults;\n\n setRowsData(myRows);\n // At this point, if we have data ready to render and haven't been asked\n // to NOT call setRows and setColumns, call them\n if (bCallSetRowsColumns) {\n setRows(myRows);\n setColumns(myColumns);\n }\n\n return () => {\n // Inspired by https://juliangaramendy.dev/blog/use-promise-subscription\n // The useEffect closure lets us have access to the bCallSetRowsColumns\n // variable inside the useEffect and inside the \"then\" clause of the\n // workListData promise\n // So, if this cleanup code gets run before the promise .then is called,\n // we can avoid calling the useState setters which would otherwise show a warning\n bCallSetRowsColumns = false;\n };\n }\n\n function prepareFilters(data) {\n return Object.entries(data.payload).reduce((acc, [field, value]) => {\n if (value) {\n let comparator = 'EQ';\n const filterRecord = listContext.meta.fieldDefs.filter(item => item.id === field);\n if (filterRecord?.[0]?.meta.type === 'TextInput') {\n comparator = 'CONTAINS';\n }\n acc[field] = {\n filterExpression: {\n condition: {\n lhs: {\n field\n },\n comparator,\n rhs: {\n value\n }\n }\n },\n filterId: field\n };\n }\n return acc;\n }, {});\n }\n\n useEffect(() => {\n if (listContext.meta) {\n const identifier = `promoted-filters-queryable-${uniqueId}`;\n fetchDataFromServer();\n setTimeout(() => {\n PCore.getPubSubUtils().subscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE,\n data => {\n processFilterChange(data);\n },\n `dashboard-component-${'id'}`,\n false,\n getPConnect().getContextName()\n );\n PCore.getPubSubUtils().subscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CLEAR_ALL,\n () => {\n filters.current = {};\n processFilterClear();\n },\n `dashboard-component-${'id'}`,\n false,\n getPConnect().getContextName()\n );\n PCore.getPubSubUtils().subscribe(\n PCore.getEvents().getTransientEvent().UPDATE_PROMOTED_FILTERS,\n data => {\n showRecords = data.showRecords;\n const filterData = prepareFilters(data);\n processFilterChange(filterData);\n },\n identifier\n );\n }, 0);\n\n return function cleanupSubscriptions() {\n PCore.getPubSubUtils().unsubscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE,\n `dashboard-component-${'id'}`,\n getPConnect().getContextName()\n );\n PCore.getPubSubUtils().unsubscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CLEAR_ALL,\n `dashboard-component-${'id'}`,\n getPConnect().getContextName()\n );\n PCore.getPubSubUtils().unsubscribe(PCore.getEvents().getTransientEvent().UPDATE_PROMOTED_FILTERS, identifier);\n };\n }\n }, [listContext]);\n\n function searchFilter(value: string, rows: any[]) {\n const cols = arColumns.map(ele => {\n return ele.id;\n });\n\n function filterArray(el: any): boolean {\n return Object.keys(el).some(key => {\n // only search columns that are displayed (pzInsKey and pxRefObjectClass are added and may or may not be displayed)\n if (cols.includes(key)) {\n const myVal = el[key];\n if (myVal !== null && typeof myVal !== 'undefined') {\n const strVal = String(myVal); // Ensure myVal is a string\n return strVal.toLowerCase().includes(value.toLowerCase());\n }\n }\n return false;\n });\n }\n\n rows = rows.filter(filterArray);\n\n return rows;\n }\n\n function _onSearch(event: any) {\n const searchValue = event.target.value;\n const filteredRows = searchFilter(searchValue, rowsData?.slice());\n\n setRows(filteredRows);\n }\n\n function showToast(message: string) {\n const theMessage = `Assignment: ${message}`;\n\n console.error(theMessage);\n setSnackbarMessage(message);\n setShowSnackbar(true);\n }\n\n function openAssignment(row) {\n const { pxRefObjectClass, pzInsKey } = row;\n const sTarget = thePConn.getContainerName();\n\n const options = { containerName: sTarget, channelName: '' };\n\n thePConn\n .getActionsApi()\n .openAssignment(pzInsKey, pxRefObjectClass, options)\n .then(() => {\n // console.log(\"openAssignment successful\");\n })\n .catch(() => {\n showToast(`openAssignment failed!`);\n });\n }\n\n // function _rowClick(row: any) {\n // // eslint-disable-next-line sonarjs/no-small-switch\n // switch (rowClickAction) {\n // case 'openAssignment':\n // openAssignment(row);\n // break;\n\n // default:\n // break;\n // }\n // }\n\n function openWork(row) {\n const { pxRefObjectKey } = row;\n const pxRefObjectClass = row.pxRefObjectClass || row.pxObjClass;\n if (pxRefObjectClass !== '' && pxRefObjectKey !== '') {\n thePConn.getActionsApi().openWorkByHandle(pxRefObjectKey, pxRefObjectClass);\n }\n }\n\n function handleSnackbarClose(event: React.SyntheticEvent<any> | Event, reason?: string) {\n if (reason === 'clickaway') {\n return;\n }\n setShowSnackbar(false);\n }\n\n function _menuClick(event, columnId: string, columnType: string, label: string) {\n menuColumnId = columnId;\n menuColumnType = columnType;\n menuColumnLabel = label;\n\n setAnchorEl(event.currentTarget);\n }\n\n function _menuClose() {\n setAnchorEl(null);\n }\n\n const [filterBy, setFilterBy] = useState<string>();\n const [containsDateOrTime, setContainsDateOrTime] = useState<boolean>(false);\n const [filterType, setFilterType] = useState<string>('string');\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [displayDialogFilterName, setDisplayDialogFilterName] = useState<string>('');\n const [displayDialogContainsFilter, setDisplayDialogContainsFilter] = useState<string>('contains');\n const [displayDialogContainsValue, setDisplayDialogContainsValue] = useState<string>('');\n const [displayDialogDateFilter, setDisplayDialogDateFilter] = useState<string>('notequal');\n const [displayDialogDateValue, setDisplayDialogDateValue] = useState<string>('');\n\n function _filterMenu() {\n setAnchorEl(null);\n\n let bFound = false;\n\n for (const filterObj of filterByColumns) {\n if (filterObj.ref === menuColumnId) {\n setFilterBy(menuColumnLabel);\n if (filterObj.type === 'Date' || filterObj.type === 'DateTime' || filterObj.type === 'Time') {\n setContainsDateOrTime(true);\n setFilterType(filterObj.type);\n setDisplayDialogDateFilter(filterObj.containsFilter);\n setDisplayDialogDateValue(filterObj.containsFilterValue);\n } else {\n setContainsDateOrTime(false);\n setFilterType('string');\n setDisplayDialogContainsFilter(filterObj.containsFilter);\n setDisplayDialogContainsValue(filterObj.containsFilterValue);\n }\n bFound = true;\n break;\n }\n }\n\n if (!bFound) {\n setFilterBy(menuColumnLabel);\n setDisplayDialogFilterName(menuColumnId);\n setDisplayDialogContainsValue('');\n\n switch (menuColumnType) {\n case 'Date':\n case 'DateTime':\n case 'Time':\n setContainsDateOrTime(true);\n setFilterType(menuColumnType);\n break;\n default:\n setContainsDateOrTime(false);\n setFilterType('string');\n break;\n }\n }\n\n // open dialog\n setOpen(true);\n }\n\n function _groupMenu() {\n setAnchorEl(null);\n }\n\n function _closeDialog() {\n setOpen(false);\n }\n\n function _showFilteredIcon(columnId) {\n for (const filterObj of filterByColumns) {\n if (filterObj.ref === columnId) {\n if (filterObj.containsFilterValue !== '') {\n return true;\n }\n return false;\n }\n }\n\n return false;\n }\n\n function updateFilterWithInfo() {\n let bFound = false;\n for (const filterObj of filterByColumns) {\n if (filterObj.ref === menuColumnId) {\n filterObj.type = filterType;\n if (containsDateOrTime) {\n filterObj.containsFilter = displayDialogDateFilter;\n filterObj.containsFilterValue = displayDialogDateValue;\n } else {\n filterObj.containsFilter = displayDialogContainsFilter;\n filterObj.containsFilterValue = displayDialogContainsValue;\n }\n bFound = true;\n break;\n }\n }\n\n if (!bFound) {\n // add in\n const filterObj: any = {};\n filterObj.ref = menuColumnId;\n filterObj.type = filterType;\n if (containsDateOrTime) {\n filterObj.containsFilter = displayDialogDateFilter;\n filterObj.containsFilterValue = displayDialogDateValue;\n } else {\n filterObj.containsFilter = displayDialogContainsFilter;\n filterObj.containsFilterValue = displayDialogContainsValue;\n }\n\n filterByColumns.push(filterObj);\n }\n }\n\n function filterSortGroupBy() {\n // get original data set\n let theData = myRows.slice();\n\n // last filter config data is global\n theData = theData.filter(filterData(filterByColumns));\n\n // move data to array and then sort\n setRows(theData);\n createSortHandler(sortColumnId);\n }\n\n function _dialogContainsFilter(event) {\n // dialogContainsFilter = event.target.value;\n setDisplayDialogContainsFilter(event.target.value);\n }\n\n function _dialogContainsValue(event) {\n // dialogContainsValue = event.target.value;\n setDisplayDialogContainsValue(event.target.value);\n }\n\n function _dialogDateFilter(event) {\n // dialogDateFilter = event.target.value;\n setDisplayDialogDateFilter(event.target.value);\n }\n\n function _dialogDateValue(event) {\n setDisplayDialogDateValue(event.target.value);\n }\n\n function _submitFilter() {\n updateFilterWithInfo();\n filterSortGroupBy();\n\n setOpen(false);\n }\n\n function _showButton(name, row) {\n let bReturn = false;\n const { pxRefObjectClass, pzInsKey, pxRefObjectKey } = row;\n switch (name) {\n case 'pxTaskLabel':\n if (pxRefObjectClass !== '' && pzInsKey !== '') {\n bReturn = true;\n }\n break;\n\n case 'pxRefObjectInsName':\n if (pxRefObjectClass !== '' && pxRefObjectKey !== '') {\n bReturn = true;\n }\n break;\n\n default:\n break;\n }\n\n return bReturn;\n }\n\n function _listViewClick(row, column) {\n const name = column.id;\n if (column.displayAsLink) {\n const { pxObjClass } = row;\n let { pzInsKey } = row;\n if (column.isAssociation) {\n const associationCategory = name.split(':')[0];\n pzInsKey = row[`${associationCategory}:pzInsKey`];\n }\n if (column.isAssignmentLink) {\n thePConn.getActionsApi().openAssignment(pzInsKey, pxObjClass, {\n containerName: 'primary',\n channelName: ''\n });\n } else {\n thePConn.getActionsApi().openWorkByHandle(pzInsKey, pxObjClass);\n }\n } else {\n switch (name) {\n case 'pxTaskLabel':\n openAssignment(row);\n break;\n\n case 'pxRefObjectInsName':\n openWork(row);\n break;\n\n default:\n break;\n }\n }\n }\n\n function _listTitle() {\n const defaultTitle = 'List';\n let title = resolvedConfigProps.title || resolvedConfigProps?.label || defaultTitle;\n const inheritedProps = resolvedConfigProps?.inheritedProps;\n\n // Let any title in resolvedConfigProps that isn't the default take precedence\n // but only look in inheritedProps if they exist\n if (title === defaultTitle && inheritedProps) {\n for (const inheritedProp of inheritedProps) {\n if (inheritedProp?.prop === 'label') {\n title = inheritedProp?.value;\n break;\n }\n }\n }\n\n return title;\n }\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n const reqObj = {};\n if (compositeKeys?.length > 1) {\n const index = response.findIndex(element => element[rowID] === value);\n const selectedRow = response[index];\n compositeKeys.forEach(element => {\n reqObj[element] = selectedRow[element];\n });\n } else {\n reqObj[rowID] = value;\n }\n getPConnect()?.getListActions?.()?.setSelectedRows([reqObj]);\n setSelectedValue(value);\n };\n\n const onCheckboxClick = event => {\n const value = event?.target?.value;\n const checked = event?.target?.checked;\n const reqObj: any = {};\n if (compositeKeys?.length > 1) {\n const index = response.findIndex(element => element[rowID] === value);\n const selectedRow = response[index];\n compositeKeys.forEach(element => {\n reqObj[element] = selectedRow[element];\n });\n reqObj.$selected = checked;\n } else {\n reqObj[rowID] = value;\n reqObj.$selected = checked;\n }\n getPConnect()?.getListActions()?.setSelectedRows([reqObj]);\n };\n\n const processColumnValue = (column, value) => {\n let val;\n const type = column.type;\n let theDateFormatInfo;\n let theFormat;\n let theCurrencyOptions;\n switch (type) {\n case 'Date':\n case 'DateTime':\n theDateFormatInfo = getDateFormatInfo();\n theFormat = type === 'DateTime' ? `${theDateFormatInfo.dateFormatStringLong} hh:mm a` : theDateFormatInfo.dateFormatStringLong;\n val = format(value, column.type, { format: theFormat });\n break;\n\n case 'Currency':\n theCurrencyOptions = getCurrencyOptions(PCore?.getEnvironmentInfo()?.getLocale() as string);\n val = format(value, column.type, theCurrencyOptions);\n break;\n\n default:\n val = column.format && typeof value === 'number' ? column.format(value) : value || '---';\n }\n return val;\n };\n\n return (\n <>\n {arColumns && arColumns.length > 0 && (\n <Paper className={classes.paper}>\n <Grid2 container justifyContent='space-between'>\n <Typography variant='h6' color='textPrimary' gutterBottom>\n {_listTitle()}\n </Typography>\n {globalSearch && (\n <Grid2 container spacing={1} alignItems='flex-end'>\n <Grid2>\n <SearchIcon />\n </Grid2>\n <Grid2>\n <TextField\n label={PCore.getLocaleUtils().getLocaleValue('Search', 'Search')}\n fullWidth\n variant='outlined'\n placeholder=''\n size='small'\n id='search'\n onChange={_onSearch}\n />\n </Grid2>\n </Grid2>\n )}\n </Grid2>\n {!bInForm ? (\n <TableContainer id='list-view' className={classes.tableInForm}>\n <Table stickyHeader aria-label='sticky table'>\n <TableHead>\n <TableRow>\n {arColumns.map(column => {\n return (\n <TableCell className={classes.cell} key={column.id} sortDirection={orderBy === column.id ? order : false}>\n <TableSortLabel\n active={orderBy === column.id}\n direction={orderBy === column.id ? order : 'asc'}\n onClick={createSortHandler(column.id)}\n >\n {column.label}\n {_showFilteredIcon(column.id) && <FilterListIcon className={classes.filteredIcon} />}\n {orderBy === column.id ? (\n <span className={classes.visuallyHidden}>{order === 'desc' ? 'sorted descending' : 'sorted ascending'}</span>\n ) : null}\n </TableSortLabel>\n <MoreIcon\n className={classes.moreIcon}\n onClick={event => {\n _menuClick(event, column.id, column.type, column.label);\n }}\n />\n </TableCell>\n );\n })}\n </TableRow>\n </TableHead>\n <TableBody>\n {arRows &&\n stableSort(arRows, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map(row => {\n return (\n <TableRow key={row.pxRefObjectInsName || row.pyID}>\n {arColumns.map(column => {\n const value = row[column.id];\n return (\n <TableCell key={column.id} align={column.align} className={classes.cell}>\n {_showButton(column.id, row) || column.displayAsLink ? (\n <Link\n component='button'\n onClick={() => {\n _listViewClick(row, column);\n }}\n underline='hover'\n >\n {column.format && typeof value === 'number' ? column.format(value) : value}\n </Link>\n ) : (\n <>{column.format && typeof value === 'number' ? column.format(value) : value || '---'}</>\n )}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n </TableContainer>\n ) : (\n <TableContainer id='list-view'>\n <Table>\n <TableHead>\n <TableRow>\n {(selectionMode === SELECTION_MODE.SINGLE || selectionMode === SELECTION_MODE.MULTI) && <TableCell />}\n {arColumns.map(column => {\n return (\n <TableCell className={classes.cell} key={column.id} sortDirection={orderBy === column.id ? order : false}>\n <TableSortLabel\n active={orderBy === column.id}\n direction={orderBy === column.id ? order : 'asc'}\n onClick={createSortHandler(column.id)}\n >\n {column.label}\n {orderBy === column.id ? (\n <span className={classes.visuallyHidden}>{order === 'desc' ? 'sorted descending' : 'sorted ascending'}</span>\n ) : null}\n </TableSortLabel>\n </TableCell>\n );\n })}\n </TableRow>\n </TableHead>\n <TableBody>\n {arRows &&\n arRows.length > 0 &&\n stableSort(arRows, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map(row => {\n return (\n <TableRow key={row[rowID]}>\n {selectionMode === SELECTION_MODE.SINGLE && (\n <TableCell>\n <Radio\n onChange={handleChange}\n value={row[rowID]}\n name='radio-buttons'\n inputProps={{ 'aria-label': 'A' }}\n checked={selectedValue === row[rowID]}\n />\n </TableCell>\n )}\n {selectionMode === SELECTION_MODE.MULTI && (\n <TableCell>\n <Checkbox\n onChange={onCheckboxClick}\n checked={selectedValues.some(selectedValue => selectedValue[rowID] === row[rowID])}\n value={row[rowID]}\n />\n </TableCell>\n )}\n {arColumns.map(column => {\n const value = row[column.id];\n return (\n <TableCell className={classes.cell} key={column.id} align={column.align}>\n {processColumnValue(column, value)}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n {(!arRows || arRows.length === 0) && (\n <div className='no-records'>{getGenericFieldsLocalizedValue('COSMOSFIELDS.lists', 'No records found.')}</div>\n )}\n </TableContainer>\n )}\n {arRows && arRows.length > 0 && (\n <TablePagination\n id='pagination'\n rowsPerPageOptions={[10, 25, 100]}\n component='div'\n count={arRows.length}\n rowsPerPage={rowsPerPage}\n page={page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n />\n )}\n </Paper>\n )}\n <Menu id='simple-menu' anchorEl={anchorEl} keepMounted open={Boolean(anchorEl)} onClose={_menuClose}>\n <MenuItem onClick={_filterMenu}>\n <FilterListIcon /> Filter\n </MenuItem>\n <MenuItem onClick={_groupMenu}>\n <SubjectIcon /> Group\n </MenuItem>\n </Menu>\n <Dialog open={open} onClose={_closeDialog} aria-labelledby='form-dialog-title'>\n <DialogTitle id='form-dialog-title'>Filter: {filterBy}</DialogTitle>\n <DialogContent>\n {containsDateOrTime ? (\n <>\n <Select variant='standard' value={displayDialogDateFilter} onChange={_dialogDateFilter} fullWidth>\n <MenuItem value='notequal'>is not equal to</MenuItem>\n <MenuItem value='after'>after</MenuItem>\n <MenuItem value='before'>before</MenuItem>\n <MenuItem value='null'>is null</MenuItem>\n <MenuItem value='notnull'>is not null</MenuItem>\n </Select>\n {filterType === 'Date' && (\n <TextField\n variant='standard'\n autoFocus\n margin='dense'\n id='containsFilter'\n type='date'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n {filterType === 'DateTime' && (\n <TextField\n variant='standard'\n autoFocus\n margin='dense'\n id='containsFilter'\n type='datetime-local'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n {filterType === 'Time' && (\n <TextField\n variant='standard'\n autoFocus\n margin='dense'\n id='containsFilter'\n type='time'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n </>\n ) : (\n <>\n <Select variant='standard' fullWidth onChange={_dialogContainsFilter} value={displayDialogContainsFilter}>\n <MenuItem value='contains'>Contains</MenuItem>\n <MenuItem value='equals'>Equals</MenuItem>\n <MenuItem value='startswith'>Starts with</MenuItem>\n </Select>\n <TextField\n variant='standard'\n autoFocus\n margin='dense'\n id='containsFilter'\n type='text'\n fullWidth\n value={displayDialogContainsValue}\n onChange={_dialogContainsValue}\n />\n </>\n )}\n </DialogContent>\n <DialogActions>\n <Button onClick={_closeDialog} color='secondary'>\n Cancel\n </Button>\n <Button onClick={_submitFilter} color='primary'>\n Submit\n </Button>\n </DialogActions>\n </Dialog>\n\n <Snackbar\n open={showSnackbar}\n autoHideDuration={3000}\n onClose={handleSnackbarClose}\n message={snackbarMessage}\n action={\n <IconButton size='small' aria-label='close' color='inherit' onClick={handleSnackbarClose}>\n <CloseIcon fontSize='small' />\n </IconButton>\n }\n />\n </>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ListView.js","sourceRoot":"","sources":["../../../../src/components/template/ListView/ListView.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useEffect, useRef, useCallback } from 'react';\nimport type { Theme } from '@mui/material/styles';\nimport createStyles from '@mui/styles/createStyles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Table from '@mui/material/Table';\nimport TableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableContainer from '@mui/material/TableContainer';\nimport TableHead from '@mui/material/TableHead';\nimport TablePagination from '@mui/material/TablePagination';\nimport TableRow from '@mui/material/TableRow';\nimport TableSortLabel from '@mui/material/TableSortLabel';\nimport Paper from '@mui/material/Paper';\nimport MoreIcon from '@mui/icons-material/MoreVert';\nimport FilterListIcon from '@mui/icons-material/FilterList';\nimport SubjectIcon from '@mui/icons-material/Subject';\nimport SearchIcon from '@mui/icons-material/Search';\nimport TextField from '@mui/material/TextField';\nimport Grid2 from '@mui/material/Grid2';\nimport Menu from '@mui/material/Menu';\nimport MenuItem from '@mui/material/MenuItem';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport Select from '@mui/material/Select';\nimport Button from '@mui/material/Button';\nimport Link from '@mui/material/Link';\nimport Typography from '@mui/material/Typography';\nimport Snackbar from '@mui/material/Snackbar';\nimport IconButton from '@mui/material/IconButton';\nimport CloseIcon from '@mui/icons-material/Close';\nimport { Radio } from '@mui/material';\nimport Checkbox from '@mui/material/Checkbox';\nimport { filterData } from '../../helpers/simpleTableHelpers';\n\nimport './ListView.css';\nimport { getDateFormatInfo } from '../../helpers/date-format-utils';\nimport { getCurrencyOptions } from '../../field/Currency/currency-utils';\nimport { getGenericFieldsLocalizedValue } from '../../helpers/common-utils';\nimport { format } from '../../helpers/formatters';\n\nimport useInit from './hooks';\nimport type { PConnProps } from '../../../types/PConnProps';\n\ninterface ListViewProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n bInForm?: boolean;\n globalSearch?: boolean;\n referenceList?: any[];\n // rowClickAction?: any;\n selectionMode?: string;\n referenceType?: string;\n payload?: any;\n parameters?: any;\n compositeKeys?: any;\n showDynamicFields?: boolean;\n readonlyContextList?: any;\n value: any;\n viewName?: string;\n showRecords?: boolean;\n displayAs?: string;\n localeReference?: string;\n}\n\nconst SELECTION_MODE = { SINGLE: 'single', MULTI: 'multi' };\n\nlet myRows: any[];\n\nlet menuColumnId = '';\nlet menuColumnType = '';\nlet menuColumnLabel = '';\n\nlet sortColumnId: any;\n\nconst filterByColumns: any[] = [];\n\nexport default function ListView(props: ListViewProps) {\n const { getPConnect, bInForm = true } = props;\n const {\n globalSearch,\n referenceList,\n /* rowClickAction, */\n selectionMode,\n referenceType,\n payload,\n parameters,\n compositeKeys,\n showDynamicFields,\n viewName,\n readonlyContextList: selectedValues,\n value,\n displayAs,\n localeReference\n } = props;\n let { showRecords } = props;\n const ref = useRef({}).current;\n const cosmosTableRef = useRef();\n // List component context\n const [listContext, setListContext] = useState<any>({});\n const { meta } = listContext;\n const { current: uniqueId } = useRef(crypto.randomUUID());\n\n useInit({\n ...props,\n setListContext,\n ref,\n showDynamicFields,\n cosmosTableRef\n });\n\n useClearSelectionsAndUpdateTable({ getPConnect, uniqueId, viewName });\n\n const thePConn = getPConnect();\n const componentConfig = thePConn.getComponentConfig();\n const resolvedConfigProps: any = thePConn.getConfigProps() as ListViewProps;\n\n /** By default, pyGUID is used for Data classes and pyID is for Work classes as row-id/key */\n const defRowID = referenceType === 'Case' ? 'pyID' : 'pyGUID';\n\n /** If compositeKeys is defined, use dynamic value, else fallback to pyID or pyGUID. */\n const rowID = compositeKeys && compositeKeys?.length === 1 ? compositeKeys[0] : defRowID;\n\n const [arRows, setRows] = useState<any[]>([]);\n const [rowsData, setRowsData] = useState<any[]>([]);\n const [arColumns, setColumns] = useState<any[]>([]);\n const [response, setResponse] = useState<any[]>([]);\n\n const [order, setOrder] = useState<Order>('asc');\n const [orderBy, setOrderBy] = useState<keyof any>('');\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const [open, setOpen] = useState(false);\n\n const [showSnackbar, setShowSnackbar] = useState(false);\n const [snackbarMessage, setSnackbarMessage] = useState('');\n\n const [selectedValue, setSelectedValue] = useState(value);\n\n // Tracks selected row keys for multi-select mode (mirrors Angular's SelectionModel)\n const [selectedRowSet, setSelectedRowSet] = useState<Set<string>>(new Set());\n\n // This basically will hold the list of all current filters\n const filters = useRef({});\n\n // Will contain the list of columns specific for an instance\n const columnList: any = useRef([]);\n const filterPayload: any = useRef();\n // Will be sent in the dashboardFilterPayload\n let selectParam: any[] = [];\n\n // dataview parameters coming from the ListPage\n // This constant will also be used for parameters coming from from other components/utility functions in future\n const dataViewParameters = parameters;\n\n const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n width: '100%'\n },\n paper: {\n width: '100%',\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n display: 'grid',\n borderRadius: 16,\n padding: 20\n },\n table: {\n minWidth: 750\n },\n tableInForm: {\n minWidth: 750,\n maxHeight: 550,\n overflow: 'auto'\n },\n moreIcon: {\n verticalAlign: 'bottom'\n },\n filteredIcon: {\n verticalAlign: 'bottom'\n },\n cell: {\n whiteSpace: 'nowrap'\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1\n }\n })\n );\n\n const classes = useStyles();\n\n // Hook to clear the selections and update table in AdvancedSearch template when switching between search views\n function useClearSelectionsAndUpdateTable({ getPConnect, uniqueId, viewName }) {\n const clearSelectionsAndRefreshList = useCallback(\n ({ viewName: name, clearSelections }) => {\n if (name === viewName) {\n const { selectionMode } = getPConnect().getRawConfigProps();\n if (!selectionMode) {\n return;\n }\n if (clearSelections) {\n if (selectionMode === 'single') {\n getPConnect().getListActions().setSelectedRows({});\n } else {\n getPConnect().getListActions().clearSelectedRows();\n setSelectedRowSet(new Set());\n }\n }\n }\n },\n [getPConnect, viewName]\n );\n\n useEffect(() => {\n const identifier = `clear-and-update-advanced-search-selections-${uniqueId}`;\n PCore.getPubSubUtils().subscribe('update-advanced-search-selections', clearSelectionsAndRefreshList, identifier);\n\n return () => {\n PCore.getPubSubUtils().unsubscribe('update-advanced-search-selections', identifier);\n };\n }, [uniqueId, clearSelectionsAndRefreshList]);\n }\n\n const handleRequestSort = (event: React.MouseEvent<unknown>, property: keyof any) => {\n const isAsc = orderBy === property && order === 'asc';\n setOrder(isAsc ? 'desc' : 'asc');\n setOrderBy(property);\n };\n\n const createSortHandler = (property: keyof any) => (event: React.MouseEvent<unknown>) => {\n sortColumnId = property;\n handleRequestSort(event, property);\n };\n\n function descendingComparator<T>(a: T, b: T, orderedBy: keyof T) {\n if (!b[orderedBy] || b[orderedBy] < a[orderedBy]) {\n return -1;\n }\n if (!a[orderedBy] || b[orderedBy] > a[orderedBy]) {\n return 1;\n }\n return 0;\n }\n\n type Order = 'asc' | 'desc';\n\n interface Comparator<T> {\n (a: T, b: T): number;\n }\n\n function getComparator<T, Key extends keyof T>(theOrder: Order, orderedBy: Key): Comparator<T> {\n return theOrder === 'desc' ? (a: T, b: T) => descendingComparator(a, b, orderedBy) : (a: T, b: T) => -descendingComparator(a, b, orderedBy);\n }\n\n function stableSort<T>(array: T[], comparator: (a: T, b: T) => number) {\n const stabilizedThis = array.map((el, index) => [el, index] as [T, number]);\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) return order;\n return a[1] - b[1];\n });\n return stabilizedThis.map(el => el[0]);\n }\n\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(10);\n\n const handleChangePage = (event: unknown, newPage: number) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event: React.ChangeEvent<HTMLInputElement>) => {\n setRowsPerPage(+event.target.value);\n setPage(0);\n };\n\n const AssignDashObjects = ['Assign-Worklist', 'Assign-WorkBasket'];\n function getHeaderCells(colFields, fields) {\n return colFields.map((field: any, index) => {\n let theField = field.config.value.substring(field.config.value.indexOf(' ') + 1);\n if (theField.indexOf('.') === 0) {\n theField = theField.substring(1);\n }\n const colIndex = fields.findIndex(ele => ele.name === theField);\n // const displayAsLink = field.config.displayAsLink;\n const { additionalDetails = {} } = field.config;\n let shouldDisplayAsSemanticLink = additionalDetails.type === 'DISPLAY_LINK';\n // TODO: This \"if\" check has been added for backward compatibility, to be removed once the users are notified about the changes in view metadata of US-517164\n if (!shouldDisplayAsSemanticLink) {\n shouldDisplayAsSemanticLink = 'displayAsLink' in field.config && field.config.displayAsLink;\n }\n const headerRow: any = {};\n headerRow.id = fields[index].id;\n headerRow.type = field.type;\n headerRow.displayAsLink = shouldDisplayAsSemanticLink;\n headerRow.numeric = field.type === 'Decimal' || field.type === 'Integer' || field.type === 'Percentage' || field.type === 'Currency' || false;\n headerRow.disablePadding = false;\n headerRow.label = fields[index].label;\n if (colIndex > -1) {\n headerRow.classID = fields[colIndex].classID;\n }\n if (shouldDisplayAsSemanticLink) {\n headerRow.isAssignmentLink = AssignDashObjects.includes(headerRow.classID);\n if (field.config.value?.startsWith('@CA')) {\n headerRow.isAssociation = true;\n }\n }\n return headerRow;\n });\n }\n\n function getUsingData(arTableData): any[] {\n if (selectionMode === SELECTION_MODE.SINGLE || selectionMode === SELECTION_MODE.MULTI) {\n const record = arTableData?.length > 0 ? arTableData[0] : '';\n if (typeof record === 'object' && !('pyGUID' in record) && !('pyID' in record)) {\n console.error('pyGUID or pyID values are mandatory to select the required row from the list');\n }\n }\n return arTableData?.map((data: any) => {\n return data;\n });\n }\n\n /** Will return field from a filter expression */\n function getFieldFromFilter(filter, dateRange = false) {\n let fieldValue;\n if (dateRange) {\n fieldValue = filter?.AND[0]?.condition.lhs.field;\n } else {\n fieldValue = filter?.condition.lhs.field;\n }\n return fieldValue;\n }\n\n // Will be triggered when EVENT_DASHBOARD_FILTER_CHANGE fires\n function processFilterChange(data) {\n let filterId;\n let filterExpression;\n let isDateRange;\n let field;\n let dashboardFilterPayload: any = {\n query: {\n filter: {},\n select: []\n }\n };\n if (displayAs === 'advancedSearch') {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(data).reduce((acc, [item, value]) => {\n const { filterId, filterExpression } = value as any;\n filters.current[filterId] = filterExpression;\n return acc; // Ensure the accumulator is returned\n }, {});\n } else {\n ({ filterId, filterExpression } = data);\n filters.current[filterId] = filterExpression;\n isDateRange = data.filterExpression?.AND;\n field = getFieldFromFilter(filterExpression, isDateRange);\n selectParam = [];\n // Constructing the select parameters list (will be sent in dashboardFilterPayload)\n columnList.current.forEach(col => {\n selectParam.push({\n field: col\n });\n });\n\n // Checking if the triggered filter is applicable for this list\n if (data.filterExpression !== null && !(columnList.current?.length && columnList.current?.includes(field))) {\n return;\n }\n }\n // Will be AND by default but making it dynamic in case we support dynamic relational ops in future\n const relationalOp = 'AND';\n // This is a flag which will be used to reset dashboardFilterPayload in case we don't find any valid filters\n let validFilter = false;\n\n let index = 1;\n // Iterating over the current filters list to create filter data which will be POSTed\n for (const filterExp of Object.keys(filters.current)) {\n const filter = filters.current[filterExp];\n // If the filter is null then we can skip this iteration\n if (filter === null) {\n continue;\n }\n\n // Checking if the filter is of type- Date Range\n isDateRange = filter?.AND;\n field = getFieldFromFilter(filter, isDateRange);\n\n if (!(columnList.current.length && columnList.current.includes(field))) {\n continue;\n }\n // If we reach here that implies we've at least one valid filter, hence setting the flag\n validFilter = true;\n /** Below are the 2 cases for- Text & Date-Range filter types where we'll construct filter data which will be sent in the dashboardFilterPayload\n * In Constellation DX Components, through Repeating Structures they might be using several APIs to do it. We're doing it here\n */\n if (isDateRange) {\n const dateRelationalOp = filter?.AND ? 'AND' : 'OR';\n dashboardFilterPayload.query.filter.filterConditions = {\n ...dashboardFilterPayload.query.filter.filterConditions,\n [`T${index++}`]: { ...filter[relationalOp][0].condition },\n [`T${index++}`]: { ...filter[relationalOp][1].condition }\n };\n if (dashboardFilterPayload.query.filter.logic) {\n dashboardFilterPayload.query.filter.logic = `${dashboardFilterPayload.query.filter.logic} ${relationalOp} (T${\n index - 2\n } ${dateRelationalOp} T${index - 1})`;\n } else {\n dashboardFilterPayload.query.filter.logic = `(T${index - 2} ${relationalOp} T${index - 1})`;\n }\n\n dashboardFilterPayload.query.select = selectParam;\n } else {\n dashboardFilterPayload.query.filter.filterConditions = {\n ...dashboardFilterPayload.query.filter.filterConditions,\n [`T${index++}`]: { ...filter.condition, ...(filter.condition.comparator === 'CONTAINS' ? { ignoreCase: true } : {}) }\n };\n\n if (dashboardFilterPayload.query.filter.logic) {\n dashboardFilterPayload.query.filter.logic = `${dashboardFilterPayload.query.filter.logic} ${relationalOp} T${index - 1}`;\n } else {\n dashboardFilterPayload.query.filter.logic = `T${index - 1}`;\n }\n\n dashboardFilterPayload.query.select = selectParam;\n }\n }\n\n // Reset the dashboardFilterPayload if we end up with no valid filters for the list\n if (!validFilter) {\n dashboardFilterPayload = undefined;\n }\n filterPayload.current = dashboardFilterPayload;\n fetchDataFromServer();\n }\n\n // Will be triggered when EVENT_DASHBOARD_FILTER_CLEAR_ALL fires\n function processFilterClear() {\n filterPayload.current = undefined;\n fetchDataFromServer();\n }\n\n function fetchAllData(fields): any {\n if (displayAs === 'advancedSearch' && !showRecords) {\n return Promise.resolve({ data: null });\n }\n let query: any = null;\n if (payload) {\n query = payload.query;\n } else if (fields?.length && meta.isQueryable) {\n if (filterPayload.current) {\n query = {\n select: fields,\n filter: filterPayload.current?.query?.filter\n };\n } else {\n query = { select: fields };\n }\n } else if (filterPayload.current) {\n query = filterPayload.current?.query;\n }\n const context = getPConnect().getContextName();\n // getDataAsync isn't returning correct data for the Page(i.e. ListView within a page) case\n return !bInForm\n ? // @ts-ignore - 3rd parameter \"context\" should be optional in getData method\n PCore.getDataApiUtils().getData(referenceList, payload)\n : // @ts-ignore - Argument of type 'null' is not assignable to parameter of type 'object'\n PCore.getDataPageUtils().getDataAsync(referenceList, context, payload ? payload.dataViewParameters : dataViewParameters, null, query);\n }\n\n const buildSelect = (fieldDefs, colId, patchQueryFields = [], compositeKeys = []) => {\n const listFields: any = [];\n if (colId) {\n const field = getField(fieldDefs, colId);\n listFields.push({\n field: field.name\n });\n } else {\n // NOTE: If we ever decide to not set up all the `fieldDefs` on select, ensure that the fields\n // corresponding to `state.groups` are set up. Needed in Client-mode grouping/pagination.\n fieldDefs.forEach(field => {\n if (!listFields.find(f => f.field === field.name)) {\n listFields.push({\n field: field.name\n });\n }\n });\n patchQueryFields.forEach(k => {\n if (!listFields.find(f => f.field === k)) {\n listFields.push({\n field: k\n });\n }\n });\n }\n\n compositeKeys.forEach(k => {\n if (!listFields.find(f => f.field === k)) {\n listFields.push({\n field: k\n });\n }\n });\n return listFields;\n };\n\n const addItemKeyInSelect = (fieldDefs, itemKey, select, compositeKeys) => {\n const elementFound = getField(fieldDefs, itemKey);\n\n if (\n itemKey &&\n !elementFound &&\n Array.isArray(select) &&\n !(compositeKeys !== null && compositeKeys?.length) &&\n !select.find(sel => sel.field === itemKey)\n ) {\n return [\n ...select,\n {\n field: itemKey\n }\n ];\n }\n\n return select;\n };\n\n const getField = (fieldDefs, columnId) => {\n const fieldsMap = getFieldsMap(fieldDefs);\n return fieldsMap.get(columnId);\n };\n\n const getFieldsMap = fieldDefs => {\n const fieldsMap = new Map();\n fieldDefs.forEach(element => {\n fieldsMap.set(element.id, element);\n });\n return fieldsMap;\n };\n\n async function fetchDataFromServer() {\n let bCallSetRowsColumns = true;\n const { fieldDefs, itemKey, patchQueryFields } = meta;\n let listFields = fieldDefs ? buildSelect(fieldDefs, undefined, patchQueryFields, compositeKeys) : [];\n listFields = addItemKeyInSelect(fieldDefs, itemKey, listFields, compositeKeys);\n const workListJSON = await fetchAllData(listFields);\n\n // this is an unresovled version of this.fields$, need unresolved, so can get the property reference\n const columnFields = componentConfig.presets[0].children[0].children;\n\n const tableDataResults = !bInForm ? workListJSON.data.data : workListJSON.data;\n\n const myColumns = getHeaderCells(columnFields, fieldDefs);\n\n const selectParams: any = [];\n\n myColumns.forEach(column => {\n column.label = PCore.getLocaleUtils().getLocaleValue(column.label, localeReference);\n selectParams.push({\n field: column.id\n });\n });\n\n const colList: any = [];\n\n selectParams.forEach(col => {\n colList.push(col.field);\n });\n\n columnList.current = colList;\n\n setResponse(tableDataResults);\n\n const usingDataResults = getUsingData(tableDataResults);\n\n // store globally, so can be searched, filtered, etc.\n myRows = usingDataResults;\n\n setRowsData(myRows);\n // At this point, if we have data ready to render and haven't been asked\n // to NOT call setRows and setColumns, call them\n if (bCallSetRowsColumns) {\n setRows(myRows);\n setColumns(myColumns);\n\n if (selectionMode === SELECTION_MODE.MULTI && selectedValues?.length > 0) {\n const readonlyIds = new Set<string>(selectedValues.map((element: any) => element[rowID]));\n const initialSet = new Set<string>();\n myRows?.forEach(row => {\n if (readonlyIds.has(row[rowID])) {\n initialSet.add(row[rowID]);\n }\n });\n setSelectedRowSet(initialSet);\n }\n }\n\n return () => {\n // Inspired by https://juliangaramendy.dev/blog/use-promise-subscription\n // The useEffect closure lets us have access to the bCallSetRowsColumns\n // variable inside the useEffect and inside the \"then\" clause of the\n // workListData promise\n // So, if this cleanup code gets run before the promise .then is called,\n // we can avoid calling the useState setters which would otherwise show a warning\n bCallSetRowsColumns = false;\n };\n }\n\n function prepareFilters(data) {\n return Object.entries(data.payload).reduce((acc, [field, value]) => {\n if (value) {\n let comparator = 'EQ';\n const filterRecord = listContext.meta.fieldDefs.filter(item => item.id === field);\n if (filterRecord?.[0]?.meta.type === 'TextInput') {\n comparator = 'CONTAINS';\n }\n acc[field] = {\n filterExpression: {\n condition: {\n lhs: {\n field\n },\n comparator,\n rhs: {\n value\n }\n }\n },\n filterId: field\n };\n }\n return acc;\n }, {});\n }\n\n useEffect(() => {\n if (listContext.meta) {\n const identifier = `promoted-filters-queryable-${uniqueId}`;\n fetchDataFromServer();\n setTimeout(() => {\n PCore.getPubSubUtils().subscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE,\n data => {\n processFilterChange(data);\n },\n `dashboard-component-${'id'}`,\n false,\n getPConnect().getContextName()\n );\n PCore.getPubSubUtils().subscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CLEAR_ALL,\n () => {\n filters.current = {};\n processFilterClear();\n },\n `dashboard-component-${'id'}`,\n false,\n getPConnect().getContextName()\n );\n PCore.getPubSubUtils().subscribe(\n PCore.getEvents().getTransientEvent().UPDATE_PROMOTED_FILTERS,\n data => {\n showRecords = data.showRecords;\n const filterData = prepareFilters(data);\n processFilterChange(filterData);\n },\n identifier\n );\n }, 0);\n\n return function cleanupSubscriptions() {\n PCore.getPubSubUtils().unsubscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE,\n `dashboard-component-${'id'}`,\n getPConnect().getContextName()\n );\n PCore.getPubSubUtils().unsubscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CLEAR_ALL,\n `dashboard-component-${'id'}`,\n getPConnect().getContextName()\n );\n PCore.getPubSubUtils().unsubscribe(PCore.getEvents().getTransientEvent().UPDATE_PROMOTED_FILTERS, identifier);\n };\n }\n }, [listContext]);\n\n function searchFilter(value: string, rows: any[]) {\n const cols = arColumns.map(ele => {\n return ele.id;\n });\n\n function filterArray(el: any): boolean {\n return Object.keys(el).some(key => {\n // only search columns that are displayed (pzInsKey and pxRefObjectClass are added and may or may not be displayed)\n if (cols.includes(key)) {\n const myVal = el[key];\n if (myVal !== null && typeof myVal !== 'undefined') {\n const strVal = String(myVal); // Ensure myVal is a string\n return strVal.toLowerCase().includes(value.toLowerCase());\n }\n }\n return false;\n });\n }\n\n rows = rows.filter(filterArray);\n\n return rows;\n }\n\n function _onSearch(event: any) {\n const searchValue = event.target.value;\n const filteredRows = searchFilter(searchValue, rowsData?.slice());\n\n setRows(filteredRows);\n }\n\n function showToast(message: string) {\n const theMessage = `Assignment: ${message}`;\n\n console.error(theMessage);\n setSnackbarMessage(message);\n setShowSnackbar(true);\n }\n\n function openAssignment(row) {\n const { pxRefObjectClass, pzInsKey } = row;\n const sTarget = thePConn.getContainerName();\n\n const options = { containerName: sTarget, channelName: '' };\n\n thePConn\n .getActionsApi()\n .openAssignment(pzInsKey, pxRefObjectClass, options)\n .then(() => {\n // console.log(\"openAssignment successful\");\n })\n .catch(() => {\n showToast(`openAssignment failed!`);\n });\n }\n\n // function _rowClick(row: any) {\n // // eslint-disable-next-line sonarjs/no-small-switch\n // switch (rowClickAction) {\n // case 'openAssignment':\n // openAssignment(row);\n // break;\n\n // default:\n // break;\n // }\n // }\n\n function openWork(row) {\n const { pxRefObjectKey } = row;\n const pxRefObjectClass = row.pxRefObjectClass || row.pxObjClass;\n if (pxRefObjectClass !== '' && pxRefObjectKey !== '') {\n thePConn.getActionsApi().openWorkByHandle(pxRefObjectKey, pxRefObjectClass);\n }\n }\n\n function handleSnackbarClose(event: React.SyntheticEvent<any> | Event, reason?: string) {\n if (reason === 'clickaway') {\n return;\n }\n setShowSnackbar(false);\n }\n\n function _menuClick(event, columnId: string, columnType: string, label: string) {\n menuColumnId = columnId;\n menuColumnType = columnType;\n menuColumnLabel = label;\n\n setAnchorEl(event.currentTarget);\n }\n\n function _menuClose() {\n setAnchorEl(null);\n }\n\n const [filterBy, setFilterBy] = useState<string>();\n const [containsDateOrTime, setContainsDateOrTime] = useState<boolean>(false);\n const [filterType, setFilterType] = useState<string>('string');\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [displayDialogFilterName, setDisplayDialogFilterName] = useState<string>('');\n const [displayDialogContainsFilter, setDisplayDialogContainsFilter] = useState<string>('contains');\n const [displayDialogContainsValue, setDisplayDialogContainsValue] = useState<string>('');\n const [displayDialogDateFilter, setDisplayDialogDateFilter] = useState<string>('notequal');\n const [displayDialogDateValue, setDisplayDialogDateValue] = useState<string>('');\n\n function _filterMenu() {\n setAnchorEl(null);\n\n let bFound = false;\n\n for (const filterObj of filterByColumns) {\n if (filterObj.ref === menuColumnId) {\n setFilterBy(menuColumnLabel);\n if (filterObj.type === 'Date' || filterObj.type === 'DateTime' || filterObj.type === 'Time') {\n setContainsDateOrTime(true);\n setFilterType(filterObj.type);\n setDisplayDialogDateFilter(filterObj.containsFilter);\n setDisplayDialogDateValue(filterObj.containsFilterValue);\n } else {\n setContainsDateOrTime(false);\n setFilterType('string');\n setDisplayDialogContainsFilter(filterObj.containsFilter);\n setDisplayDialogContainsValue(filterObj.containsFilterValue);\n }\n bFound = true;\n break;\n }\n }\n\n if (!bFound) {\n setFilterBy(menuColumnLabel);\n setDisplayDialogFilterName(menuColumnId);\n setDisplayDialogContainsValue('');\n\n switch (menuColumnType) {\n case 'Date':\n case 'DateTime':\n case 'Time':\n setContainsDateOrTime(true);\n setFilterType(menuColumnType);\n break;\n default:\n setContainsDateOrTime(false);\n setFilterType('string');\n break;\n }\n }\n\n // open dialog\n setOpen(true);\n }\n\n function _groupMenu() {\n setAnchorEl(null);\n }\n\n function _closeDialog() {\n setOpen(false);\n }\n\n function _showFilteredIcon(columnId) {\n for (const filterObj of filterByColumns) {\n if (filterObj.ref === columnId) {\n if (filterObj.containsFilterValue !== '') {\n return true;\n }\n return false;\n }\n }\n\n return false;\n }\n\n function updateFilterWithInfo() {\n let bFound = false;\n for (const filterObj of filterByColumns) {\n if (filterObj.ref === menuColumnId) {\n filterObj.type = filterType;\n if (containsDateOrTime) {\n filterObj.containsFilter = displayDialogDateFilter;\n filterObj.containsFilterValue = displayDialogDateValue;\n } else {\n filterObj.containsFilter = displayDialogContainsFilter;\n filterObj.containsFilterValue = displayDialogContainsValue;\n }\n bFound = true;\n break;\n }\n }\n\n if (!bFound) {\n // add in\n const filterObj: any = {};\n filterObj.ref = menuColumnId;\n filterObj.type = filterType;\n if (containsDateOrTime) {\n filterObj.containsFilter = displayDialogDateFilter;\n filterObj.containsFilterValue = displayDialogDateValue;\n } else {\n filterObj.containsFilter = displayDialogContainsFilter;\n filterObj.containsFilterValue = displayDialogContainsValue;\n }\n\n filterByColumns.push(filterObj);\n }\n }\n\n function filterSortGroupBy() {\n // get original data set\n let theData = myRows.slice();\n\n // last filter config data is global\n theData = theData.filter(filterData(filterByColumns));\n\n // move data to array and then sort\n setRows(theData);\n createSortHandler(sortColumnId);\n }\n\n function _dialogContainsFilter(event) {\n // dialogContainsFilter = event.target.value;\n setDisplayDialogContainsFilter(event.target.value);\n }\n\n function _dialogContainsValue(event) {\n // dialogContainsValue = event.target.value;\n setDisplayDialogContainsValue(event.target.value);\n }\n\n function _dialogDateFilter(event) {\n // dialogDateFilter = event.target.value;\n setDisplayDialogDateFilter(event.target.value);\n }\n\n function _dialogDateValue(event) {\n setDisplayDialogDateValue(event.target.value);\n }\n\n function _submitFilter() {\n updateFilterWithInfo();\n filterSortGroupBy();\n\n setOpen(false);\n }\n\n function _showButton(name, row) {\n let bReturn = false;\n const { pxRefObjectClass, pzInsKey, pxRefObjectKey } = row;\n switch (name) {\n case 'pxTaskLabel':\n if (pxRefObjectClass !== '' && pzInsKey !== '') {\n bReturn = true;\n }\n break;\n\n case 'pxRefObjectInsName':\n if (pxRefObjectClass !== '' && pxRefObjectKey !== '') {\n bReturn = true;\n }\n break;\n\n default:\n break;\n }\n\n return bReturn;\n }\n\n function _listViewClick(row, column) {\n const name = column.id;\n if (column.displayAsLink) {\n const { pxObjClass } = row;\n let { pzInsKey } = row;\n if (column.isAssociation) {\n const associationCategory = name.split(':')[0];\n pzInsKey = row[`${associationCategory}:pzInsKey`];\n }\n if (column.isAssignmentLink) {\n thePConn.getActionsApi().openAssignment(pzInsKey, pxObjClass, {\n containerName: 'primary',\n channelName: ''\n });\n } else {\n thePConn.getActionsApi().openWorkByHandle(pzInsKey, pxObjClass);\n }\n } else {\n switch (name) {\n case 'pxTaskLabel':\n openAssignment(row);\n break;\n\n case 'pxRefObjectInsName':\n openWork(row);\n break;\n\n default:\n break;\n }\n }\n }\n\n function _listTitle() {\n const defaultTitle = 'List';\n let title = resolvedConfigProps.title || resolvedConfigProps?.label || defaultTitle;\n const inheritedProps = resolvedConfigProps?.inheritedProps;\n\n // Let any title in resolvedConfigProps that isn't the default take precedence\n // but only look in inheritedProps if they exist\n if (title === defaultTitle && inheritedProps) {\n for (const inheritedProp of inheritedProps) {\n if (inheritedProp?.prop === 'label') {\n title = inheritedProp?.value;\n break;\n }\n }\n }\n\n return title;\n }\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n const reqObj = {};\n if (compositeKeys?.length > 1) {\n const index = response.findIndex(element => element[rowID] === value);\n const selectedRow = response[index];\n compositeKeys.forEach(element => {\n reqObj[element] = selectedRow[element];\n });\n } else {\n reqObj[rowID] = value;\n }\n getPConnect()?.getListActions?.()?.setSelectedRows([reqObj]);\n setSelectedValue(value);\n };\n\n const getSelectedValue = (row: any, checked: boolean) => {\n const rowValue = row[rowID];\n const reqObj: any = {};\n if (compositeKeys?.length > 1) {\n const index = response.findIndex(element => element[rowID] === rowValue);\n const selectedRow = response[index];\n compositeKeys.forEach(element => {\n reqObj[element] = selectedRow[element];\n });\n reqObj.$selected = checked;\n } else {\n reqObj[rowID] = rowValue;\n reqObj.$selected = checked;\n }\n return reqObj;\n };\n\n const onCheckboxClick = (row: any) => {\n const rowKey = row[rowID];\n const newSet = new Set(selectedRowSet);\n if (newSet.has(rowKey)) {\n newSet.delete(rowKey);\n } else {\n newSet.add(rowKey);\n }\n setSelectedRowSet(newSet);\n const checked = newSet.has(rowKey);\n const requiredValue = getSelectedValue(row, checked);\n getPConnect()?.getListActions()?.setSelectedRows([requiredValue]);\n };\n\n const isAllSelected = (): boolean => {\n const numSelected = selectedRowSet.size;\n const numRows = arRows?.length || 0;\n return numRows > 0 && numSelected === numRows;\n };\n\n const toggleAllRows = () => {\n if (isAllSelected()) {\n setSelectedRowSet(new Set());\n getPConnect()?.getListActions()?.clearSelectedRows();\n return;\n }\n if (selectedRowSet.size > 0 && !isAllSelected()) {\n getPConnect()?.getListActions()?.clearSelectedRows();\n }\n const newSet = new Set<string>();\n arRows.forEach(row => newSet.add(row[rowID]));\n setSelectedRowSet(newSet);\n const requiredValues = arRows.map(row => getSelectedValue(row, true));\n getPConnect()?.getListActions()?.setSelectedRows(requiredValues);\n };\n\n const processColumnValue = (column, value) => {\n let val;\n const type = column.type;\n let theDateFormatInfo;\n let theFormat;\n let theCurrencyOptions;\n switch (type) {\n case 'Date':\n case 'DateTime':\n theDateFormatInfo = getDateFormatInfo();\n theFormat = type === 'DateTime' ? `${theDateFormatInfo.dateFormatStringLong} hh:mm a` : theDateFormatInfo.dateFormatStringLong;\n val = format(value, column.type, { format: theFormat });\n break;\n\n case 'Currency':\n theCurrencyOptions = getCurrencyOptions(PCore?.getEnvironmentInfo()?.getLocale() as string);\n val = format(value, column.type, theCurrencyOptions);\n break;\n\n default:\n val = column.format && typeof value === 'number' ? column.format(value) : value || '---';\n }\n return val;\n };\n\n return (\n <>\n {arColumns && arColumns.length > 0 && (\n <Paper className={classes.paper}>\n <Grid2 container justifyContent='space-between'>\n <Typography variant='h6' color='textPrimary' gutterBottom>\n {_listTitle()}\n </Typography>\n {globalSearch && (\n <Grid2 container spacing={1} alignItems='flex-end'>\n <Grid2>\n <SearchIcon />\n </Grid2>\n <Grid2>\n <TextField\n label={PCore.getLocaleUtils().getLocaleValue('Search', 'Search')}\n fullWidth\n variant='outlined'\n placeholder=''\n size='small'\n id='search'\n onChange={_onSearch}\n />\n </Grid2>\n </Grid2>\n )}\n </Grid2>\n {!bInForm ? (\n <TableContainer id='list-view' className={classes.tableInForm}>\n <Table stickyHeader aria-label='sticky table'>\n <TableHead>\n <TableRow>\n {arColumns.map(column => {\n return (\n <TableCell className={classes.cell} key={column.id} sortDirection={orderBy === column.id ? order : false}>\n <TableSortLabel\n active={orderBy === column.id}\n direction={orderBy === column.id ? order : 'asc'}\n onClick={createSortHandler(column.id)}\n >\n {column.label}\n {_showFilteredIcon(column.id) && <FilterListIcon className={classes.filteredIcon} />}\n {orderBy === column.id ? (\n <span className={classes.visuallyHidden}>{order === 'desc' ? 'sorted descending' : 'sorted ascending'}</span>\n ) : null}\n </TableSortLabel>\n <MoreIcon\n className={classes.moreIcon}\n onClick={event => {\n _menuClick(event, column.id, column.type, column.label);\n }}\n />\n </TableCell>\n );\n })}\n </TableRow>\n </TableHead>\n <TableBody>\n {arRows &&\n stableSort(arRows, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map(row => {\n return (\n <TableRow key={row.pxRefObjectInsName || row.pyID}>\n {arColumns.map(column => {\n const value = row[column.id];\n return (\n <TableCell key={column.id} align={column.align} className={classes.cell}>\n {_showButton(column.id, row) || column.displayAsLink ? (\n <Link\n component='button'\n onClick={() => {\n _listViewClick(row, column);\n }}\n underline='hover'\n >\n {column.format && typeof value === 'number' ? column.format(value) : value}\n </Link>\n ) : (\n <>{column.format && typeof value === 'number' ? column.format(value) : value || '---'}</>\n )}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n </TableContainer>\n ) : (\n <TableContainer id='list-view'>\n <Table>\n <TableHead>\n <TableRow>\n {selectionMode === SELECTION_MODE.SINGLE && <TableCell padding='checkbox' />}\n {selectionMode === SELECTION_MODE.MULTI && (\n <TableCell padding='checkbox'>\n <Checkbox\n indeterminate={selectedRowSet.size > 0 && !isAllSelected()}\n checked={arRows?.length > 0 && isAllSelected()}\n onChange={toggleAllRows}\n />\n </TableCell>\n )}\n {arColumns.map(column => {\n return (\n <TableCell className={classes.cell} key={column.id} sortDirection={orderBy === column.id ? order : false}>\n <TableSortLabel\n active={orderBy === column.id}\n direction={orderBy === column.id ? order : 'asc'}\n onClick={createSortHandler(column.id)}\n >\n {column.label}\n {orderBy === column.id ? (\n <span className={classes.visuallyHidden}>{order === 'desc' ? 'sorted descending' : 'sorted ascending'}</span>\n ) : null}\n </TableSortLabel>\n </TableCell>\n );\n })}\n </TableRow>\n </TableHead>\n <TableBody>\n {arRows &&\n arRows.length > 0 &&\n stableSort(arRows, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map(row => {\n return (\n <TableRow key={row[rowID]}>\n {selectionMode === SELECTION_MODE.SINGLE && (\n <TableCell padding='checkbox'>\n <Radio\n onChange={handleChange}\n value={row[rowID]}\n name='radio-buttons'\n inputProps={{ 'aria-label': 'A' }}\n checked={selectedValue === row[rowID]}\n />\n </TableCell>\n )}\n {selectionMode === SELECTION_MODE.MULTI && (\n <TableCell padding='checkbox'>\n <Checkbox onChange={() => onCheckboxClick(row)} checked={selectedRowSet.has(row[rowID])} />\n </TableCell>\n )}\n {arColumns.map(column => {\n const value = row[column.id];\n return (\n <TableCell className={classes.cell} key={column.id} align={column.align}>\n {processColumnValue(column, value)}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n {(!arRows || arRows.length === 0) && (\n <div className='no-records'>{getGenericFieldsLocalizedValue('COSMOSFIELDS.lists', 'No records found.')}</div>\n )}\n </TableContainer>\n )}\n {arRows && arRows.length > 0 && (\n <TablePagination\n id='pagination'\n rowsPerPageOptions={[10, 25, 100]}\n component='div'\n count={arRows.length}\n rowsPerPage={rowsPerPage}\n page={page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n />\n )}\n </Paper>\n )}\n <Menu id='simple-menu' anchorEl={anchorEl} keepMounted open={Boolean(anchorEl)} onClose={_menuClose}>\n <MenuItem onClick={_filterMenu}>\n <FilterListIcon /> Filter\n </MenuItem>\n <MenuItem onClick={_groupMenu}>\n <SubjectIcon /> Group\n </MenuItem>\n </Menu>\n <Dialog open={open} onClose={_closeDialog} aria-labelledby='form-dialog-title'>\n <DialogTitle id='form-dialog-title'>Filter: {filterBy}</DialogTitle>\n <DialogContent>\n {containsDateOrTime ? (\n <>\n <Select variant='standard' value={displayDialogDateFilter} onChange={_dialogDateFilter} fullWidth>\n <MenuItem value='notequal'>is not equal to</MenuItem>\n <MenuItem value='after'>after</MenuItem>\n <MenuItem value='before'>before</MenuItem>\n <MenuItem value='null'>is null</MenuItem>\n <MenuItem value='notnull'>is not null</MenuItem>\n </Select>\n {filterType === 'Date' && (\n <TextField\n variant='standard'\n autoFocus\n margin='dense'\n id='containsFilter'\n type='date'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n {filterType === 'DateTime' && (\n <TextField\n variant='standard'\n autoFocus\n margin='dense'\n id='containsFilter'\n type='datetime-local'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n {filterType === 'Time' && (\n <TextField\n variant='standard'\n autoFocus\n margin='dense'\n id='containsFilter'\n type='time'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n </>\n ) : (\n <>\n <Select variant='standard' fullWidth onChange={_dialogContainsFilter} value={displayDialogContainsFilter}>\n <MenuItem value='contains'>Contains</MenuItem>\n <MenuItem value='equals'>Equals</MenuItem>\n <MenuItem value='startswith'>Starts with</MenuItem>\n </Select>\n <TextField\n variant='standard'\n autoFocus\n margin='dense'\n id='containsFilter'\n type='text'\n fullWidth\n value={displayDialogContainsValue}\n onChange={_dialogContainsValue}\n />\n </>\n )}\n </DialogContent>\n <DialogActions>\n <Button onClick={_closeDialog} color='secondary'>\n Cancel\n </Button>\n <Button onClick={_submitFilter} color='primary'>\n Submit\n </Button>\n </DialogActions>\n </Dialog>\n\n <Snackbar\n open={showSnackbar}\n autoHideDuration={3000}\n onClose={handleSnackbarClose}\n message={snackbarMessage}\n action={\n <IconButton size='small' aria-label='close' color='inherit' onClick={handleSnackbarClose}>\n <CloseIcon fontSize='small' />\n </IconButton>\n }\n />\n </>\n );\n}\n"]}
|
|
@@ -6,7 +6,9 @@ interface MultiReferenceReadOnlyProps extends PConnProps {
|
|
|
6
6
|
};
|
|
7
7
|
label: string;
|
|
8
8
|
hideLabel: boolean;
|
|
9
|
+
displayMode?: any;
|
|
10
|
+
displayAs?: any;
|
|
9
11
|
}
|
|
10
|
-
export default function MultiReferenceReadOnly(props: MultiReferenceReadOnlyProps):
|
|
12
|
+
export default function MultiReferenceReadOnly(props: MultiReferenceReadOnlyProps): any;
|
|
11
13
|
export {};
|
|
12
14
|
//# sourceMappingURL=MultiReferenceReadOnly.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiReferenceReadOnly.d.ts","sourceRoot":"","sources":["../../../../src/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,UAAU,2BAA4B,SAAQ,UAAU;IACtD,MAAM,EAAE;QAAE,aAAa,EAAE,GAAG,CAAC;QAAC,mBAAmB,EAAE,GAAG,CAAA;KAAE,CAAC;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"MultiReferenceReadOnly.d.ts","sourceRoot":"","sources":["../../../../src/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,UAAU,2BAA4B,SAAQ,UAAU;IACtD,MAAM,EAAE;QAAE,aAAa,EAAE,GAAG,CAAC;QAAC,mBAAmB,EAAE,GAAG,CAAA;KAAE,CAAC;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,SAAS,CAAC,EAAE,GAAG,CAAC;CACjB;AAED,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,OAyChF"}
|
|
@@ -1,7 +1,19 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
export default function MultiReferenceReadOnly(props) {
|
|
3
|
-
const { getPConnect, label = '', hideLabel = false, config } = props;
|
|
3
|
+
const { getPConnect, label = '', hideLabel = false, config, displayMode, displayAs } = props;
|
|
4
4
|
const { referenceList, readonlyContextList } = config;
|
|
5
|
+
if (['readonlyMulti', 'combobox', 'checkboxgroup'].includes(displayAs)) {
|
|
6
|
+
return getPConnect().createComponent({
|
|
7
|
+
type: 'SimpleTableSelectReadonly',
|
|
8
|
+
config: {
|
|
9
|
+
...config,
|
|
10
|
+
displayMode,
|
|
11
|
+
label,
|
|
12
|
+
hideLabel,
|
|
13
|
+
displayAs
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
}
|
|
5
17
|
// When referenceList does not contain selected values, it should be replaced with readonlyContextList while calling SimpleTableManual
|
|
6
18
|
let readonlyContextObject;
|
|
7
19
|
if (!PCore.getAnnotationUtils().isProperty(referenceList)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiReferenceReadOnly.js","sourceRoot":"","sources":["../../../../src/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"MultiReferenceReadOnly.js","sourceRoot":"","sources":["../../../../src/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx"],"names":[],"mappings":";AAUA,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,KAAkC;IAC/E,MAAM,EAAE,WAAW,EAAE,KAAK,GAAG,EAAE,EAAE,SAAS,GAAG,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC7F,MAAM,EAAE,aAAa,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAAC;IAEtD,IAAI,CAAC,eAAe,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACvE,OAAO,WAAW,EAAE,CAAC,eAAe,CAAC;YACnC,IAAI,EAAE,2BAA2B;YACjC,MAAM,EAAE;gBACN,GAAG,MAAM;gBACT,WAAW;gBACX,KAAK;gBACL,SAAS;gBACT,SAAS;aACV;SACK,CAAC,CAAC;IACZ,CAAC;IAED,sIAAsI;IACtI,IAAI,qBAAqB,CAAC;IAC1B,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1D,qBAAqB,GAAG;YACtB,aAAa,EAAE,mBAAmB;SACnC,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,WAAW,EAAE,CAAC,eAAe,CAC7C;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE;YACN,GAAG,MAAM;YACT,GAAG,qBAAqB;YACxB,KAAK;YACL,SAAS;SACV;KACF,EACD,EAAE,EACF,CAAC,EACD,EAAE,CACH,CAAC,CAAC,6FAA6F;IAEhG,OAAO,4BAAG,SAAS,GAAI,CAAC;AAC1B,CAAC","sourcesContent":["import type { PConnProps } from '../../../types/PConnProps';\n\ninterface MultiReferenceReadOnlyProps extends PConnProps {\n config: { referenceList: any; readonlyContextList: any };\n label: string;\n hideLabel: boolean;\n displayMode?: any;\n displayAs?: any;\n}\n\nexport default function MultiReferenceReadOnly(props: MultiReferenceReadOnlyProps) {\n const { getPConnect, label = '', hideLabel = false, config, displayMode, displayAs } = props;\n const { referenceList, readonlyContextList } = config;\n\n if (['readonlyMulti', 'combobox', 'checkboxgroup'].includes(displayAs)) {\n return getPConnect().createComponent({\n type: 'SimpleTableSelectReadonly',\n config: {\n ...config,\n displayMode,\n label,\n hideLabel,\n displayAs\n }\n } as any);\n }\n\n // When referenceList does not contain selected values, it should be replaced with readonlyContextList while calling SimpleTableManual\n let readonlyContextObject;\n if (!PCore.getAnnotationUtils().isProperty(referenceList)) {\n readonlyContextObject = {\n referenceList: readonlyContextList\n };\n }\n\n const component = getPConnect().createComponent(\n {\n type: 'SimpleTable',\n config: {\n ...config,\n ...readonlyContextObject,\n label,\n hideLabel\n }\n },\n '',\n 0,\n {}\n ); // 2nd, 3rd, and 4th args empty string/object/null until typedef marked correctly as optional\n\n return <>{component}</>;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/template/ObjectPage/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/template/ObjectPage/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC","sourcesContent":["export { default } from '../CaseView';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelfServiceCaseView.d.ts","sourceRoot":"","sources":["../../../../src/components/template/SelfServiceCaseView/SelfServiceCaseView.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SelfServiceCaseView.d.ts","sourceRoot":"","sources":["../../../../src/components/template/SelfServiceCaseView/SelfServiceCaseView.tsx"],"names":[],"mappings":"AA2CA,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,KAAK,KAAA,2CA6GhD"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Avatar, Card, CardHeader, Divider, Typography } from '@mui/material';
|
|
3
3
|
import makeStyles from '@mui/styles/makeStyles';
|
|
4
|
-
import Grid2 from '@mui/material/Grid2';
|
|
5
4
|
import { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';
|
|
6
5
|
import { prepareCaseSummaryData, filterUtilities } from '../utils';
|
|
7
6
|
import { Utils } from '../../helpers/utils';
|
|
@@ -29,6 +28,16 @@ const useStyles = makeStyles(theme => ({
|
|
|
29
28
|
},
|
|
30
29
|
caseViewIconImage: {
|
|
31
30
|
filter: 'var(--svg-color)'
|
|
31
|
+
},
|
|
32
|
+
selfServiceCaseViewHeader: {
|
|
33
|
+
margin: '10px 8px 0px 8px',
|
|
34
|
+
height: '50px',
|
|
35
|
+
display: 'flex',
|
|
36
|
+
justifyContent: 'space-between',
|
|
37
|
+
alignItems: 'center',
|
|
38
|
+
backgroundColor: theme.palette.primary.light,
|
|
39
|
+
color: theme.palette.getContrastText(theme.palette.primary.light),
|
|
40
|
+
padding: '0 8px'
|
|
32
41
|
}
|
|
33
42
|
}));
|
|
34
43
|
export default function SelfServiceCaseView(props) {
|
|
@@ -68,6 +77,8 @@ export default function SelfServiceCaseView(props) {
|
|
|
68
77
|
}
|
|
69
78
|
return false;
|
|
70
79
|
};
|
|
71
|
-
|
|
80
|
+
const showSummary = bShowSummaryRegion && (primarySummaryFields.length > 0 || secondarySummaryFields.length > 0);
|
|
81
|
+
const showUtilities = bShowUtilitiesRegion && isUtilitiesRegionNotEmpty();
|
|
82
|
+
return (_jsxs("div", { children: [_jsxs("div", { className: classes.selfServiceCaseViewHeader, children: [_jsx("div", { children: PCore.getLocaleUtils().getLocaleValue(header, '', localeKey) }), bShowCaseActions && (_jsx(CaseViewActionsMenu, { getPConnect: getPConnect, availableActions: availableActions, availableProcesses: availableProcesses, caseTypeName: caseTypeName, caseTypeID: caseTypeID }))] }), _jsxs("div", { style: { display: 'flex', flexDirection: 'row' }, children: [showSummary && (_jsx("div", { style: { flex: '0 0 25%' }, children: _jsxs(Card, { className: classes.root, children: [_jsx(CardHeader, { className: classes.caseViewHeader, title: _jsx(Typography, { variant: 'h6', component: 'div', id: 'case-name', children: PCore.getLocaleUtils().getLocaleValue(header, '', localeKey) }), subheader: _jsx(Typography, { variant: 'body1', component: 'div', id: 'caseId', children: subheader }), avatar: _jsx(Avatar, { className: classes.caseViewIconBox, variant: 'square', children: _jsx("img", { src: svgCase, className: classes.caseViewIconImage }) }) }), _jsx(Divider, {}), _jsx(CaseSummary, { arPrimaryFields: primarySummaryFields, arSecondaryFields: secondarySummaryFields }), _jsx(Divider, {})] }) })), _jsxs("div", { style: { flex: 1 }, children: [bShowCaseLifecycle && renderedRegions.stages, renderedRegions.todo] }), showUtilities && _jsx("div", { style: { flex: '0 0 25%' }, children: renderedRegions.utilities })] })] }));
|
|
72
83
|
}
|
|
73
84
|
//# sourceMappingURL=SelfServiceCaseView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelfServiceCaseView.js","sourceRoot":"","sources":["../../../../src/components/template/SelfServiceCaseView/SelfServiceCaseView.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Avatar, Card, CardHeader, Divider, Typography } from '@mui/material';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Grid2 from '@mui/material/Grid2';\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport { prepareCaseSummaryData, filterUtilities } from '../utils';\nimport { Utils } from '../../helpers/utils';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n paddingRight: theme.spacing(1),\n paddingLeft: theme.spacing(1),\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1),\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n caseViewHeader: {\n backgroundColor: theme.palette.info.light,\n color: theme.palette.getContrastText(theme.palette.info.light),\n borderRadius: 'inherit'\n },\n caseViewIconBox: {\n backgroundColor: theme.palette.info.dark,\n width: theme.spacing(8),\n height: theme.spacing(8),\n padding: theme.spacing(1)\n },\n caseViewIconImage: {\n filter: 'var(--svg-color)'\n }\n}));\n\nexport default function SelfServiceCaseView(props) {\n const classes = useStyles();\n const CaseViewActionsMenu = getComponentFromMap('CaseViewActionsMenu');\n const CaseSummary = getComponentFromMap('CaseSummary');\n const {\n icon = '',\n getPConnect,\n header,\n subheader,\n showCaseLifecycle = true,\n showSummaryRegion = true,\n showUtilitiesRegion = true,\n showCaseActions = true,\n children,\n caseClass,\n caseInfo: { availableActions = [], availableProcesses = [], caseTypeID = '', caseTypeName = '' }\n } = props;\n const pConnect = getPConnect();\n const [bShowCaseLifecycle, bShowSummaryRegion, bShowUtilitiesRegion, bShowCaseActions] = [\n showCaseLifecycle,\n showSummaryRegion,\n showUtilitiesRegion,\n showCaseActions\n ].map((prop: boolean | string) => prop === true || prop === 'true');\n const isObjectType: boolean = (PCore.getCaseUtils() as any).isObjectCaseType(caseClass);\n const localeKey = pConnect?.getCaseLocaleReference();\n const svgCase = Utils.getImageSrc(icon, Utils.getSDKStaticConentUrl());\n const renderedRegions: any = isObjectType\n ? {\n caseSummary: children[0],\n utilities: filterUtilities(children[2])\n }\n : {\n caseSummary: children[0],\n stages: children[1],\n todo: children[2],\n utilities: filterUtilities(children[4])\n };\n const { primarySummaryFields, secondarySummaryFields } = prepareCaseSummaryData(\n renderedRegions.caseSummary,\n (config: any) => config?.availableInChannel?.selfService === true\n );\n\n const isUtilitiesRegionNotEmpty: () => boolean = () => {\n const utilitiesElement = renderedRegions.utilities;\n if (utilitiesElement?.props?.getPConnect()?.getChildren()?.length > 0) {\n return utilitiesElement.props\n .getPConnect()\n .getChildren()\n .some((prop: { getPConnect: () => any }) => prop.getPConnect().getConfigProps().visibility !== false);\n }\n return false;\n };\n\n return (\n <div>\n {bShowCaseActions && (\n <div style={{ display: 'flex', justifyContent: 'space-around', alignItems: 'center', margin: '10px' }}>\n <div>{PCore.getLocaleUtils().getLocaleValue(header, '', localeKey)}</div>\n <CaseViewActionsMenu\n getPConnect={getPConnect}\n availableActions={availableActions}\n availableProcesses={availableProcesses}\n caseTypeName={caseTypeName}\n caseTypeID={caseTypeID}\n />\n </div>\n )}\n <div>\n <Grid2 container>\n <Grid2 size={{ xs: 3 }}>\n {bShowSummaryRegion && (primarySummaryFields.length > 0 || secondarySummaryFields.length > 0) && (\n <div>\n <Card className={classes.root}>\n <CardHeader\n className={classes.caseViewHeader}\n title={\n <Typography variant='h6' component='div' id='case-name'>\n {PCore.getLocaleUtils().getLocaleValue(header, '', localeKey)}\n </Typography>\n }\n subheader={\n <Typography variant='body1' component='div' id='caseId'>\n {subheader}\n </Typography>\n }\n avatar={\n <Avatar className={classes.caseViewIconBox} variant='square'>\n <img src={svgCase} className={classes.caseViewIconImage} />\n </Avatar>\n }\n />\n <Divider />\n <CaseSummary arPrimaryFields={primarySummaryFields} arSecondaryFields={secondarySummaryFields}></CaseSummary>\n <Divider />\n </Card>\n </div>\n )}\n </Grid2>\n\n <Grid2 size={{ xs: 6 }}>\n {bShowCaseLifecycle && renderedRegions.stages}\n {renderedRegions.todo}\n </Grid2>\n\n {bShowUtilitiesRegion && isUtilitiesRegionNotEmpty() && <Grid2 size={{ xs: 3 }}>{renderedRegions.utilities}</Grid2>}\n </Grid2>\n </div>\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SelfServiceCaseView.js","sourceRoot":"","sources":["../../../../src/components/template/SelfServiceCaseView/SelfServiceCaseView.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Avatar, Card, CardHeader, Divider, Typography } from '@mui/material';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport { prepareCaseSummaryData, filterUtilities } from '../utils';\nimport { Utils } from '../../helpers/utils';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n paddingRight: theme.spacing(1),\n paddingLeft: theme.spacing(1),\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1),\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n caseViewHeader: {\n backgroundColor: theme.palette.info.light,\n color: theme.palette.getContrastText(theme.palette.info.light),\n borderRadius: 'inherit'\n },\n caseViewIconBox: {\n backgroundColor: theme.palette.info.dark,\n width: theme.spacing(8),\n height: theme.spacing(8),\n padding: theme.spacing(1)\n },\n caseViewIconImage: {\n filter: 'var(--svg-color)'\n },\n selfServiceCaseViewHeader: {\n margin: '10px 8px 0px 8px',\n height: '50px',\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n backgroundColor: theme.palette.primary.light,\n color: theme.palette.getContrastText(theme.palette.primary.light),\n padding: '0 8px'\n }\n}));\n\nexport default function SelfServiceCaseView(props) {\n const classes = useStyles();\n const CaseViewActionsMenu = getComponentFromMap('CaseViewActionsMenu');\n const CaseSummary = getComponentFromMap('CaseSummary');\n const {\n icon = '',\n getPConnect,\n header,\n subheader,\n showCaseLifecycle = true,\n showSummaryRegion = true,\n showUtilitiesRegion = true,\n showCaseActions = true,\n children,\n caseClass,\n caseInfo: { availableActions = [], availableProcesses = [], caseTypeID = '', caseTypeName = '' }\n } = props;\n const pConnect = getPConnect();\n const [bShowCaseLifecycle, bShowSummaryRegion, bShowUtilitiesRegion, bShowCaseActions] = [\n showCaseLifecycle,\n showSummaryRegion,\n showUtilitiesRegion,\n showCaseActions\n ].map((prop: boolean | string) => prop === true || prop === 'true');\n const isObjectType: boolean = (PCore.getCaseUtils() as any).isObjectCaseType(caseClass);\n const localeKey = pConnect?.getCaseLocaleReference();\n const svgCase = Utils.getImageSrc(icon, Utils.getSDKStaticConentUrl());\n const renderedRegions: any = isObjectType\n ? {\n caseSummary: children[0],\n utilities: filterUtilities(children[2])\n }\n : {\n caseSummary: children[0],\n stages: children[1],\n todo: children[2],\n utilities: filterUtilities(children[4])\n };\n const { primarySummaryFields, secondarySummaryFields } = prepareCaseSummaryData(\n renderedRegions.caseSummary,\n (config: any) => config?.availableInChannel?.selfService === true\n );\n\n const isUtilitiesRegionNotEmpty: () => boolean = () => {\n const utilitiesElement = renderedRegions.utilities;\n if (utilitiesElement?.props?.getPConnect()?.getChildren()?.length > 0) {\n return utilitiesElement.props\n .getPConnect()\n .getChildren()\n .some((prop: { getPConnect: () => any }) => prop.getPConnect().getConfigProps().visibility !== false);\n }\n return false;\n };\n\n const showSummary = bShowSummaryRegion && (primarySummaryFields.length > 0 || secondarySummaryFields.length > 0);\n const showUtilities = bShowUtilitiesRegion && isUtilitiesRegionNotEmpty();\n\n return (\n <div>\n <div className={classes.selfServiceCaseViewHeader}>\n <div>{PCore.getLocaleUtils().getLocaleValue(header, '', localeKey)}</div>\n {bShowCaseActions && (\n <CaseViewActionsMenu\n getPConnect={getPConnect}\n availableActions={availableActions}\n availableProcesses={availableProcesses}\n caseTypeName={caseTypeName}\n caseTypeID={caseTypeID}\n />\n )}\n </div>\n <div style={{ display: 'flex', flexDirection: 'row' }}>\n {showSummary && (\n <div style={{ flex: '0 0 25%' }}>\n <Card className={classes.root}>\n <CardHeader\n className={classes.caseViewHeader}\n title={\n <Typography variant='h6' component='div' id='case-name'>\n {PCore.getLocaleUtils().getLocaleValue(header, '', localeKey)}\n </Typography>\n }\n subheader={\n <Typography variant='body1' component='div' id='caseId'>\n {subheader}\n </Typography>\n }\n avatar={\n <Avatar className={classes.caseViewIconBox} variant='square'>\n <img src={svgCase} className={classes.caseViewIconImage} />\n </Avatar>\n }\n />\n <Divider />\n <CaseSummary arPrimaryFields={primarySummaryFields} arSecondaryFields={secondarySummaryFields}></CaseSummary>\n <Divider />\n </Card>\n </div>\n )}\n\n <div style={{ flex: 1 }}>\n {bShowCaseLifecycle && renderedRegions.stages}\n {renderedRegions.todo}\n </div>\n\n {showUtilities && <div style={{ flex: '0 0 25%' }}>{renderedRegions.utilities}</div>}\n </div>\n </div>\n );\n}\n"]}
|