@sis-cc/dotstatsuite-visions 10.24.0 → 10.25.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.
@@ -266,17 +266,21 @@ var AdvancedFilterDialog = function AdvancedFilterDialog(props) {
266
266
  setSpotlight({ term: '' });
267
267
  };
268
268
  var rejectonlyDisabledItems = function rejectonlyDisabledItems(item) {
269
- return R.prop('isDisabled')(item) && !R.has('isForced')(item);
269
+ return _disableAccessor(item);
270
270
  };
271
271
  var getSelectedItems = function getSelectedItems(item) {
272
272
  return R.propOr(false, 'isSelected')(item);
273
273
  };
274
274
 
275
275
  var selectAll = function selectAll() {
276
+ var imposedIds = R.reduce(function (acc, item) {
277
+ return R.uniq(R.concat(R.propOr([], 'imposedIds', item), acc));
278
+ }, [])(items);
276
279
  var ids = R.pluck('id', R.reject(getSelectedItems, R.reject(rejectonlyDisabledItems, items)));
280
+ var allIds = R.concat(imposedIds, ids);
277
281
  var nextSelection = R.reduce(function (acc, id) {
278
282
  return R.has(id, acc) ? acc : R.assoc(id, id, acc);
279
- }, {}, ids);
283
+ }, {}, allIds);
280
284
  setSelectionMode('selectAll');
281
285
  setSelection(nextSelection);
282
286
  };
@@ -379,7 +383,11 @@ var AdvancedFilterDialog = function AdvancedFilterDialog(props) {
379
383
  )
380
384
  )
381
385
  );
382
- }, selectionOptions),
386
+ }, selectionOptions)
387
+ ),
388
+ React.createElement(
389
+ 'div',
390
+ null,
383
391
  onClose && React.createElement(
384
392
  IconButton,
385
393
  {
@@ -0,0 +1,100 @@
1
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
2
+
3
+ import React from 'react';
4
+ import Grid from '@material-ui/core/Grid';
5
+ import PropTypes from 'prop-types';
6
+ import * as R from 'ramda';
7
+ import { makeStyles } from '@material-ui/core/styles';
8
+ import TextareaAutosize from '@material-ui/core/TextareaAutosize';
9
+ import Typography from '@material-ui/core/Typography';
10
+ import useMediaQuery from '@material-ui/core/useMediaQuery';
11
+ import { Button } from '../';
12
+ import { CircularProgress } from '@material-ui/core';
13
+
14
+ var useStyles = makeStyles(function (theme) {
15
+ return {
16
+ container: {
17
+ boxShadow: 'none',
18
+ width: '100%',
19
+ padding: 20
20
+ },
21
+ textarea: {
22
+ width: '100%',
23
+ margin: theme.spacing(0.5, 0, 0, 0)
24
+ },
25
+ title: _extends({
26
+ paddingBottom: 30
27
+ }, R.pathOr({}, ['mixins', 'share', 'title'], theme))
28
+ };
29
+ });
30
+
31
+ var ShortUrls = function ShortUrls(_ref) {
32
+ var labels = _ref.labels,
33
+ onClick = _ref.onClick,
34
+ isLoading = _ref.isLoading,
35
+ contentValue = _ref.contentValue;
36
+
37
+ var isNarrow = useMediaQuery(function (theme) {
38
+ return theme.breakpoints.down('sm');
39
+ });
40
+ var classes = useStyles();
41
+ return React.createElement(
42
+ Grid,
43
+ { className: classes.container },
44
+ React.createElement(
45
+ Typography,
46
+ { variant: 'h6', className: classes.title },
47
+ R.prop('title')(labels)
48
+ ),
49
+ React.createElement(
50
+ Grid,
51
+ {
52
+ container: true,
53
+ justifyContent: isNarrow ? 'center' : 'flex-start',
54
+ alignItems: isNarrow ? 'left' : 'center',
55
+ direction: isNarrow ? 'column-reverse' : 'row'
56
+ },
57
+ React.createElement(
58
+ Grid,
59
+ { item: true, xs: 12, sm: 12, md: 4, lg: 5 },
60
+ React.createElement(
61
+ Button,
62
+ {
63
+ 'aria-label': R.propOr('', 'generateUrl')(labels),
64
+ type: 'submit',
65
+ variant: 'contained',
66
+ color: 'primary',
67
+ disabled: isLoading || R.isNil(onClick),
68
+ alternative: 'siscc',
69
+ onClick: onClick,
70
+ className: classes.submitButton
71
+ },
72
+ isLoading ? React.createElement(CircularProgress, { size: 24 }) : R.propOr('', 'generateUrl')(labels)
73
+ )
74
+ ),
75
+ React.createElement(
76
+ Grid,
77
+ { item: true, xs: 12, sm: 12, md: 8, lg: 7 },
78
+ React.createElement(TextareaAutosize, {
79
+ 'aria-label': contentValue,
80
+ className: classes.textarea,
81
+ minRows: 2,
82
+ maxRows: 2,
83
+ readOnly: true,
84
+ value: contentValue
85
+ })
86
+ )
87
+ )
88
+ );
89
+ };
90
+ ShortUrls.propTypes = process.env.NODE_ENV !== "production" ? {
91
+ onClick: PropTypes.func,
92
+ isLoading: PropTypes.bool,
93
+ contentValue: PropTypes.string,
94
+ labels: PropTypes.shape({
95
+ generateUrl: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
96
+ title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
97
+ errorMessage: PropTypes.oneOfType([PropTypes.string, PropTypes.element])
98
+ })
99
+ } : {};
100
+ export default ShortUrls;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * ShortUrls, it's a component to shorten your large URL
3
+ *
4
+ * @memberOf VISIONS
5
+ * @name ShortUrls
6
+ * @tag component
7
+ * @api public
8
+ * @props
9
+ * ShortUrls.propTypes = {
10
+ * onClick: PropTypes.func,
11
+ * isLoading: PropTypes.bool,
12
+ * contentValue: PropTypes.string,
13
+ * labels: PropTypes.shape({
14
+ * generateUrl: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
15
+ * title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
16
+ * errorMessage: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
17
+ * }),
18
+ * };
19
+ * @demoReady
20
+ */
21
+
22
+ export { default } from './ShortUrls';
package/es/index.js CHANGED
@@ -31,6 +31,7 @@ export { spotlightScopeListEngine, reduceChildren } from './utils';
31
31
  //export { default as ScopeList } from './ScopeList';
32
32
  export { default as Select } from './Select';
33
33
  export { default as Share } from './Share';
34
+ export { default as ShortUrls } from './ShortUrls';
34
35
  export { default as SisccFooter } from './SisccFooter';
35
36
  export { default as Spotlight } from './Spotlight';
36
37
  export { default as TableFooter } from './TableFooter';
@@ -336,17 +336,21 @@ var AdvancedFilterDialog = function AdvancedFilterDialog(props) {
336
336
  setSpotlight({ term: '' });
337
337
  };
338
338
  var rejectonlyDisabledItems = function rejectonlyDisabledItems(item) {
339
- return R.prop('isDisabled')(item) && !R.has('isForced')(item);
339
+ return _disableAccessor(item);
340
340
  };
341
341
  var getSelectedItems = function getSelectedItems(item) {
342
342
  return R.propOr(false, 'isSelected')(item);
343
343
  };
344
344
 
345
345
  var selectAll = function selectAll() {
346
+ var imposedIds = R.reduce(function (acc, item) {
347
+ return R.uniq(R.concat(R.propOr([], 'imposedIds', item), acc));
348
+ }, [])(items);
346
349
  var ids = R.pluck('id', R.reject(getSelectedItems, R.reject(rejectonlyDisabledItems, items)));
350
+ var allIds = R.concat(imposedIds, ids);
347
351
  var nextSelection = R.reduce(function (acc, id) {
348
352
  return R.has(id, acc) ? acc : R.assoc(id, id, acc);
349
- }, {}, ids);
353
+ }, {}, allIds);
350
354
  setSelectionMode('selectAll');
351
355
  setSelection(nextSelection);
352
356
  };
@@ -449,7 +453,11 @@ var AdvancedFilterDialog = function AdvancedFilterDialog(props) {
449
453
  )
450
454
  )
451
455
  );
452
- }, selectionOptions),
456
+ }, selectionOptions)
457
+ ),
458
+ _react2.default.createElement(
459
+ 'div',
460
+ null,
453
461
  onClose && _react2.default.createElement(
454
462
  _Button2.default,
455
463
  {
@@ -0,0 +1,132 @@
1
+ 'use strict';
2
+
3
+ exports.__esModule = true;
4
+
5
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
6
+
7
+ var _react = require('react');
8
+
9
+ var _react2 = _interopRequireDefault(_react);
10
+
11
+ var _Grid = require('@material-ui/core/Grid');
12
+
13
+ var _Grid2 = _interopRequireDefault(_Grid);
14
+
15
+ var _propTypes = require('prop-types');
16
+
17
+ var _propTypes2 = _interopRequireDefault(_propTypes);
18
+
19
+ var _ramda = require('ramda');
20
+
21
+ var R = _interopRequireWildcard(_ramda);
22
+
23
+ var _styles = require('@material-ui/core/styles');
24
+
25
+ var _TextareaAutosize = require('@material-ui/core/TextareaAutosize');
26
+
27
+ var _TextareaAutosize2 = _interopRequireDefault(_TextareaAutosize);
28
+
29
+ var _Typography = require('@material-ui/core/Typography');
30
+
31
+ var _Typography2 = _interopRequireDefault(_Typography);
32
+
33
+ var _useMediaQuery = require('@material-ui/core/useMediaQuery');
34
+
35
+ var _useMediaQuery2 = _interopRequireDefault(_useMediaQuery);
36
+
37
+ var _ = require('../');
38
+
39
+ var _core = require('@material-ui/core');
40
+
41
+ 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; } }
42
+
43
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
44
+
45
+ var useStyles = (0, _styles.makeStyles)(function (theme) {
46
+ return {
47
+ container: {
48
+ boxShadow: 'none',
49
+ width: '100%',
50
+ padding: 20
51
+ },
52
+ textarea: {
53
+ width: '100%',
54
+ margin: theme.spacing(0.5, 0, 0, 0)
55
+ },
56
+ title: _extends({
57
+ paddingBottom: 30
58
+ }, R.pathOr({}, ['mixins', 'share', 'title'], theme))
59
+ };
60
+ });
61
+
62
+ var ShortUrls = function ShortUrls(_ref) {
63
+ var labels = _ref.labels,
64
+ onClick = _ref.onClick,
65
+ isLoading = _ref.isLoading,
66
+ contentValue = _ref.contentValue;
67
+
68
+ var isNarrow = (0, _useMediaQuery2.default)(function (theme) {
69
+ return theme.breakpoints.down('sm');
70
+ });
71
+ var classes = useStyles();
72
+ return _react2.default.createElement(
73
+ _Grid2.default,
74
+ { className: classes.container },
75
+ _react2.default.createElement(
76
+ _Typography2.default,
77
+ { variant: 'h6', className: classes.title },
78
+ R.prop('title')(labels)
79
+ ),
80
+ _react2.default.createElement(
81
+ _Grid2.default,
82
+ {
83
+ container: true,
84
+ justifyContent: isNarrow ? 'center' : 'flex-start',
85
+ alignItems: isNarrow ? 'left' : 'center',
86
+ direction: isNarrow ? 'column-reverse' : 'row'
87
+ },
88
+ _react2.default.createElement(
89
+ _Grid2.default,
90
+ { item: true, xs: 12, sm: 12, md: 4, lg: 5 },
91
+ _react2.default.createElement(
92
+ _.Button,
93
+ {
94
+ 'aria-label': R.propOr('', 'generateUrl')(labels),
95
+ type: 'submit',
96
+ variant: 'contained',
97
+ color: 'primary',
98
+ disabled: isLoading || R.isNil(onClick),
99
+ alternative: 'siscc',
100
+ onClick: onClick,
101
+ className: classes.submitButton
102
+ },
103
+ isLoading ? _react2.default.createElement(_core.CircularProgress, { size: 24 }) : R.propOr('', 'generateUrl')(labels)
104
+ )
105
+ ),
106
+ _react2.default.createElement(
107
+ _Grid2.default,
108
+ { item: true, xs: 12, sm: 12, md: 8, lg: 7 },
109
+ _react2.default.createElement(_TextareaAutosize2.default, {
110
+ 'aria-label': contentValue,
111
+ className: classes.textarea,
112
+ minRows: 2,
113
+ maxRows: 2,
114
+ readOnly: true,
115
+ value: contentValue
116
+ })
117
+ )
118
+ )
119
+ );
120
+ };
121
+ ShortUrls.propTypes = process.env.NODE_ENV !== "production" ? {
122
+ onClick: _propTypes2.default.func,
123
+ isLoading: _propTypes2.default.bool,
124
+ contentValue: _propTypes2.default.string,
125
+ labels: _propTypes2.default.shape({
126
+ generateUrl: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
127
+ title: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
128
+ errorMessage: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element])
129
+ })
130
+ } : {};
131
+ exports.default = ShortUrls;
132
+ module.exports = exports['default'];
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ exports.__esModule = true;
4
+
5
+ var _ShortUrls = require('./ShortUrls');
6
+
7
+ Object.defineProperty(exports, 'default', {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _interopRequireDefault(_ShortUrls).default;
11
+ }
12
+ });
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ module.exports = exports['default'];
package/lib/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  exports.__esModule = true;
4
- exports.T4_BREAKPOINTS = exports.innerPalette = exports.sisccTheme = exports.HierarchicalFilter = exports.AdvancedFilterDialog = exports.VirtualizedTree = exports.AuthDialog = exports.VerticalButton = exports.UserRightForm = exports.Tooltip = exports.ToggleButton = exports.Tag = exports.TablePreview = exports.TableLayout = exports.Cell = exports.TableHtml5 = exports.TableHeader = exports.TableFooter = exports.Spotlight = exports.SisccFooter = exports.Share = exports.Select = exports.reduceChildren = exports.spotlightScopeListEngine = exports.PeriodPicker = exports.Pagination = exports.Mode = exports.NoData = exports.Logo = exports.Loading = exports.LabelDivider = exports.InputNumber = exports.Input = exports.ExpansionPanel = exports.DataFooter = exports.DataHeader = exports.Dataflow = exports.DataEdit = exports.Contact = exports.CollapsibleTree = exports.CollapseButtons = exports.GroupedChips = exports.DeleteAllChip = exports.ChartsConfig = exports.Button = exports.Breadcrumbs = exports.ApiQueries = exports.Alert = undefined;
4
+ exports.T4_BREAKPOINTS = exports.innerPalette = exports.sisccTheme = exports.HierarchicalFilter = exports.AdvancedFilterDialog = exports.VirtualizedTree = exports.AuthDialog = exports.VerticalButton = exports.UserRightForm = exports.Tooltip = exports.ToggleButton = exports.Tag = exports.TablePreview = exports.TableLayout = exports.Cell = exports.TableHtml5 = exports.TableHeader = exports.TableFooter = exports.Spotlight = exports.SisccFooter = exports.ShortUrls = exports.Share = exports.Select = exports.reduceChildren = exports.spotlightScopeListEngine = exports.PeriodPicker = exports.Pagination = exports.Mode = exports.NoData = exports.Logo = exports.Loading = exports.LabelDivider = exports.InputNumber = exports.Input = exports.ExpansionPanel = exports.DataFooter = exports.DataHeader = exports.Dataflow = exports.DataEdit = exports.Contact = exports.CollapsibleTree = exports.CollapseButtons = exports.GroupedChips = exports.DeleteAllChip = exports.ChartsConfig = exports.Button = exports.Breadcrumbs = exports.ApiQueries = exports.Alert = undefined;
5
5
 
6
6
  var _Alert = require('./Alert');
7
7
 
@@ -261,6 +261,15 @@ Object.defineProperty(exports, 'Share', {
261
261
  }
262
262
  });
263
263
 
264
+ var _ShortUrls = require('./ShortUrls');
265
+
266
+ Object.defineProperty(exports, 'ShortUrls', {
267
+ enumerable: true,
268
+ get: function get() {
269
+ return _interopRequireDefault(_ShortUrls).default;
270
+ }
271
+ });
272
+
264
273
  var _SisccFooter = require('./SisccFooter');
265
274
 
266
275
  Object.defineProperty(exports, 'SisccFooter', {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sis-cc/dotstatsuite-visions",
3
- "version": "10.24.0",
3
+ "version": "10.25.0",
4
4
  "description": "Library of visual components",
5
5
  "author": "OECD",
6
6
  "homepage": "https://visions-qa.siscc.org/#o",