@@ -38,14 +45,29 @@ const FilterComponent = ({ filterText, onFilter, onClear, filterlist, onFilterPr
- onFilterPreset('')}>Clear Filter
+ {
+ onFilterPreset('')
+ onFilterGraph('')
+ }}
+ >
+ Clear Filter
+
{filterlist &&
filterlist.map((item, idx) => {
- return (
- onFilterPreset(item.filter)}>
- {item.filterName}
-
- )
+ if (item.hasOwnProperty('graphFilter') && item.graphFilter == true) {
+ return (
+ onFilterGraph(item.filter)}>
+ {item.filterName}
+
+ )
+ } else {
+ return (
+ onFilterPreset(item.filter)}>
+ {item.filterName}
+
+ )
+ }
})}
@@ -69,6 +91,7 @@ FilterComponent.propTypes = {
onClear: PropTypes.func,
filterlist: PropTypes.arrayOf(PropTypes.object),
onFilterPreset: PropTypes.func,
+ onFilterGraph: PropTypes.func,
}
const customSort = (rows, selector, direction) => {
@@ -99,6 +122,7 @@ export default function CippTable({
error,
reportName,
refreshFunction = null,
+ graphFilterFunction = null,
columns = [],
dynamicColumns = true,
filterlist,
@@ -142,6 +166,16 @@ export default function CippTable({
const filteredItems = data.filter(
(item) => JSON.stringify(item).toLowerCase().indexOf(filterText.toLowerCase()) !== -1,
)
+ const applyFilter = (e) => {
+ setFilterText(e.target.value)
+ }
+
+ const setGraphFilter = (e) => {
+ if (graphFilterFunction) {
+ graphFilterFunction(e)
+ }
+ }
+
useEffect(() => {
if (columns !== updatedColumns) {
setUpdatedColumns(columns)
@@ -400,7 +434,14 @@ export default function CippTable({
setFilterText(e.target.value)}
- onFilterPreset={(e) => setFilterText(e)}
+ onFilterPreset={(e) => {
+ setFilterText(e)
+ setGraphFilter('')
+ }}
+ onFilterGraph={(e) => {
+ setFilterText('')
+ setGraphFilter(e)
+ }}
onClear={handleClear}
filterText={filterText}
filterlist={filterlist}
diff --git a/src/views/identity/administration/Users.js b/src/views/identity/administration/Users.js
index ca19f07ef253..d2e845b0641c 100644
--- a/src/views/identity/administration/Users.js
+++ b/src/views/identity/administration/Users.js
@@ -313,6 +313,11 @@ const Users = (row) => {
{ filterName: 'Guest users', filter: '"usertype":"guest"' },
{ filterName: 'Users with a license', filter: '"assignedLicenses":[{' },
{ filterName: 'Users without a license', filter: '"assignedLicenses":[]' },
+ {
+ filterName: 'Users with a license (Graph)',
+ filter: 'assignedLicenses/$count ne 0',
+ graphFilter: true,
+ },
],
columns,
path: '/api/ListUsers',