Skip to content

Commit

Permalink
Fixed status drop down initial display
Browse files Browse the repository at this point in the history
  • Loading branch information
JawHawk committed Feb 28, 2024
1 parent b49c8d6 commit 47cd777
Showing 1 changed file with 17 additions and 3 deletions.
20 changes: 17 additions & 3 deletions benchexec/tablegenerator/react-table/src/components/ReactTable.js
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,9 @@ const createRelevantFilterLabel = ({

const Table = (props) => {
const [isFixed, setIsFixed] = useState(true);
const [filteredColumnValues, setFilteredColumnValues] = useState({});
const [filteredColumnValues, setFilteredColumnValues] = useState(
getNewFilteredColumnValues(),
);
const [columnsResizeValues, setColumnsResizeValues] = useState({});
const [disableTaskText, setDisableTaskText] = useState(false);
const history = useHistory();
Expand Down Expand Up @@ -619,8 +621,8 @@ const Table = (props) => {
}
}, [columnResizing, columnsResizeValues]);

// get selected status and category values
useEffect(() => {
// Convert the props.filters array into Filtered Column Values object
function getNewFilteredColumnValues() {
const newFilteredColumnValues = {};
for (const filter of props.filters) {
const { value, values, id } = filter;
Expand All @@ -645,13 +647,25 @@ const Table = (props) => {

newFilteredColumnValues[runset] = currentRunsetFilters;
}
return newFilteredColumnValues;
}

// get selected status and category values
useEffect(() => {
let newFilteredColumnValues = getNewFilteredColumnValues();
if (!deepEqual(newFilteredColumnValues, filteredColumnValues)) {
setFilteredColumnValues(newFilteredColumnValues);
}
// Set current page to new last page if current page is not legit any more after filtering
if (pageIndex >= pageCount) {
gotoPage(pageCount - 1);
}

// react-hooks/exhaustive-deps shows that getNewFilteredColumnValues to be included in the dependency array.
// But useEffect functionality is not dependent on getNewFilteredColumnValues as it never changes.
// So react-hooks/exhaustive-deps can be ignored here.

// eslint-disable-next-line react-hooks/exhaustive-deps
}, [props.filters, filteredColumnValues, gotoPage, pageIndex, pageCount]);

// Update table relevant parameters after URL change
Expand Down

0 comments on commit 47cd777

Please sign in to comment.