Skip to content

Commit 540bfad

Browse files
authored
Merge pull request #3361 from Vizzuality/feature/abstract-components
Move all components to global folder
2 parents 5a0d160 + 04d68c0 commit 540bfad

File tree

241 files changed

+512
-557
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

241 files changed

+512
-557
lines changed

app/controllers/country_controller.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ def show
77
@title = @country && @country["name"]
88
@desc = "Data about forest change, tenure, forest related employment and land use in #{@title}"
99
if params[:widget]
10-
widgets_config = JSON.parse(File.read(Rails.root.join('app', 'javascript', 'pages', 'country', 'data', 'widgets-config.json')))
10+
widgets_config = JSON.parse(File.read(Rails.root.join('app', 'javascript', 'components', 'widget', 'widget-config.json')))
1111
widget_data = widgets_config[params[:widget]]
1212
@og_title = "#{widget_data["title"]} in #{@title}"
1313
# for dynamic widget image when the feature is ready

app/javascript/components/button/button-component.jsx

+5-5
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ import { Tooltip } from 'react-tippy';
77
import Tip from 'components/tip';
88

99
import './button-styles.scss';
10-
import 'styles/themes/button/button-light.scss'; // eslint-disable-line
11-
import 'styles/themes/button/button-small.scss'; // eslint-disable-line
12-
import 'styles/themes/button/button-grey.scss'; // eslint-disable-line
13-
import 'styles/themes/button/button-clear.scss'; // eslint-disable-line
14-
import 'styles/themes/button/button-map-control.scss'; // eslint-disable-line
10+
import './themes/button-light.scss'; // eslint-disable-line
11+
import './themes/button-small.scss'; // eslint-disable-line
12+
import './themes/button-grey.scss'; // eslint-disable-line
13+
import './themes/button-clear.scss'; // eslint-disable-line
14+
import './themes/button-map-control.scss'; // eslint-disable-line
1515

1616
const Button = props => {
1717
const {
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React, { PureComponent } from 'react';
22
import PropTypes from 'prop-types';
33

4-
import './widget-chart-tooltip-styles.scss';
4+
import './chart-tooltip-styles.scss';
55

66
class WidgetChartTooltip extends PureComponent {
77
render() {
@@ -12,7 +12,7 @@ class WidgetChartTooltip extends PureComponent {
1212
<div>
1313
{settings &&
1414
settings.length && (
15-
<div className="c-widget-chart-tooltip">
15+
<div className="c-chart-tooltip">
1616
{settings.map(
1717
d =>
1818
(hideZeros && !values[d.key] ? null : (
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
@import '~styles/settings.scss';
22

3-
.c-widget-chart-tooltip {
3+
.c-chart-tooltip {
44
padding: rem(10px) rem(20px);
55
box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.19);
66
background-color: $slate;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import Component from './chart-tooltip-component';
2+
3+
export default Component;
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import React, { PureComponent } from 'react';
22
import PropTypes from 'prop-types';
33
import { format } from 'd3-format';
44

5-
import './widget-pie-chart-legend-styles.scss';
5+
import './pie-chart-legend-styles.scss';
66

7-
class WidgetPieChartLegend extends PureComponent {
7+
class PieChartLegend extends PureComponent {
88
render() {
99
const { data, config, className } = this.props;
1010
let sizeClass = '';
@@ -40,18 +40,18 @@ class WidgetPieChartLegend extends PureComponent {
4040
}
4141
}
4242

43-
WidgetPieChartLegend.propTypes = {
43+
PieChartLegend.propTypes = {
4444
data: PropTypes.array,
4545
config: PropTypes.object,
4646
className: PropTypes.string
4747
};
4848

49-
WidgetPieChartLegend.defaultProps = {
49+
PieChartLegend.defaultProps = {
5050
config: {
5151
unit: '',
5252
key: 'value',
5353
format: '.3s'
5454
}
5555
};
5656

57-
export default WidgetPieChartLegend;
57+
export default PieChartLegend;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import Component from './pie-chart-legend-component';
2+
3+
export default Component;
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ import {
1616
ComposedChart
1717
} from 'recharts';
1818

19-
import WidgetChartToolTip from 'pages/country/widget/components/widget-chart-tooltip';
19+
import ChartToolTip from '../components/chart-tooltip';
2020
import CustomTick from './custom-tick-component';
21-
import './widget-composed-chart-styles.scss';
21+
import './composed-chart-styles.scss';
2222

23-
class WidgetComposedChart extends PureComponent {
23+
class CustomComposedChart extends PureComponent {
2424
findMaxValue = (data, config) => {
2525
const { yKeys } = config;
2626
const maxValues = [];
@@ -100,7 +100,7 @@ class WidgetComposedChart extends PureComponent {
100100
<CartesianGrid vertical={false} strokeDasharray="3 4" />
101101
<Tooltip
102102
cursor={{ fill: '#d6d6d9' }}
103-
content={<WidgetChartToolTip settings={tooltip} />}
103+
content={<ChartToolTip settings={tooltip} />}
104104
/>
105105
{areas &&
106106
Object.keys(areas).map(key => (
@@ -132,12 +132,12 @@ class WidgetComposedChart extends PureComponent {
132132
}
133133
}
134134

135-
WidgetComposedChart.propTypes = {
135+
CustomComposedChart.propTypes = {
136136
data: PropTypes.array,
137137
config: PropTypes.object,
138138
className: PropTypes.string,
139139
handleMouseMove: PropTypes.func,
140140
backgroundColor: PropTypes.string
141141
};
142142

143-
export default WidgetComposedChart;
143+
export default CustomComposedChart;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import Component from './composed-chart-component';
2+
3+
export default Component;
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import React, { PureComponent } from 'react';
22
import PropTypes from 'prop-types';
33

4-
import WidgetChartToolTip from 'pages/country/widget/components/widget-chart-tooltip';
54
import {
65
BarChart,
76
Bar,
@@ -10,12 +9,13 @@ import {
109
Tooltip,
1110
ResponsiveContainer
1211
} from 'recharts';
13-
import WidgetPaginate from 'pages/country/widget/components/widget-paginate';
12+
import Paginate from 'components/paginate';
13+
import ChartToolTip from '../components/chart-tooltip';
1414

1515
import CustomTick from './custom-tick-component';
16-
import './widget-horizontal-bar-chart-styles.scss';
16+
import './horizontal-bar-chart-styles.scss';
1717

18-
class WidgetHorizontalBarChart extends PureComponent {
18+
class HorizontalBarChart extends PureComponent {
1919
render() {
2020
const { data, className, handlePageChange, settings } = this.props;
2121
const { tooltip, colors, yKeys, yAxisDotFill } = this.props.config;
@@ -35,11 +35,7 @@ class WidgetHorizontalBarChart extends PureComponent {
3535
<Tooltip
3636
cursor={{ fill: '#d6d6d9' }}
3737
content={
38-
<WidgetChartToolTip
39-
settings={tooltip}
40-
colors={colors}
41-
hideZeros
42-
/>
38+
<ChartToolTip settings={tooltip} colors={colors} hideZeros />
4339
}
4440
/>
4541
<XAxis
@@ -80,7 +76,7 @@ class WidgetHorizontalBarChart extends PureComponent {
8076
</ResponsiveContainer>
8177
{handlePageChange &&
8278
data.length > settings.pageSize && (
83-
<WidgetPaginate
79+
<Paginate
8480
className="horizontal-pagintation"
8581
settings={settings}
8682
count={data.length}
@@ -92,18 +88,18 @@ class WidgetHorizontalBarChart extends PureComponent {
9288
}
9389
}
9490

95-
WidgetHorizontalBarChart.propTypes = {
91+
HorizontalBarChart.propTypes = {
9692
data: PropTypes.array,
9793
className: PropTypes.string,
9894
config: PropTypes.object,
9995
settings: PropTypes.object,
10096
handlePageChange: PropTypes.func
10197
};
10298

103-
WidgetHorizontalBarChart.defaultProps = {
99+
HorizontalBarChart.defaultProps = {
104100
config: {
105101
tooltip: [{ key: 'value', unit: null }]
106102
}
107103
};
108104

109-
export default WidgetHorizontalBarChart;
105+
export default HorizontalBarChart;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import Component from './horizontal-bar-chart-component';
2+
3+
export default Component;
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ import React, { PureComponent } from 'react';
22
import PropTypes from 'prop-types';
33
import { format } from 'd3-format';
44
import { PieChart, Pie, Cell, Tooltip, ResponsiveContainer } from 'recharts';
5-
import WidgetChartToolTip from 'pages/country/widget/components/widget-chart-tooltip';
5+
import ChartToolTip from '../components/chart-tooltip';
66

7-
import './widget-pie-chart-styles.scss';
7+
import './pie-chart-styles.scss';
88

9-
class WidgetPieChart extends PureComponent {
9+
class CustomPieChart extends PureComponent {
1010
render() {
1111
const {
1212
data,
@@ -41,7 +41,7 @@ class WidgetPieChart extends PureComponent {
4141
</Pie>
4242
<Tooltip
4343
content={
44-
<WidgetChartToolTip
44+
<ChartToolTip
4545
settings={[
4646
{
4747
key: 'percentage',
@@ -60,7 +60,7 @@ class WidgetPieChart extends PureComponent {
6060
}
6161
}
6262

63-
WidgetPieChart.propTypes = {
63+
CustomPieChart.propTypes = {
6464
data: PropTypes.array,
6565
maxSize: PropTypes.number,
6666
dataKey: PropTypes.string,
@@ -71,7 +71,7 @@ WidgetPieChart.propTypes = {
7171
className: PropTypes.string
7272
};
7373

74-
WidgetPieChart.defaultProps = {
74+
CustomPieChart.defaultProps = {
7575
maxSize: 300,
7676
dataKey: 'value',
7777
innerRadius: '50%',
@@ -80,4 +80,4 @@ WidgetPieChart.defaultProps = {
8080
endAngle: -630
8181
};
8282

83-
export default WidgetPieChart;
83+
export default CustomPieChart;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import Component from './pie-chart-component';
2+
3+
export default Component;

app/javascript/components/loader/loader-component.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import React, { PureComponent } from 'react';
22
import PropTypes from 'prop-types';
33

44
import './loader-styles.scss';
5-
import 'styles/themes/loader/loader-light.scss'; // eslint-disable-line
5+
import './themes/loader-light.scss'; // eslint-disable-line
66

77
class Loader extends PureComponent {
88
render() {

app/javascript/components/map/map-actions.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ const setLayerSpecLoading = createAction('setLayerSpecLoading');
66
const setLayerSpec = createAction('setLayerSpec');
77
const setMapSettings = createAction('setMapSettings');
88
const setMapZoom = createAction('setMapZoom');
9+
const setShowMapMobile = createAction('setShowMapMobile');
910

1011
const getLayerSpec = createThunkAction(
1112
'getLayerSpec',
@@ -33,5 +34,6 @@ export default {
3334
setLayerSpec,
3435
setMapSettings,
3536
setMapZoom,
36-
getLayerSpec
37+
getLayerSpec,
38+
setShowMapMobile
3739
};

app/javascript/components/map/map-reducers.js

+9-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ export const initialState = {
33
error: false,
44
options: {},
55
layerSpec: {},
6-
settings: {}
6+
settings: {},
7+
showMapMobile: false
78
};
89

910
const setLayerSpecLoading = (state, { payload }) => ({
@@ -22,6 +23,11 @@ const setMapSettings = (state, { payload }) => ({
2223
options: payload
2324
});
2425

26+
const setShowMapMobile = (state, { payload }) => ({
27+
...state,
28+
showMapMobile: payload
29+
});
30+
2531
const setMapZoom = (state, { payload }) => {
2632
let zoom = !payload.sum ? payload.value : state.options.zoom + payload.value;
2733
if (zoom > 20) {
@@ -43,5 +49,6 @@ export default {
4349
setLayerSpecLoading,
4450
setLayerSpec,
4551
setMapSettings,
46-
setMapZoom
52+
setMapZoom,
53+
setShowMapMobile
4754
};
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ import Link from 'redux-first-router-link';
33
import PropTypes from 'prop-types';
44
import { format } from 'd3-format';
55

6-
import WidgetPaginate from 'pages/country/widget/components/widget-paginate';
6+
import Paginate from 'components/paginate';
77

8-
import './widget-numbered-list-styles.scss';
8+
import './numbered-list-styles.scss';
99

10-
class WidgetNumberedList extends PureComponent {
10+
class NumberedList extends PureComponent {
1111
render() {
1212
const {
1313
className,
@@ -23,7 +23,7 @@ class WidgetNumberedList extends PureComponent {
2323
: data;
2424

2525
return (
26-
<div className={`c-widget-numbered-list ${className}`}>
26+
<div className={`c-numbered-list ${className}`}>
2727
<ul className="list">
2828
{data.length > 0 &&
2929
pageData.map((item, index) => {
@@ -70,7 +70,7 @@ class WidgetNumberedList extends PureComponent {
7070
</ul>
7171
{handlePageChange &&
7272
data.length > settings.pageSize && (
73-
<WidgetPaginate
73+
<Paginate
7474
settings={settings}
7575
count={data.length}
7676
onClickChange={handlePageChange}
@@ -81,7 +81,7 @@ class WidgetNumberedList extends PureComponent {
8181
}
8282
}
8383

84-
WidgetNumberedList.propTypes = {
84+
NumberedList.propTypes = {
8585
data: PropTypes.array.isRequired,
8686
settings: PropTypes.object.isRequired,
8787
handlePageChange: PropTypes.func,
@@ -90,4 +90,4 @@ WidgetNumberedList.propTypes = {
9090
linksExt: PropTypes.bool
9191
};
9292

93-
export default WidgetNumberedList;
93+
export default NumberedList;
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
@import '~styles/settings.scss';
22

3-
.c-widget-numbered-list {
3+
.c-numbered-list {
44
font-size: rem(12px);
55
color: $slate;
66

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import Component from './numbered-list-component';
2+
3+
export default Component;

0 commit comments

Comments
 (0)