@sis-cc/dotstatsuite-components 8.10.0 → 8.12.0

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.
Files changed (44) hide show
  1. package/lib/app.js +13 -5
  2. package/lib/rules/src/chart/getChartOptions.js +1 -1
  3. package/lib/rules/src/properties/index.js +1 -0
  4. package/lib/rules-driver/src/app.js +116 -167
  5. package/lib/viewer/src/app/use-case-3.js +52 -0
  6. package/lib/viewer/src/app.js +9 -0
  7. package/lib/viewer/src/chartUtils/series.js +3 -5
  8. package/lib/viewer/src/index.js +1 -1
  9. package/package.json +2 -2
  10. package/src/app.js +10 -5
  11. package/src/rules/src/chart/getChartOptions.js +2 -2
  12. package/src/rules/src/properties/index.js +1 -0
  13. package/src/rules-driver/src/app.js +116 -132
  14. package/src/rules-driver/src/mocks/data1.json +332 -0
  15. package/src/rules-driver/src/mocks/data2.json +309 -0
  16. package/src/viewer/src/app/use-case-3.js +18 -0
  17. package/src/viewer/src/app.js +6 -0
  18. package/src/viewer/src/chartUtils/series.js +4 -4
  19. package/src/viewer/src/index.js +2 -2
  20. package/lib/rules-driver/src/app/chart.js +0 -52
  21. package/lib/rules-driver/src/app/config-axis.js +0 -95
  22. package/lib/rules-driver/src/app/config-buttons.js +0 -47
  23. package/lib/rules-driver/src/app/config-input.js +0 -51
  24. package/lib/rules-driver/src/app/config-select.js +0 -57
  25. package/lib/rules-driver/src/app/config-t4size.js +0 -61
  26. package/lib/rules-driver/src/app/config1.js +0 -148
  27. package/lib/rules-driver/src/app/menu.js +0 -44
  28. package/lib/rules-driver/src/app/viewer1.js +0 -39
  29. package/lib/rules-driver/src/app/viewer2.js +0 -115
  30. package/src/rules-driver/src/app/chart.js +0 -18
  31. package/src/rules-driver/src/app/config-axis.js +0 -54
  32. package/src/rules-driver/src/app/config-buttons.js +0 -27
  33. package/src/rules-driver/src/app/config-input.js +0 -35
  34. package/src/rules-driver/src/app/config-select.js +0 -25
  35. package/src/rules-driver/src/app/config-t4size.js +0 -50
  36. package/src/rules-driver/src/app/config1.js +0 -120
  37. package/src/rules-driver/src/app/menu.js +0 -27
  38. package/src/rules-driver/src/app/viewer1.js +0 -18
  39. package/src/rules-driver/src/app/viewer2.js +0 -77
  40. package/src/rules-driver/src/mocks/ecb.json +0 -2069
  41. package/src/rules-driver/src/mocks/ins.json +0 -264
  42. package/src/rules-driver/src/mocks/oecd-time.json +0 -864
  43. package/src/rules-driver/src/mocks/oecd.json +0 -372
  44. package/src/rules-driver/src/mocks/tunisia.json +0 -333
@@ -1,57 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _extends2 = require('babel-runtime/helpers/extends');
8
-
9
- var _extends3 = _interopRequireDefault(_extends2);
10
-
11
- var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
12
-
13
- var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
14
-
15
- var _react = require('react');
16
-
17
- var _react2 = _interopRequireDefault(_react);
18
-
19
- var _reactSelect = require('react-select');
20
-
21
- var _reactSelect2 = _interopRequireDefault(_reactSelect);
22
-
23
- var _glamorous = require('glamorous');
24
-
25
- var _glamorous2 = _interopRequireDefault(_glamorous);
26
-
27
- var _ramda = require('ramda');
28
-
29
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
30
-
31
- var Container = _glamorous2.default.div({
32
- '& .Select-menu-outer': {
33
- zIndex: 5
34
- }
35
- });
36
-
37
- var ConfigSelect = function ConfigSelect(_ref) {
38
- var label = _ref.label,
39
- multi = _ref.multi,
40
- value = _ref.value,
41
- rest = (0, _objectWithoutProperties3.default)(_ref, ['label', 'multi', 'value']);
42
- return _react2.default.createElement(
43
- Container,
44
- null,
45
- _react2.default.createElement(
46
- 'label',
47
- { className: 'pt-label pt-inline' },
48
- label,
49
- _react2.default.createElement(_reactSelect2.default, (0, _extends3.default)({}, rest, {
50
- multi: multi,
51
- value: (0, _ramda.is)(Array, value) && !multi ? (0, _ramda.head)(value) : value
52
- }))
53
- )
54
- );
55
- };
56
-
57
- exports.default = ConfigSelect;
@@ -1,61 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _react = require('react');
8
-
9
- var _react2 = _interopRequireDefault(_react);
10
-
11
- var _ramda = require('ramda');
12
-
13
- var R = _interopRequireWildcard(_ramda);
14
-
15
- var _configSelect = require('./config-select');
16
-
17
- var _configSelect2 = _interopRequireDefault(_configSelect);
18
-
19
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
20
-
21
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
-
23
- var t4Options = [{ label: 'oecd.org/T4: 3 columns (width 270 px)', value: 'T4/3' }, { label: 'oecd.org/T4: 4 columns (width 370 px)', value: 'T4/4' }, { label: 'oecd.org/T4: 6 columns (width 560 px)', value: 'T4/6' }, { label: 'oecd.org/T4: 8 columns (width 760 px)', value: 'T4/8' }, { label: 'oecd.org/T4: 9 columns (width 855 px)', value: 'T4/9' }, { label: 'oecd.org/T4: 12 columns (width 1140 px)', value: 'T4/12' }];
24
-
25
- var t4Values = [{ value: 'T4/3', width: 270, height: 203 }, { value: 'T4/4', width: 370, height: 278 }, { value: 'T4/6', width: 560, height: 420 }, { value: 'T4/8', width: 760, height: 570 }, { value: 'T4/9', width: 855, height: 642 }, { value: 'T4/12', width: 1140, height: 855 }];
26
-
27
- var ConfigT4 = function ConfigT4(_ref) {
28
- var height = _ref.height,
29
- onChange = _ref.onChange,
30
- width = _ref.width;
31
-
32
- var _value = R.find(function (val) {
33
- return R.propEq('width', width, val) && R.propEq('height', height, val);
34
- }, t4Values);
35
- var value = R.isNil(_value) ? undefined : R.prop('value', _value);
36
- var option = R.find(function (opt) {
37
- return R.propEq('value', value, opt);
38
- }, t4Options);
39
-
40
- var onSelect = function onSelect(selection) {
41
- if (R.isNil(selection)) {
42
- onChange({ width: undefined, height: undefined });
43
- } else {
44
- var selectedValue = R.find(function (val) {
45
- return R.propEq('value', selection.value, val);
46
- }, t4Values);
47
- onChange(R.pick(['height', 'width'], selectedValue));
48
- }
49
- };
50
-
51
- return _react2.default.createElement(_configSelect2.default, {
52
- label: 'T4 Formats',
53
- multi: false,
54
- clearable: true,
55
- value: option,
56
- onChange: onSelect,
57
- options: t4Options
58
- });
59
- };
60
-
61
- exports.default = ConfigT4;
@@ -1,148 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _extends2 = require('babel-runtime/helpers/extends');
8
-
9
- var _extends3 = _interopRequireDefault(_extends2);
10
-
11
- var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
12
-
13
- var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
14
-
15
- var _react = require('react');
16
-
17
- var _react2 = _interopRequireDefault(_react);
18
-
19
- var _configSelect = require('./config-select');
20
-
21
- var _configSelect2 = _interopRequireDefault(_configSelect);
22
-
23
- var _configInput = require('./config-input');
24
-
25
- var _configInput2 = _interopRequireDefault(_configInput);
26
-
27
- var _configButtons = require('./config-buttons');
28
-
29
- var _configButtons2 = _interopRequireDefault(_configButtons);
30
-
31
- var _configAxis = require('./config-axis');
32
-
33
- var _configAxis2 = _interopRequireDefault(_configAxis);
34
-
35
- var _ramda = require('ramda');
36
-
37
- var _glamorous = require('glamorous');
38
-
39
- var _glamorous2 = _interopRequireDefault(_glamorous);
40
-
41
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
42
-
43
- var activeComponent = function activeComponent(Component) {
44
- return function (_ref) {
45
- var isActive = _ref.isActive,
46
- rest = (0, _objectWithoutProperties3.default)(_ref, ['isActive']);
47
- return isActive ? _react2.default.createElement(Component, rest) : null;
48
- };
49
- };
50
-
51
- var ConfigSelect = activeComponent(_configSelect2.default);
52
- var ConfigInput = activeComponent(_configInput2.default);
53
- var ConfigButtons = activeComponent(_configButtons2.default);
54
-
55
- var GDiv = _glamorous2.default.div({ width: '100%' });
56
-
57
- var Axes = _glamorous2.default.div({
58
- display: 'flex',
59
- flexDirection: 'column',
60
- justifyContent: 'space-between'
61
- });
62
-
63
- var Config = function Config(_ref2) {
64
- var properties = _ref2.properties;
65
-
66
- return _react2.default.createElement(
67
- GDiv,
68
- null,
69
- _react2.default.createElement(ConfigInput, (0, _extends3.default)({}, (0, _ramda.prop)('title', properties), {
70
- isControlled: true,
71
- label: 'Title of the Chart',
72
- placeholder: 'Enter a chart title'
73
- })),
74
- _react2.default.createElement(ConfigInput, (0, _extends3.default)({}, (0, _ramda.prop)('subtitle', properties), {
75
- isControlled: true,
76
- label: 'Subtitle of the Chart',
77
- placeholder: 'Enter a chart subtitle'
78
- })),
79
- _react2.default.createElement(ConfigInput, (0, _extends3.default)({}, (0, _ramda.prop)('width', properties), {
80
- isControlled: false,
81
- label: 'Width of the Chart',
82
- leftIcon: 'arrows-horizontal',
83
- placeholder: 'Enter a numerical value'
84
- })),
85
- _react2.default.createElement(ConfigInput, (0, _extends3.default)({}, (0, _ramda.prop)('height', properties), {
86
- isControlled: false,
87
- label: 'Height of the Chart',
88
- leftIcon: 'arrows-vertical',
89
- placeholder: 'Enter a numerical value'
90
- })),
91
- _react2.default.createElement(ConfigSelect, (0, _extends3.default)({}, (0, _ramda.prop)('scatterDimension', properties), {
92
- label: 'Scatter Dimension',
93
- multi: false,
94
- clearable: false
95
- })),
96
- _react2.default.createElement(ConfigSelect, (0, _extends3.default)({}, (0, _ramda.prop)('scatterX', properties), {
97
- label: 'Scatter Value For X Axis',
98
- multi: false,
99
- clearable: false
100
- })),
101
- _react2.default.createElement(ConfigSelect, (0, _extends3.default)({}, (0, _ramda.prop)('scatterY', properties), {
102
- label: 'Scatter Value For Y Axis',
103
- multi: false,
104
- clearable: false
105
- })),
106
- _react2.default.createElement(ConfigSelect, (0, _extends3.default)({}, (0, _ramda.prop)('symbolDimension', properties), {
107
- label: 'Symbol Dimension',
108
- multi: false,
109
- clearable: false
110
- })),
111
- _react2.default.createElement(ConfigSelect, (0, _extends3.default)({}, (0, _ramda.prop)('stackedDimension', properties), {
112
- label: 'Stacked Dimension',
113
- multi: false,
114
- clearable: false
115
- })),
116
- _react2.default.createElement(ConfigSelect, (0, _extends3.default)({}, (0, _ramda.prop)('highlight', properties), {
117
- label: 'Highlight Selection',
118
- multi: true,
119
- clearable: true
120
- })),
121
- _react2.default.createElement(ConfigSelect, (0, _extends3.default)({}, (0, _ramda.prop)('baseline', properties), {
122
- label: 'Baseline Selection',
123
- multi: false,
124
- clearable: true
125
- })),
126
- _react2.default.createElement(ConfigButtons, (0, _ramda.prop)('display', properties)),
127
- _react2.default.createElement(ConfigInput, (0, _extends3.default)({}, (0, _ramda.prop)('freqStep', properties), {
128
- isControlled: false,
129
- label: 'Timeline Axis Frequency Step'
130
- })),
131
- _react2.default.createElement(_configAxis2.default, {
132
- label: 'Axe X',
133
- max: (0, _ramda.prop)('maxX', properties),
134
- min: (0, _ramda.prop)('minX', properties),
135
- pivot: (0, _ramda.prop)('pivotX', properties),
136
- step: (0, _ramda.prop)('stepX', properties)
137
- }),
138
- _react2.default.createElement(_configAxis2.default, {
139
- label: 'Axe Y',
140
- max: (0, _ramda.prop)('maxY', properties),
141
- min: (0, _ramda.prop)('minY', properties),
142
- pivot: (0, _ramda.prop)('pivotY', properties),
143
- step: (0, _ramda.prop)('stepY', properties)
144
- })
145
- );
146
- };
147
-
148
- exports.default = Config;
@@ -1,44 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _react = require('react');
8
-
9
- var _react2 = _interopRequireDefault(_react);
10
-
11
- var _core = require('@blueprintjs/core');
12
-
13
- var _ramda = require('ramda');
14
-
15
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
-
17
- var Menu = function Menu(_ref) {
18
- var align = _ref.align,
19
- iconName = _ref.iconName,
20
- items = _ref.items,
21
- onChange = _ref.onChange,
22
- selected = _ref.selected;
23
-
24
- return _react2.default.createElement(
25
- 'div',
26
- { className: 'pt-navbar-group pt-align-' + align },
27
- (0, _ramda.map)(function (_ref2) {
28
- var label = _ref2.label,
29
- value = _ref2.value;
30
- return _react2.default.createElement(_core.Button, {
31
- className: 'pt-minimal',
32
- iconName: iconName,
33
- onClick: function onClick() {
34
- return onChange(value);
35
- },
36
- active: value === selected,
37
- key: value,
38
- text: label
39
- });
40
- }, items)
41
- );
42
- };
43
-
44
- exports.default = Menu;
@@ -1,39 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _react = require('react');
8
-
9
- var _react2 = _interopRequireDefault(_react);
10
-
11
- var _chart = require('./chart');
12
-
13
- var _chart2 = _interopRequireDefault(_chart);
14
-
15
- var _config = require('./config1');
16
-
17
- var _config2 = _interopRequireDefault(_config);
18
-
19
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
-
21
- var Viewer = function Viewer(_ref) {
22
- var chartData = _ref.chartData,
23
- chartOptions = _ref.chartOptions,
24
- properties = _ref.properties,
25
- type = _ref.type;
26
-
27
- return _react2.default.createElement(
28
- 'div',
29
- null,
30
- _react2.default.createElement(_chart2.default, {
31
- data: chartData,
32
- options: chartOptions,
33
- type: type
34
- }),
35
- _react2.default.createElement(_config2.default, { properties: properties })
36
- );
37
- };
38
-
39
- exports.default = Viewer;
@@ -1,115 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _extends2 = require('babel-runtime/helpers/extends');
8
-
9
- var _extends3 = _interopRequireDefault(_extends2);
10
-
11
- var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
12
-
13
- var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
14
-
15
- var _react = require('react');
16
-
17
- var _react2 = _interopRequireDefault(_react);
18
-
19
- var _chart = require('./chart');
20
-
21
- var _chart2 = _interopRequireDefault(_chart);
22
-
23
- var _configT4size = require('./config-t4size');
24
-
25
- var _configT4size2 = _interopRequireDefault(_configT4size);
26
-
27
- var _ramda = require('ramda');
28
-
29
- var R = _interopRequireWildcard(_ramda);
30
-
31
- var _configSelect = require('./config-select');
32
-
33
- var _configSelect2 = _interopRequireDefault(_configSelect);
34
-
35
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
36
-
37
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
38
-
39
- var activeComponent = function activeComponent(Component) {
40
- return function (_ref) {
41
- var isActive = _ref.isActive,
42
- rest = (0, _objectWithoutProperties3.default)(_ref, ['isActive']);
43
- return isActive ? _react2.default.createElement(Component, rest) : null;
44
- };
45
- };
46
-
47
- var ConfigSelect = activeComponent(_configSelect2.default);
48
-
49
- var Viewer = function Viewer(_ref2) {
50
- var chartData = _ref2.chartData,
51
- chartOptions = _ref2.chartOptions,
52
- onChange = _ref2.onChange,
53
- properties = _ref2.properties,
54
- type = _ref2.type;
55
- return _react2.default.createElement(
56
- 'div',
57
- null,
58
- _react2.default.createElement(_configT4size2.default, {
59
- height: (0, _ramda.path)(['height', 'value'], properties),
60
- onChange: onChange,
61
- width: (0, _ramda.path)(['width', 'value'], properties)
62
- }),
63
- _react2.default.createElement(ConfigSelect, (0, _extends3.default)({}, properties.display, {
64
- label: 'Display as',
65
- onChange: function onChange(selection) {
66
- return properties.display.onChange(selection.value);
67
- },
68
- clearable: false,
69
- multi: false,
70
- value: R.find(R.propEq('value', properties.display.value), properties.display.options)
71
- })),
72
- _react2.default.createElement(_chart2.default, {
73
- data: chartData,
74
- options: chartOptions,
75
- type: type
76
- }),
77
- _react2.default.createElement(ConfigSelect, (0, _extends3.default)({}, R.prop('scatterDimension', properties), {
78
- label: 'Scatter Dimension',
79
- multi: false,
80
- clearable: false
81
- })),
82
- _react2.default.createElement(ConfigSelect, (0, _extends3.default)({}, R.prop('scatterX', properties), {
83
- label: 'Scatter Value For X Axis',
84
- multi: false,
85
- clearable: false
86
- })),
87
- _react2.default.createElement(ConfigSelect, (0, _extends3.default)({}, R.prop('scatterY', properties), {
88
- label: 'Scatter Value For Y Axis',
89
- multi: false,
90
- clearable: false
91
- })),
92
- _react2.default.createElement(ConfigSelect, (0, _extends3.default)({}, R.prop('symbolDimension', properties), {
93
- label: 'Symbol Dimension',
94
- multi: false,
95
- clearable: false
96
- })),
97
- _react2.default.createElement(ConfigSelect, (0, _extends3.default)({}, R.prop('stackedDimension', properties), {
98
- label: 'Stacked Dimension',
99
- multi: false,
100
- clearable: false
101
- })),
102
- _react2.default.createElement(ConfigSelect, (0, _extends3.default)({}, R.prop('highlight', properties), {
103
- label: 'Highlight Selection',
104
- multi: true,
105
- clearable: true
106
- })),
107
- _react2.default.createElement(ConfigSelect, (0, _extends3.default)({}, R.prop('baseline', properties), {
108
- label: 'Baseline Selection',
109
- multi: false,
110
- clearable: true
111
- }))
112
- );
113
- };
114
-
115
- exports.default = Viewer;
@@ -1,18 +0,0 @@
1
- import React from 'react';
2
- import OecdChart from '../../../chart/src';
3
- import { chartTypes } from '../../../rules/src';
4
- import { has } from 'ramda';
5
- import glamorous from 'glamorous';
6
-
7
- const Container = glamorous.div({
8
- marginBottom: 15,
9
- marginTop: 15
10
- });
11
-
12
- const Chart = ({ type, ...rest }) => (
13
- has(type, chartTypes)
14
- ? <Container><OecdChart {...rest} type={type} /></Container>
15
- : <Container>Not a Chart Type</Container>
16
- );
17
-
18
- export default Chart;
@@ -1,54 +0,0 @@
1
- import React from 'react';
2
- import _ConfigInput from './config-input';
3
- import glamorous from 'glamorous';
4
- import { Classes } from '@blueprintjs/core';
5
-
6
- const Content = glamorous.div({
7
- display: 'flex',
8
- flexDirection: 'row',
9
- flexWrap: 'wrap',
10
- justifyContent: 'space-between',
11
- });
12
-
13
- const Callout = glamorous.div({ marginBottom: 10 });
14
-
15
- const activeComponent = (Component) => ({ isActive, ...rest }) => isActive ? <Component {...rest} /> : null;
16
-
17
- const ConfigInput = activeComponent(_ConfigInput);
18
-
19
- const ConfigAxis = ({ label, max, min, pivot, step }) => {
20
- if (!max.isActive && !min.isActive && !pivot.isActive && !step.isActive) {
21
- return null;
22
- }
23
- return (
24
- <Callout>
25
- <div className={Classes.CALLOUT}>
26
- <h5>{label}</h5>
27
- <Content>
28
- <ConfigInput
29
- {...min}
30
- label="Min Value"
31
- isControlled={false}
32
- />
33
- <ConfigInput
34
- {...max}
35
- label="Max Value"
36
- isControlled={false}
37
- />
38
- <ConfigInput
39
- {...pivot}
40
- label="Pivot Value"
41
- isControlled={false}
42
- />
43
- <ConfigInput
44
- {...step}
45
- label="Step Value"
46
- isControlled={false}
47
- />
48
- </Content>
49
- </div>
50
- </Callout>
51
- );
52
- };
53
-
54
- export default ConfigAxis;
@@ -1,27 +0,0 @@
1
- import React from 'react';
2
- import { map } from 'ramda';
3
- import { Button, ButtonGroup } from '@blueprintjs/core';
4
-
5
- export const ConfigButtons = ({ label, onChange, options, value }) => (
6
- <label className="pt-label pt-inline">
7
- {label}
8
- <ButtonGroup>
9
- {
10
- map(
11
- option => (
12
- <Button
13
- active={option.value === value}
14
- key={option.value}
15
- onClick={() => onChange(option.value)}
16
- >
17
- {option.label}
18
- </Button>
19
- ),
20
- options
21
- )
22
- }
23
- </ButtonGroup>
24
- </label>
25
- );
26
-
27
- export default ConfigButtons;
@@ -1,35 +0,0 @@
1
- import React from 'react';
2
- import { InputGroup } from '@blueprintjs/core';
3
-
4
- const ConfigInput = ({ isControlled, label, leftIcon, onChange, placeholder, value }) => {
5
- const submit = e => onChange(e.target.value);
6
-
7
- const commit = e => {
8
- if (e.key === 'Enter') {
9
- e.preventDefault();
10
- submit(e);
11
- }
12
- }
13
- return (
14
- <label className="pt-label">
15
- {label}
16
- {
17
- isControlled
18
- ? <InputGroup
19
- value={value}
20
- leftIconName={leftIcon}
21
- onChange={submit}
22
- placeholder={placeholder}
23
- />
24
- : <InputGroup
25
- defaultValue={value}
26
- leftIconName={leftIcon}
27
- onKeyPress={commit}
28
- placeholder={placeholder}
29
- />
30
- }
31
- </label>
32
- );
33
- };
34
-
35
- export default ConfigInput;
@@ -1,25 +0,0 @@
1
- import React from 'react';
2
- import Select from 'react-select';
3
- import glamorous from 'glamorous';
4
- import { head, is } from 'ramda';
5
-
6
- const Container = glamorous.div({
7
- '& .Select-menu-outer': {
8
- zIndex: 5,
9
- },
10
- });
11
-
12
- const ConfigSelect = ({ label, multi, value, ...rest }) => (
13
- <Container>
14
- <label className="pt-label pt-inline">
15
- {label}
16
- <Select
17
- {...rest}
18
- multi={multi}
19
- value={is(Array, value) && !multi ? head(value) : value}
20
- />
21
- </label>
22
- </Container>
23
- );
24
-
25
- export default ConfigSelect;
@@ -1,50 +0,0 @@
1
- import React from 'react';
2
- import * as R from 'ramda';
3
- import ConfigSelect from './config-select';
4
-
5
- const t4Options = [
6
- { label: 'oecd.org/T4: 3 columns (width 270 px)', value: 'T4/3' },
7
- { label: 'oecd.org/T4: 4 columns (width 370 px)', value: 'T4/4' },
8
- { label: 'oecd.org/T4: 6 columns (width 560 px)', value: 'T4/6' },
9
- { label: 'oecd.org/T4: 8 columns (width 760 px)', value: 'T4/8' },
10
- { label: 'oecd.org/T4: 9 columns (width 855 px)', value: 'T4/9' },
11
- { label: 'oecd.org/T4: 12 columns (width 1140 px)', value: 'T4/12' }
12
- ];
13
-
14
- const t4Values = [
15
- { value: 'T4/3', width: 270, height: 203 },
16
- { value: 'T4/4', width: 370, height: 278 },
17
- { value: 'T4/6', width: 560, height: 420 },
18
- { value: 'T4/8', width: 760, height: 570 },
19
- { value: 'T4/9', width: 855, height: 642 },
20
- { value: 'T4/12', width: 1140, height: 855 }
21
- ];
22
-
23
- const ConfigT4 = ({ height, onChange, width }) => {
24
- const _value = R.find(val => R.propEq('width', width, val) && R.propEq('height', height, val), t4Values);
25
- const value = R.isNil(_value) ? undefined : R.prop('value', _value);
26
- const option = R.find(opt => R.propEq('value', value, opt), t4Options);
27
-
28
- const onSelect = (selection) => {
29
- if (R.isNil(selection)) {
30
- onChange({ width: undefined, height: undefined });
31
- }
32
- else {
33
- const selectedValue = R.find(val => R.propEq('value', selection.value, val), t4Values);
34
- onChange(R.pick(['height', 'width'], selectedValue));
35
- }
36
- }
37
-
38
- return (
39
- <ConfigSelect
40
- label="T4 Formats"
41
- multi={false}
42
- clearable={true}
43
- value={option}
44
- onChange={onSelect}
45
- options={t4Options}
46
- />
47
- );
48
- };
49
-
50
- export default ConfigT4;