bf988bc6d Élimination de 43 vulnérabilités npm : react-scripts→Vite, ESLint 9, nettoyage des dépendances, corrections de bugs
3685edd6c mise à niveau vers react 18 wip
bbd81edc3 es-lint, nouvelles versions js.
f61b44dab correction de l'ouverture avancée du popper au clic
14dd20970 correction de la sélection des filtres magiques
bf988bc6d
Élimination de 43 vulnérabilités npm : react-scripts→Vite, ESLint 9, nettoyage des dépendances, corrections de bugs
bf988bc6d14252863c2a7a54c409c947fb9feb7b
diff --git a/projectforge-webapp/src/containers/page/list/searchFilter/magicFilter/FilterListEntry.jsx b/projectforge-webapp/src/containers/page/list/searchFilter/magicFilter/FilterListEntry.jsx
index dd0c4df6a..eaef49cad 100644
--- a/projectforge-webapp/src/containers/page/list/searchFilter/magicFilter/FilterListEntry.jsx
+++ b/projectforge-webapp/src/containers/page/list/searchFilter/magicFilter/FilterListEntry.jsx
@@ -1,7 +1,7 @@
import classNames from 'classnames';
import PropTypes from 'prop-types';
import React from 'react';
-import { connect } from 'react-redux';
+import { useSelector, useDispatch } from 'react-redux';
import { addFilter } from '../../../../../actions/list/filter';
import styles from '../../ListPage.module.scss';
@@ -10,10 +10,15 @@ function FilterListEntry(
id,
label,
afterSelect,
- onFilterAdd,
- isSelected,
},
) {
+ const isSelected = useSelector((state) => {
+ const listState = state.list;
+ return listState.categories[listState.currentCategory].filter.entries
+ .filter(({ field }) => field === id).length !== 0;
+ });
+ const dispatch = useDispatch();
+ const onFilterAdd = (filterId) => dispatch(addFilter(filterId));
const handleSelect = () => {
if (isSelected) {
return;
@@ -40,17 +45,6 @@ FilterListEntry.propTypes = {
id: PropTypes.string.isRequired,
label: PropTypes.string.isRequired,
afterSelect: PropTypes.func.isRequired,
- onFilterAdd: PropTypes.func.isRequired,
- isSelected: PropTypes.bool.isRequired,
};
-const mapStateToProps = ({ list }, { id }) => ({
- isSelected: list.categories[list.currentCategory].filter.entries
- .filter(({ field }) => field === id).length !== 0,
-});
-
-const actions = (dispatch) => ({
- onFilterAdd: (filterId) => dispatch(addFilter(filterId)),
-});
-
-export default connect(mapStateToProps, actions)(FilterListEntry);
+export default FilterListEntry;
3685edd6c
mise à niveau vers react 18 wip
3685edd6c9f0dfd4582dbeb01c05491c254ccb84
diff --git a/projectforge-webapp/src/containers/page/list/searchFilter/magicFilter/FilterListEntry.jsx b/projectforge-webapp/src/containers/page/list/searchFilter/magicFilter/FilterListEntry.jsx
index 083dbcb3c..dd0c4df6a 100644
--- a/projectforge-webapp/src/containers/page/list/searchFilter/magicFilter/FilterListEntry.jsx
+++ b/projectforge-webapp/src/containers/page/list/searchFilter/magicFilter/FilterListEntry.jsx
@@ -44,8 +44,6 @@ FilterListEntry.propTypes = {
isSelected: PropTypes.bool.isRequired,
};
-FilterListEntry.defaultProps = {};
-
const mapStateToProps = ({ list }, { id }) => ({
isSelected: list.categories[list.currentCategory].filter.entries
.filter(({ field }) => field === id).length !== 0,
bbd81edc3
es-lint, nouvelles versions js.
bbd81edc3f6b2fd975756421148651d4d75eaf33
diff --git a/projectforge-webapp/src/containers/page/list/searchFilter/magicFilter/FilterListEntry.jsx b/projectforge-webapp/src/containers/page/list/searchFilter/magicFilter/FilterListEntry.jsx
index 40c06a10b..083dbcb3c 100644
--- a/projectforge-webapp/src/containers/page/list/searchFilter/magicFilter/FilterListEntry.jsx
+++ b/projectforge-webapp/src/containers/page/list/searchFilter/magicFilter/FilterListEntry.jsx
@@ -51,8 +51,8 @@ const mapStateToProps = ({ list }, { id }) => ({
.filter(({ field }) => field === id).length !== 0,
});
-const actions = dispatch => ({
- onFilterAdd: filterId => dispatch(addFilter(filterId)),
+const actions = (dispatch) => ({
+ onFilterAdd: (filterId) => dispatch(addFilter(filterId)),
});
export default connect(mapStateToProps, actions)(FilterListEntry);
f61b44dab
correction de l'ouverture avancée du popper au clic
f61b44daba7f1cd26fca31f1c51518b4b5d094f6
diff --git a/projectforge-webapp/src/containers/page/list/searchFilter/magicFilter/FilterListEntry.jsx b/projectforge-webapp/src/containers/page/list/searchFilter/magicFilter/FilterListEntry.jsx
index 2f6c7d2d4..40c06a10b 100644
--- a/projectforge-webapp/src/containers/page/list/searchFilter/magicFilter/FilterListEntry.jsx
+++ b/projectforge-webapp/src/containers/page/list/searchFilter/magicFilter/FilterListEntry.jsx
@@ -14,14 +14,13 @@ function FilterListEntry(
isSelected,
},
) {
- const handleSelect = (event) => {
+ const handleSelect = () => {
if (isSelected) {
return;
}
onFilterAdd(id);
afterSelect();
- event.stopPropagation();
};
return (
14dd20970
correction de la sélection des filtres magiques
14dd2097028d615d52d80b0ed8f284fb254c8e51
diff --git a/projectforge-webapp/src/containers/page/list/searchFilter/magicFilter/FilterListEntry.jsx b/projectforge-webapp/src/containers/page/list/searchFilter/magicFilter/FilterListEntry.jsx
index d7fb0c974..2f6c7d2d4 100644
--- a/projectforge-webapp/src/containers/page/list/searchFilter/magicFilter/FilterListEntry.jsx
+++ b/projectforge-webapp/src/containers/page/list/searchFilter/magicFilter/FilterListEntry.jsx
@@ -14,14 +14,14 @@ function FilterListEntry(
isSelected,
},
) {
- const handleSelect = () => {
+ const handleSelect = (event) => {
if (isSelected) {
return;
}
onFilterAdd(id);
-
afterSelect();
+ event.stopPropagation();
};
return (