diff --git a/eslint.config.mjs b/eslint.config.mjs
index 49900e7db..4832efcab 100644
--- a/eslint.config.mjs
+++ b/eslint.config.mjs
@@ -18,14 +18,14 @@ const compat = new FlatCompat({
export default [
{
- ignores: ['**/dist', '**/node_modules/'],
+ ignores: ['**/dist', '**/*.mjs', '**/node_modules/'],
},
...fixupConfigRules(
compat.extends(
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:@typescript-eslint/stylistic',
- 'plugin:react/recommended',
+ // 'plugin:react/recommended',
'plugin:react-hooks/recommended',
),
),
@@ -38,25 +38,17 @@ export default [
languageOptions: {
globals: {
...globals.browser,
- ...globals.amd,
- ...globals.node,
},
parser: tsParser,
- ecmaVersion: 'latest',
- sourceType: 'module',
+ // ecmaVersion: 'latest',
+ // sourceType: 'module',
- parserOptions: {
- ecmaFeatures: {
- jsx: true,
- },
- },
- },
-
- settings: {
- react: {
- version: 'detect',
- },
+ // parserOptions: {
+ // ecmaFeatures: {
+ // jsx: true,
+ // },
+ // },
},
rules: {
diff --git a/package-lock.json b/package-lock.json
index 9819195cf..228f592d8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -84,7 +84,6 @@
"use-debounce": "10.0.1"
},
"devDependencies": {
- "@babel/eslint-parser": "7.24.8",
"@babel/preset-react": "7.24.7",
"@emotion/babel-plugin": "11.11.0",
"@eslint/compat": "1.1.0",
@@ -231,24 +230,6 @@
"url": "https://opencollective.com/babel"
}
},
- "node_modules/@babel/eslint-parser": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.24.8.tgz",
- "integrity": "sha512-nYAikI4XTGokU2QX7Jx+v4rxZKhKivaQaREZjuW3mrJrbdWJ5yUfohnoUULge+zEEaKjPYNxhoRgUKktjXtbwA==",
- "dev": true,
- "dependencies": {
- "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1",
- "eslint-visitor-keys": "^2.1.0",
- "semver": "^6.3.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || >=14.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.11.0",
- "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0"
- }
- },
"node_modules/@babel/generator": {
"version": "7.24.7",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz",
@@ -3409,15 +3390,6 @@
}
}
},
- "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": {
- "version": "5.1.1-v1",
- "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz",
- "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==",
- "dev": true,
- "dependencies": {
- "eslint-scope": "5.1.1"
- }
- },
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -8621,37 +8593,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/eslint-scope": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
- "dev": true,
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/eslint-scope/node_modules/estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "dev": true,
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/eslint-visitor-keys": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
- "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/eslint/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
diff --git a/package.json b/package.json
index 12949edd4..d84b004a8 100644
--- a/package.json
+++ b/package.json
@@ -94,7 +94,6 @@
"use-debounce": "10.0.1"
},
"devDependencies": {
- "@babel/eslint-parser": "7.24.8",
"@babel/preset-react": "7.24.7",
"@emotion/babel-plugin": "11.11.0",
"@eslint/compat": "1.1.0",
diff --git a/src/components/Projekte/Daten/TpopFilter/ActiveFilters.tsx b/src/components/Projekte/Daten/TpopFilter/ActiveFilters.tsx
new file mode 100644
index 000000000..12bc26160
--- /dev/null
+++ b/src/components/Projekte/Daten/TpopFilter/ActiveFilters.tsx
@@ -0,0 +1,85 @@
+import { useContext } from 'react'
+import styled from '@emotion/styled'
+import { observer } from 'mobx-react-lite'
+import { useParams } from 'react-router-dom'
+
+import storeContext from '../../../../storeContext.js'
+import ErrorBoundary from '../../../shared/ErrorBoundary.jsx'
+
+const FilterCommentTitle = styled.div`
+ margin-top: -10px;
+ margin-bottom: -10px;
+ padding: 0 10px;
+ font-size: 0.75em;
+ font-weight: bold;
+ color: rgba(0, 0, 0, 0.87);
+`
+const FilterCommentList = styled.ul``
+const FilterComment = styled.li`
+ padding: 0 10px;
+ font-size: 0.75em;
+`
+
+export const ActiveFilters = observer(() => {
+ const { apId } = useParams()
+
+ const store = useContext(storeContext)
+
+ const { nodeLabelFilter, mapFilter, apFilter, artIsFiltered, popIsFiltered } =
+ store.tree
+
+ const navApFilterComment = apFilter
+ ? `Navigationsbaum, "nur AP"-Filter: Nur Teil-Populationen von AP-Arten werden berücksichtigt.`
+ : undefined
+ const navHiearchyComment =
+ // popId ? 'Navigationsbaum, Hierarchie-Filter: Im Navigationsbaum ist eine Population gewählt. Es werden nur ihre Teil-Populationen berücksichtigt.' :
+ apId
+ ? 'Navigationsbaum, Hierarchie-Filter: Im Navigationsbaum ist eine Art gewählt. Es werden nur ihre Teil-Populationen berücksichtigt.'
+ : undefined
+ const navLabelComment = nodeLabelFilter.tpop
+ ? `Navigationsbaum, Label-Filter: Das Label der Teil-Populationen wird nach "${nodeLabelFilter.tpop}" gefiltert.`
+ : undefined
+ const artHierarchyComment = artIsFiltered
+ ? 'Formular-Filter, Ebene Art: Es werden nur Teil-Populationen berücksichtigt, deren Art die Bedingungen des gesetzten Filters erfüllt.'
+ : undefined
+ const popHierarchyComment = popIsFiltered
+ ? 'Formular-Filter, Ebene Population: Es werden nur Teil-Populationen berücksichtigt, deren Population die Bedingungen des gesetzten Filters erfüllt.'
+ : undefined
+ const mapFilterComment = mapFilter
+ ? 'Karten-Filter: wird angewendet.'
+ : undefined
+
+ const showFilterComments =
+ !!navApFilterComment ||
+ !!navHiearchyComment ||
+ !!navLabelComment ||
+ !!artHierarchyComment ||
+ !!popHierarchyComment ||
+ !!mapFilter
+
+ if (!showFilterComments) return null
+
+ return (
+
+ Zusätzlich aktive Filter:
+
+ {!!navApFilterComment && (
+ {navApFilterComment}
+ )}
+ {!!navHiearchyComment && (
+ {navHiearchyComment}
+ )}
+ {!!navLabelComment && {navLabelComment}}
+ {!!artHierarchyComment && (
+ {artHierarchyComment}
+ )}
+ {!!popHierarchyComment && (
+ {popHierarchyComment}
+ )}
+ {!!mapFilterComment && (
+ {mapFilterComment}
+ )}
+
+
+ )
+})
diff --git a/src/components/Projekte/Daten/TpopFilter/index.jsx b/src/components/Projekte/Daten/TpopFilter/index.jsx
index 1797a1748..89e08782d 100644
--- a/src/components/Projekte/Daten/TpopFilter/index.jsx
+++ b/src/components/Projekte/Daten/TpopFilter/index.jsx
@@ -16,6 +16,7 @@ import ErrorBoundary from '../../../shared/ErrorBoundary.jsx'
import Error from '../../../shared/Error.jsx'
import OrTabs from './Tabs.jsx'
import useSearchParamsState from '../../../../modules/useSearchParamsState.js'
+import { ActiveFilters } from './ActiveFilters.tsx'
const Container = styled.div`
flex-grow: 1;
@@ -75,7 +76,7 @@ const TpopFilter = () => {
const [activeTab, setActiveTab] = useState(0)
useEffect(() => {
if (dataFilter.tpop.length - 1 < activeTab) {
- // filter was emtied, need to set correct tab
+ // filter was emptied, need to set correct tab
setActiveTab(0)
}
}, [activeTab, dataFilter.tpop.length])
@@ -142,31 +143,7 @@ const TpopFilter = () => {
filteredNr={dataTpops?.allTpopsFiltered?.totalCount ?? '...'}
activeTab={activeTab}
/>
- {showFilterComments && (
- <>
- Zusätzlich aktive Filter:
-
- {!!navApFilterComment && (
- {navApFilterComment}
- )}
- {!!navHiearchyComment && (
- {navHiearchyComment}
- )}
- {!!navLabelComment && (
- {navLabelComment}
- )}
- {!!artHierarchyComment && (
- {artHierarchyComment}
- )}
- {!!popHierarchyComment && (
- {popHierarchyComment}
- )}
- {!!mapFilterComment && (
- {mapFilterComment}
- )}
-
- >
- )}
+