eionet2-dashboard 3.2.2 → 3.2.3
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/CHANGELOG.md +14 -0
- package/Jenkinsfile +1 -4
- package/package.json +1 -1
- package/tabs/package-lock.json +2 -2
- package/tabs/package.json +1 -1
- package/tabs/src/components/CustomColumnResizeIcon.jsx +1 -1
- package/tabs/src/components/my_country/DataReporters.jsx +2 -3
- package/tabs/src/components/my_country/DataReporters.test.jsx +1 -2
- package/tabs/src/components/CustomGridToolbar.jsx +0 -202
- package/tabs/src/components/CustomGridToolbar.test.jsx +0 -8
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file. Dates are d
|
|
|
4
4
|
|
|
5
5
|
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
6
6
|
|
|
7
|
+
### [3.2.3](https://github.com/eea/eionet2-dashboard/compare/3.2.2...3.2.3) - 24 April 2026
|
|
8
|
+
|
|
9
|
+
#### :bug: Bug Fixes
|
|
10
|
+
|
|
11
|
+
- fix: grid toolbar issue (Refs #302855) [Mihai Nicolae - [`f50c4ee`](https://github.com/eea/eionet2-dashboard/commit/f50c4ee8a6160c91d39cbfa4b8d12832b609348f)]
|
|
12
|
+
|
|
13
|
+
#### :house: Internal changes
|
|
14
|
+
|
|
15
|
+
- chore: sonar [Mihai Nicolae - [`d531c58`](https://github.com/eea/eionet2-dashboard/commit/d531c587d99ed740ceb83ddbcbf3651bf5a82283)]
|
|
16
|
+
- chore: coverage on master [Mihai Nicolae - [`d0a7925`](https://github.com/eea/eionet2-dashboard/commit/d0a79254460ffe9d06bf597d2bb1c3c24b1d42d5)]
|
|
17
|
+
- chore: coverage on master [Mihai Nicolae - [`364faf4`](https://github.com/eea/eionet2-dashboard/commit/364faf432bd637b1e1782942161eafe4a450a648)]
|
|
18
|
+
- chore: build [Mihai Nicolae - [`fa47ba5`](https://github.com/eea/eionet2-dashboard/commit/fa47ba5764bfc49824d15c41da8df0ba3bea4855)]
|
|
19
|
+
|
|
7
20
|
### [3.2.2](https://github.com/eea/eionet2-dashboard/compare/3.2.1...3.2.2) - 12 March 2026
|
|
8
21
|
|
|
9
22
|
#### :rocket: New Features
|
|
@@ -24,6 +37,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
|
24
37
|
- chore: code format [Mihai Nicolae - [`a593c60`](https://github.com/eea/eionet2-dashboard/commit/a593c6030a550a37d159ca864ed689663b1a8456)]
|
|
25
38
|
- chore: jenking unit test [Mihai Nicolae - [`24bb98d`](https://github.com/eea/eionet2-dashboard/commit/24bb98d821adbceb9f231aaf9c3451eea8df3502)]
|
|
26
39
|
- chore: code format [Mihai Nicolae - [`eea17da`](https://github.com/eea/eionet2-dashboard/commit/eea17da6d0b41610a2bcc1e4c4852ad2b60c893c)]
|
|
40
|
+
- chore: [JENKINSFILE] use sonarqube branches [EEA Jenkins - [`438a9fb`](https://github.com/eea/eionet2-dashboard/commit/438a9fb90c90501e69fbf70651a0080fc17cd18a)]
|
|
27
41
|
|
|
28
42
|
### [3.2.1](https://github.com/eea/eionet2-dashboard/compare/3.2.0...3.2.1) - 18 February 2026
|
|
29
43
|
|
package/Jenkinsfile
CHANGED
|
@@ -31,7 +31,6 @@ pipeline {
|
|
|
31
31
|
allOf {
|
|
32
32
|
environment name: 'CHANGE_ID', value: ''
|
|
33
33
|
not { changelog '.*^Automated release [0-9\\.]+$' }
|
|
34
|
-
not { branch 'master' }
|
|
35
34
|
}
|
|
36
35
|
}
|
|
37
36
|
steps {
|
|
@@ -49,7 +48,6 @@ pipeline {
|
|
|
49
48
|
allOf {
|
|
50
49
|
environment name: 'CHANGE_ID', value: ''
|
|
51
50
|
not { changelog '.*^Automated release [0-9\\.]+$' }
|
|
52
|
-
not { branch 'master' }
|
|
53
51
|
}
|
|
54
52
|
}
|
|
55
53
|
steps {
|
|
@@ -64,7 +62,6 @@ pipeline {
|
|
|
64
62
|
allOf {
|
|
65
63
|
environment name: 'CHANGE_ID', value: ''
|
|
66
64
|
not { changelog '.*^Automated release [0-9\\.]+$' }
|
|
67
|
-
not { branch 'master' }
|
|
68
65
|
}
|
|
69
66
|
}
|
|
70
67
|
steps {
|
|
@@ -113,7 +110,7 @@ pipeline {
|
|
|
113
110
|
steps {
|
|
114
111
|
script{
|
|
115
112
|
withSonarQubeEnv('Sonarqube') {
|
|
116
|
-
sh "sonar-scanner -Dsonar.javascript.lcov.reportPaths=./tabs/coverage/lcov.info -Dsonar.sources=./tabs,./api
|
|
113
|
+
sh "sonar-scanner -Dsonar.javascript.lcov.reportPaths=./tabs/coverage/lcov.info -Dsonar.sources=./tabs,./api -Dsonar.exclusions=**/__tests__/**,**/*.test.*,**/*.spec.* -Dsonar.projectKey=$GIT_NAME -Dsonar.projectName=$GIT_NAME -Dsonar.branch.name=$BRANCH_NAME"
|
|
117
114
|
sh '''try=2; while [ \$try -gt 0 ]; do curl -s -XPOST -u "${SONAR_AUTH_TOKEN}:" "${SONAR_HOST_URL}api/project_tags/set?project=${GIT_NAME}&tags=${SONARQUBE_TAGS}" > set_tags_result; if [ \$(grep -ic error set_tags_result ) -eq 0 ]; then try=0; else cat set_tags_result; echo "... Will retry"; sleep 60; try=\$(( \$try - 1 )); fi; done'''
|
|
118
115
|
}
|
|
119
116
|
}
|
package/package.json
CHANGED
package/tabs/package-lock.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eeacms/eionet2-dashboard",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.2",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@eeacms/eionet2-dashboard",
|
|
9
|
-
"version": "3.2.
|
|
9
|
+
"version": "3.2.2",
|
|
10
10
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@emotion/react": "^11.14.0",
|
package/tabs/package.json
CHANGED
|
@@ -52,7 +52,7 @@ export default function CustomColumnResizeIcon({ onWidthChanged, id }) {
|
|
|
52
52
|
let timeout;
|
|
53
53
|
if (resizeInfo) {
|
|
54
54
|
timeout = setTimeout(() => {
|
|
55
|
-
onWidthChanged
|
|
55
|
+
onWidthChanged?.(resizeInfo.width, resizeInfo.index);
|
|
56
56
|
}, 100);
|
|
57
57
|
}
|
|
58
58
|
return () => {
|
|
@@ -335,10 +335,9 @@ export function DataReporters({ configuration, country, users }) {
|
|
|
335
335
|
</Box>
|
|
336
336
|
<Box className="grid-container">
|
|
337
337
|
<ResizableGrid
|
|
338
|
-
showToolbar
|
|
339
338
|
rows={flows}
|
|
340
|
-
|
|
341
|
-
|
|
339
|
+
slots={{
|
|
340
|
+
toolbar: customToolbar,
|
|
342
341
|
}}
|
|
343
342
|
columns={gridColumns}
|
|
344
343
|
pageSizeOptions={[25, 50, 100]}
|
|
@@ -76,7 +76,6 @@ describe('DataReporters', () => {
|
|
|
76
76
|
);
|
|
77
77
|
|
|
78
78
|
const gridProps = mockResizableGrid.mock.calls[0][0];
|
|
79
|
-
expect(gridProps.showToolbar).toBe(true);
|
|
80
79
|
expect(gridProps.pageSizeOptions).toEqual([25, 50, 100]);
|
|
81
80
|
expect(gridProps.hideFooterSelectedRowCount).toBe(true);
|
|
82
81
|
expect(gridProps.initialState.pagination.paginationModel.pageSize).toBe(25);
|
|
@@ -86,7 +85,7 @@ describe('DataReporters', () => {
|
|
|
86
85
|
});
|
|
87
86
|
expect(gridProps.getRowHeight()).toBe('auto');
|
|
88
87
|
|
|
89
|
-
const toolbarHtml = renderToStaticMarkup(<gridProps.
|
|
88
|
+
const toolbarHtml = renderToStaticMarkup(<gridProps.slots.toolbar />);
|
|
90
89
|
expect(toolbarHtml).toContain('filter');
|
|
91
90
|
expect(toolbarHtml).toContain('export');
|
|
92
91
|
|
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
// import * as React from 'react';
|
|
2
|
-
// import { styled } from '@mui/material/styles';
|
|
3
|
-
// import {
|
|
4
|
-
// DataGrid,
|
|
5
|
-
// Toolbar,
|
|
6
|
-
// ToolbarButton,
|
|
7
|
-
// ColumnsPanelTrigger,
|
|
8
|
-
// FilterPanelTrigger,
|
|
9
|
-
// ExportCsv,
|
|
10
|
-
// ExportPrint,
|
|
11
|
-
// QuickFilter,
|
|
12
|
-
// QuickFilterControl,
|
|
13
|
-
// QuickFilterClear,
|
|
14
|
-
// QuickFilterTrigger,
|
|
15
|
-
// } from '@mui/x-data-grid';
|
|
16
|
-
// import { useDemoData } from '@mui/x-data-grid-generator';
|
|
17
|
-
// import Tooltip from '@mui/material/Tooltip';
|
|
18
|
-
// import Menu from '@mui/material/Menu';
|
|
19
|
-
// import Badge from '@mui/material/Badge';
|
|
20
|
-
// import ViewColumnIcon from '@mui/icons-material/ViewColumn';
|
|
21
|
-
// import FilterListIcon from '@mui/icons-material/FilterList';
|
|
22
|
-
// import FileDownloadIcon from '@mui/icons-material/FileDownload';
|
|
23
|
-
// import MenuItem from '@mui/material/MenuItem';
|
|
24
|
-
// import Divider from '@mui/material/Divider';
|
|
25
|
-
// import TextField from '@mui/material/TextField';
|
|
26
|
-
// import InputAdornment from '@mui/material/InputAdornment';
|
|
27
|
-
// import CancelIcon from '@mui/icons-material/Cancel';
|
|
28
|
-
// import SearchIcon from '@mui/icons-material/Search';
|
|
29
|
-
// import Typography from '@mui/material/Typography';
|
|
30
|
-
|
|
31
|
-
// type OwnerState = {
|
|
32
|
-
// expanded: boolean;
|
|
33
|
-
// };
|
|
34
|
-
|
|
35
|
-
// const StyledQuickFilter = styled(QuickFilter)({
|
|
36
|
-
// display: 'grid',
|
|
37
|
-
// alignItems: 'center',
|
|
38
|
-
// });
|
|
39
|
-
|
|
40
|
-
// const StyledToolbarButton = styled(ToolbarButton)<{ ownerState: OwnerState }>(
|
|
41
|
-
// ({ theme, ownerState }) => ({
|
|
42
|
-
// gridArea: '1 / 1',
|
|
43
|
-
// width: 'min-content',
|
|
44
|
-
// height: 'min-content',
|
|
45
|
-
// zIndex: 1,
|
|
46
|
-
// opacity: ownerState.expanded ? 0 : 1,
|
|
47
|
-
// pointerEvents: ownerState.expanded ? 'none' : 'auto',
|
|
48
|
-
// transition: theme.transitions.create(['opacity']),
|
|
49
|
-
// }),
|
|
50
|
-
// );
|
|
51
|
-
|
|
52
|
-
// const StyledTextField = styled(TextField)<{
|
|
53
|
-
// ownerState: OwnerState;
|
|
54
|
-
// }>(({ theme, ownerState }) => ({
|
|
55
|
-
// gridArea: '1 / 1',
|
|
56
|
-
// overflowX: 'clip',
|
|
57
|
-
// width: ownerState.expanded ? 260 : 'var(--trigger-width)',
|
|
58
|
-
// opacity: ownerState.expanded ? 1 : 0,
|
|
59
|
-
// transition: theme.transitions.create(['width', 'opacity']),
|
|
60
|
-
// }));
|
|
61
|
-
|
|
62
|
-
// function CustomToolbar() {
|
|
63
|
-
// const [exportMenuOpen, setExportMenuOpen] = React.useState(false);
|
|
64
|
-
// const exportMenuTriggerRef = React.useRef<HTMLButtonElement>(null);
|
|
65
|
-
|
|
66
|
-
// return (
|
|
67
|
-
// <Toolbar>
|
|
68
|
-
// <Typography fontWeight="medium" sx={{ flex: 1, mx: 0.5 }}>
|
|
69
|
-
// Toolbar
|
|
70
|
-
// </Typography>
|
|
71
|
-
|
|
72
|
-
// <Tooltip title="Columns">
|
|
73
|
-
// <ColumnsPanelTrigger render={<ToolbarButton />}>
|
|
74
|
-
// <ViewColumnIcon fontSize="small" />
|
|
75
|
-
// </ColumnsPanelTrigger>
|
|
76
|
-
// </Tooltip>
|
|
77
|
-
|
|
78
|
-
// <Tooltip title="Filters">
|
|
79
|
-
// <FilterPanelTrigger
|
|
80
|
-
// render={(props, state) => (
|
|
81
|
-
// <ToolbarButton {...props} color="default">
|
|
82
|
-
// <Badge badgeContent={state.filterCount} color="primary" variant="dot">
|
|
83
|
-
// <FilterListIcon fontSize="small" />
|
|
84
|
-
// </Badge>
|
|
85
|
-
// </ToolbarButton>
|
|
86
|
-
// )}
|
|
87
|
-
// />
|
|
88
|
-
// </Tooltip>
|
|
89
|
-
|
|
90
|
-
// <Divider orientation="vertical" variant="middle" flexItem sx={{ mx: 0.5 }} />
|
|
91
|
-
|
|
92
|
-
// <Tooltip title="Export">
|
|
93
|
-
// <ToolbarButton
|
|
94
|
-
// ref={exportMenuTriggerRef}
|
|
95
|
-
// id="export-menu-trigger"
|
|
96
|
-
// aria-controls="export-menu"
|
|
97
|
-
// aria-haspopup="true"
|
|
98
|
-
// aria-expanded={exportMenuOpen ? 'true' : undefined}
|
|
99
|
-
// onClick={() => setExportMenuOpen(true)}
|
|
100
|
-
// >
|
|
101
|
-
// <FileDownloadIcon fontSize="small" />
|
|
102
|
-
// </ToolbarButton>
|
|
103
|
-
// </Tooltip>
|
|
104
|
-
|
|
105
|
-
// <Menu
|
|
106
|
-
// id="export-menu"
|
|
107
|
-
// anchorEl={exportMenuTriggerRef.current}
|
|
108
|
-
// open={exportMenuOpen}
|
|
109
|
-
// onClose={() => setExportMenuOpen(false)}
|
|
110
|
-
// anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}
|
|
111
|
-
// transformOrigin={{ vertical: 'top', horizontal: 'right' }}
|
|
112
|
-
// slotProps={{
|
|
113
|
-
// list: {
|
|
114
|
-
// 'aria-labelledby': 'export-menu-trigger',
|
|
115
|
-
// },
|
|
116
|
-
// }}
|
|
117
|
-
// >
|
|
118
|
-
// <ExportPrint render={<MenuItem />} onClick={() => setExportMenuOpen(false)}>
|
|
119
|
-
// Print
|
|
120
|
-
// </ExportPrint>
|
|
121
|
-
// <ExportCsv render={<MenuItem />} onClick={() => setExportMenuOpen(false)}>
|
|
122
|
-
// Download as CSV
|
|
123
|
-
// </ExportCsv>
|
|
124
|
-
// {/* Available to MUI X Premium users */}
|
|
125
|
-
// {/* <ExportExcel render={<MenuItem />}>
|
|
126
|
-
// Download as Excel
|
|
127
|
-
// </ExportExcel> */}
|
|
128
|
-
// </Menu>
|
|
129
|
-
|
|
130
|
-
// <StyledQuickFilter>
|
|
131
|
-
// <QuickFilterTrigger
|
|
132
|
-
// render={(triggerProps, state) => (
|
|
133
|
-
// <Tooltip title="Search" enterDelay={0}>
|
|
134
|
-
// <StyledToolbarButton
|
|
135
|
-
// {...triggerProps}
|
|
136
|
-
// ownerState={{ expanded: state.expanded }}
|
|
137
|
-
// color="default"
|
|
138
|
-
// aria-disabled={state.expanded}
|
|
139
|
-
// >
|
|
140
|
-
// <SearchIcon fontSize="small" />
|
|
141
|
-
// </StyledToolbarButton>
|
|
142
|
-
// </Tooltip>
|
|
143
|
-
// )}
|
|
144
|
-
// />
|
|
145
|
-
// <QuickFilterControl
|
|
146
|
-
// render={({ ref, ...controlProps }, state) => (
|
|
147
|
-
// <StyledTextField
|
|
148
|
-
// {...controlProps}
|
|
149
|
-
// ownerState={{ expanded: state.expanded }}
|
|
150
|
-
// inputRef={ref}
|
|
151
|
-
// aria-label="Search"
|
|
152
|
-
// placeholder="Search..."
|
|
153
|
-
// size="small"
|
|
154
|
-
// slotProps={{
|
|
155
|
-
// input: {
|
|
156
|
-
// startAdornment: (
|
|
157
|
-
// <InputAdornment position="start">
|
|
158
|
-
// <SearchIcon fontSize="small" />
|
|
159
|
-
// </InputAdornment>
|
|
160
|
-
// ),
|
|
161
|
-
// endAdornment: state.value ? (
|
|
162
|
-
// <InputAdornment position="end">
|
|
163
|
-
// <QuickFilterClear
|
|
164
|
-
// edge="end"
|
|
165
|
-
// size="small"
|
|
166
|
-
// aria-label="Clear search"
|
|
167
|
-
// material={{ sx: { marginRight: -0.75 } }}
|
|
168
|
-
// >
|
|
169
|
-
// <CancelIcon fontSize="small" />
|
|
170
|
-
// </QuickFilterClear>
|
|
171
|
-
// </InputAdornment>
|
|
172
|
-
// ) : null,
|
|
173
|
-
// ...controlProps.slotProps?.input,
|
|
174
|
-
// },
|
|
175
|
-
// ...controlProps.slotProps,
|
|
176
|
-
// }}
|
|
177
|
-
// />
|
|
178
|
-
// )}
|
|
179
|
-
// />
|
|
180
|
-
// </StyledQuickFilter>
|
|
181
|
-
// </Toolbar>
|
|
182
|
-
// );
|
|
183
|
-
// }
|
|
184
|
-
|
|
185
|
-
// export default function GridToolbar() {
|
|
186
|
-
// const { data, loading } = useDemoData({
|
|
187
|
-
// dataSet: 'Commodity',
|
|
188
|
-
// rowLength: 10,
|
|
189
|
-
// maxColumns: 10,
|
|
190
|
-
// });
|
|
191
|
-
|
|
192
|
-
// return (
|
|
193
|
-
// <div style={{ height: 400, width: '100%' }}>
|
|
194
|
-
// <DataGrid
|
|
195
|
-
// {...data}
|
|
196
|
-
// loading={loading}
|
|
197
|
-
// slots={{ toolbar: CustomToolbar }}
|
|
198
|
-
// showToolbar
|
|
199
|
-
// />
|
|
200
|
-
// </div>
|
|
201
|
-
// );
|
|
202
|
-
// }
|