@eeacms/volto-tableau 3.0.5 → 3.0.7

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 CHANGED
@@ -4,6 +4,21 @@ 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.0.7](https://github.com/eea/volto-tableau/compare/3.0.6...3.0.7) - 6 April 2023
8
+
9
+ #### :nail_care: Enhancements
10
+
11
+ - refactor(package.json): reorder dependencies and addons [Miu Razvan - [`6f1922e`](https://github.com/eea/volto-tableau/commit/6f1922e5c060c3808d8cbae46579cef0c90accb0)]
12
+
13
+ #### :house: Internal changes
14
+
15
+ - chore(Jenkinsfile): remove VOLTO variable from pipeline configuration [Miu Razvan - [`6fe1423`](https://github.com/eea/volto-tableau/commit/6fe14231c4d1c32a3b9310d68c18da341b749c7b)]
16
+
17
+ #### :hammer_and_wrench: Others
18
+
19
+ - Add Sonarqube tag using industry-frontend addons list [EEA Jenkins - [`f5deccd`](https://github.com/eea/volto-tableau/commit/f5deccd84372752908b300c5cfd78134818e5ce4)]
20
+ ### [3.0.6](https://github.com/eea/volto-tableau/compare/3.0.5...3.0.6) - 30 January 2023
21
+
7
22
  ### [3.0.5](https://github.com/eea/volto-tableau/compare/3.0.4...3.0.5) - 26 January 2023
8
23
 
9
24
  #### :hammer_and_wrench: Others
package/Jenkinsfile CHANGED
@@ -4,9 +4,8 @@ pipeline {
4
4
  environment {
5
5
  GIT_NAME = "volto-tableau"
6
6
  NAMESPACE = "@eeacms"
7
- SONARQUBE_TAGS = "volto.eea.europa.eu,climate-energy.eea.europa.eu,forest.eea.europa.eu,biodiversity.europa.eu,water.europa.eu-freshwater,water.europa.eu-marine"
7
+ SONARQUBE_TAGS = "volto.eea.europa.eu,climate-energy.eea.europa.eu,forest.eea.europa.eu,biodiversity.europa.eu,water.europa.eu-freshwater,water.europa.eu-marine,industry.eea.europa.eu"
8
8
  DEPENDENCIES = ""
9
- VOLTO = "alpha"
10
9
  }
11
10
 
12
11
  stages {
@@ -41,19 +40,19 @@ pipeline {
41
40
 
42
41
  "ES lint": {
43
42
  node(label: 'docker') {
44
- sh '''docker run -i --rm --name="$BUILD_TAG-eslint" -e NAMESPACE="$NAMESPACE" -e GIT_NAME=$GIT_NAME -e GIT_BRANCH="$BRANCH_NAME" -e GIT_CHANGE_ID="$CHANGE_ID" -e VOLTO=$VOLTO plone/volto-addon-ci:alpha eslint'''
43
+ sh '''docker run -i --rm --name="$BUILD_TAG-eslint" -e NAMESPACE="$NAMESPACE" -e GIT_NAME=$GIT_NAME -e GIT_BRANCH="$BRANCH_NAME" -e GIT_CHANGE_ID="$CHANGE_ID" -e VOLTO=$VOLTO plone/volto-addon-ci eslint'''
45
44
  }
46
45
  },
47
46
 
48
47
  "Style lint": {
49
48
  node(label: 'docker') {
50
- sh '''docker run -i --rm --name="$BUILD_TAG-stylelint" -e NAMESPACE="$NAMESPACE" -e GIT_NAME=$GIT_NAME -e GIT_BRANCH="$BRANCH_NAME" -e GIT_CHANGE_ID="$CHANGE_ID" -e VOLTO=$VOLTO plone/volto-addon-ci:alpha stylelint'''
49
+ sh '''docker run -i --rm --name="$BUILD_TAG-stylelint" -e NAMESPACE="$NAMESPACE" -e GIT_NAME=$GIT_NAME -e GIT_BRANCH="$BRANCH_NAME" -e GIT_CHANGE_ID="$CHANGE_ID" -e VOLTO=$VOLTO plone/volto-addon-ci stylelint'''
51
50
  }
52
51
  },
53
52
 
54
53
  "Prettier": {
55
54
  node(label: 'docker') {
56
- sh '''docker run -i --rm --name="$BUILD_TAG-prettier" -e NAMESPACE="$NAMESPACE" -e GIT_NAME=$GIT_NAME -e GIT_BRANCH="$BRANCH_NAME" -e GIT_CHANGE_ID="$CHANGE_ID" -e VOLTO=$VOLTO plone/volto-addon-ci:alpha prettier'''
55
+ sh '''docker run -i --rm --name="$BUILD_TAG-prettier" -e NAMESPACE="$NAMESPACE" -e GIT_NAME=$GIT_NAME -e GIT_BRANCH="$BRANCH_NAME" -e GIT_CHANGE_ID="$CHANGE_ID" -e VOLTO=$VOLTO plone/volto-addon-ci prettier'''
57
56
  }
58
57
  }
59
58
  )
@@ -77,8 +76,8 @@ pipeline {
77
76
  node(label: 'docker') {
78
77
  script {
79
78
  try {
80
- sh '''docker pull plone/volto-addon-ci:alpha'''
81
- sh '''docker run -i --name="$BUILD_TAG-volto" -e NAMESPACE="$NAMESPACE" -e GIT_NAME=$GIT_NAME -e GIT_BRANCH="$BRANCH_NAME" -e GIT_CHANGE_ID="$CHANGE_ID" -e VOLTO=$VOLTO plone/volto-addon-ci:alpha'''
79
+ sh '''docker pull plone/volto-addon-ci'''
80
+ sh '''docker run -i --name="$BUILD_TAG-volto" -e NAMESPACE="$NAMESPACE" -e GIT_NAME=$GIT_NAME -e GIT_BRANCH="$BRANCH_NAME" -e GIT_CHANGE_ID="$CHANGE_ID" -e VOLTO=$VOLTO plone/volto-addon-ci'''
82
81
  sh '''rm -rf xunit-reports'''
83
82
  sh '''mkdir -p xunit-reports'''
84
83
  sh '''docker cp $BUILD_TAG-volto:/opt/frontend/my-volto-project/coverage xunit-reports/'''
@@ -126,7 +125,7 @@ pipeline {
126
125
  script {
127
126
  try {
128
127
  sh '''docker pull eeacms/plone-backend; docker run --rm -d --name="$BUILD_TAG-plone" -e SITE="Plone" -e PROFILES="eea.kitkat:testing" eeacms/plone-backend'''
129
- sh '''docker pull plone/volto-addon-ci:alpha; docker run -i --name="$BUILD_TAG-cypress" --link $BUILD_TAG-plone:plone -e NAMESPACE="$NAMESPACE" -e GIT_NAME=$GIT_NAME -e GIT_BRANCH="$BRANCH_NAME" -e GIT_CHANGE_ID="$CHANGE_ID" -e DEPENDENCIES="$DEPENDENCIES" -e NODE_ENV=development -e VOLTO=$VOLTO plone/volto-addon-ci:alpha cypress'''
128
+ sh '''docker pull plone/volto-addon-ci; docker run -i --name="$BUILD_TAG-cypress" --link $BUILD_TAG-plone:plone -e NAMESPACE="$NAMESPACE" -e GIT_NAME=$GIT_NAME -e GIT_BRANCH="$BRANCH_NAME" -e GIT_CHANGE_ID="$CHANGE_ID" -e DEPENDENCIES="$DEPENDENCIES" -e NODE_ENV=development -e VOLTO=$VOLTO plone/volto-addon-ci cypress'''
130
129
  } finally {
131
130
  try {
132
131
  sh '''rm -rf cypress-reports cypress-results cypress-coverage'''
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eeacms/volto-tableau",
3
- "version": "3.0.5",
3
+ "version": "3.0.7",
4
4
  "description": "@eeacms/volto-tableau: Volto add-on",
5
5
  "main": "src/index.js",
6
6
  "author": "European Environment Agency: IDM2 A-Team",
@@ -18,13 +18,11 @@
18
18
  },
19
19
  "addons": [
20
20
  "@eeacms/volto-resize-helper",
21
- "@eeacms/volto-embed",
22
- "@eeacms/volto-block-style"
21
+ "@eeacms/volto-embed"
23
22
  ],
24
23
  "dependencies": {
25
- "@eeacms/volto-resize-helper": "^0.2.4",
26
24
  "@eeacms/volto-embed": "5.0.0",
27
- "@eeacms/volto-block-style": "4.1.0"
25
+ "@eeacms/volto-resize-helper": "^0.2.4"
28
26
  },
29
27
  "devDependencies": {
30
28
  "@cypress/code-coverage": "^3.9.5",
@@ -5,9 +5,6 @@ import { getContent } from '@plone/volto/actions';
5
5
  import View from './View';
6
6
  import Schema from './schema';
7
7
 
8
- import { BlockStyleWrapperEdit } from '@eeacms/volto-block-style/BlockStyleWrapper';
9
- import cx from 'classnames';
10
-
11
8
  import { connect } from 'react-redux';
12
9
  import { compose } from 'redux';
13
10
 
@@ -26,20 +23,7 @@ const Edit = (props) => {
26
23
  }, [block, data, onChangeBlock]);
27
24
 
28
25
  return (
29
- <BlockStyleWrapperEdit
30
- {...props}
31
- role="presentation"
32
- data={{
33
- ...(props.data || {}),
34
- styles: {
35
- ...(props.data?.styles || {}),
36
- customClass: cx(
37
- props.data?.styles?.customClass || '',
38
- 'custom-embed-class',
39
- ),
40
- },
41
- }}
42
- >
26
+ <React.Fragment>
43
27
  <View {...props} data={data} id={id} mode="edit" />
44
28
  <SidebarPortal selected={props.selected}>
45
29
  <BlockDataForm
@@ -55,7 +39,7 @@ const Edit = (props) => {
55
39
  formData={data}
56
40
  />
57
41
  </SidebarPortal>
58
- </BlockStyleWrapperEdit>
42
+ </React.Fragment>
59
43
  );
60
44
  };
61
45
 
@@ -3,9 +3,6 @@ import ConnectedTableau from '../../ConnectedTableau/ConnectedTableau';
3
3
  import { Sources } from '../../Sources';
4
4
  import { PrivacyProtection } from '@eeacms/volto-embed';
5
5
 
6
- import { StyleWrapperView } from '@eeacms/volto-block-style/StyleWrapper';
7
- import cx from 'classnames';
8
-
9
6
  import { getContent } from '@plone/volto/actions';
10
7
 
11
8
  import { connect } from 'react-redux';
@@ -25,14 +22,7 @@ const View = (props) => {
25
22
  }, [vis_url]);
26
23
 
27
24
  return (
28
- <StyleWrapperView
29
- {...props}
30
- data={data}
31
- styleData={{
32
- ...data.styles,
33
- customClass: cx(data.styles?.customClass || '', 'embed-container'),
34
- }}
35
- >
25
+ <div className="embed-container">
36
26
  <PrivacyProtection data={data} {...props}>
37
27
  {data?.vis_url ? (
38
28
  <>
@@ -63,7 +53,7 @@ const View = (props) => {
63
53
  <div>Please select a visualization from block editor.</div>
64
54
  )}
65
55
  </PrivacyProtection>
66
- </StyleWrapperView>
56
+ </div>
67
57
  );
68
58
  };
69
59
 
@@ -1,22 +1,64 @@
1
1
  import React from 'react';
2
- import { Popup, Button, Modal } from 'semantic-ui-react';
2
+ import { Popup, Button, Modal, Dropdown } from 'semantic-ui-react';
3
3
  import { Icon } from '@plone/volto/components';
4
4
  import downloadSVG from '@plone/volto/icons/download.svg';
5
5
 
6
6
  const TableauDownload = (props) => {
7
- const [open, setOpen] = React.useState(false);
8
7
  const viz = props.viz || {};
9
8
 
9
+ const [open, setOpen] = React.useState(false);
10
+ const [
11
+ isSheetSelectorCsvVisible,
12
+ setIsSheetSelectorCsvVisible,
13
+ ] = React.useState(false);
14
+ const [
15
+ isSheetSelectorExcelVisible,
16
+ setIsSheetSelectorExcelVisible,
17
+ ] = React.useState(false);
18
+ const [availableSheets, setAvailableSheets] = React.useState([]);
19
+
20
+ const initializeDropdown = () => {
21
+ const sheets = viz
22
+ ?.getWorkbook()
23
+ ?.getActiveSheet()
24
+ ?.getWorksheets()
25
+ .map((sheet, index) => ({
26
+ key: index,
27
+ text: sheet.getName(),
28
+ value: sheet.getName(),
29
+ }));
30
+ setAvailableSheets(sheets);
31
+ };
32
+
10
33
  const exportImage = () => {
34
+ setIsSheetSelectorCsvVisible(false);
35
+ setIsSheetSelectorExcelVisible(false);
11
36
  viz.showExportImageDialog();
12
37
  };
13
38
 
14
39
  const exportToCSV = () => {
15
- viz.showExportCrossTabDialog();
40
+ setIsSheetSelectorExcelVisible(false);
41
+ initializeDropdown();
42
+ setIsSheetSelectorCsvVisible(true);
16
43
  };
17
44
 
18
45
  const exportToExcel = () => {
19
- viz.exportCrossTabToExcel();
46
+ setIsSheetSelectorCsvVisible(false);
47
+ initializeDropdown();
48
+ setIsSheetSelectorExcelVisible(true);
49
+ };
50
+
51
+ const handleSheetSelectionCsvChange = (e, data) => {
52
+ viz.showExportCrossTabDialog(data.value);
53
+ };
54
+
55
+ const handleSheetSelectionExcelChange = (e, data) => {
56
+ viz.exportCrossTabToExcel(data.value);
57
+ };
58
+
59
+ const hideDropdowns = () => {
60
+ setIsSheetSelectorCsvVisible(false);
61
+ setIsSheetSelectorExcelVisible(false);
20
62
  };
21
63
 
22
64
  return (
@@ -28,7 +70,11 @@ const TableauDownload = (props) => {
28
70
  on="click"
29
71
  trigger={
30
72
  <div className="toolbar-button-wrapper">
31
- <Button className="toolbar-button" title="Download">
73
+ <Button
74
+ className="toolbar-button"
75
+ title="Download"
76
+ onClick={hideDropdowns}
77
+ >
32
78
  <Icon name={downloadSVG} size="26px" />
33
79
  </Button>
34
80
  <span className="btn-text">Save</span>
@@ -40,7 +86,23 @@ const TableauDownload = (props) => {
40
86
  <p>Select your file format.</p>
41
87
  <Button onClick={exportImage}>Image</Button>
42
88
  <Button onClick={exportToCSV}>CSV</Button>
89
+ {isSheetSelectorCsvVisible ? (
90
+ <Dropdown
91
+ placeholder="Sheet"
92
+ selection
93
+ options={availableSheets}
94
+ onChange={handleSheetSelectionCsvChange}
95
+ />
96
+ ) : null}
43
97
  <Button onClick={exportToExcel}>Excel</Button>
98
+ {isSheetSelectorExcelVisible ? (
99
+ <Dropdown
100
+ placeholder="Sheet"
101
+ selection
102
+ options={availableSheets}
103
+ onChange={handleSheetSelectionExcelChange}
104
+ />
105
+ ) : null}
44
106
  </Popup.Content>
45
107
  </Popup>
46
108