@hipay/hipay-material-ui 2.0.0-beta.46 → 2.0.0-beta.48

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. package/HiCell/CellIcon.js +14 -6
  2. package/HiCell/CellNumeric.js +3 -2
  3. package/HiCell/CellRate.js +2 -1
  4. package/HiCell/CellSentinel.js +2 -1
  5. package/HiChip/HiChip.js +8 -8
  6. package/HiSelect/HiSelect.js +8 -2
  7. package/HiSelectNew/HiSelect.js +37 -5
  8. package/HiSelectableList/HiSelectableListItem.js +10 -5
  9. package/HiTable/HiCellBuilder.js +229 -0
  10. package/HiTable/HiTable.js +155 -0
  11. package/HiTable/HiTableBody.js +90 -0
  12. package/HiTable/HiTableHeader.js +162 -0
  13. package/HiTable/HiTableRow.js +154 -0
  14. package/HiTable/constants.js +145 -0
  15. package/HiTable/index.js +15 -0
  16. package/es/HiCell/CellIcon.js +14 -6
  17. package/es/HiCell/CellNumeric.js +3 -2
  18. package/es/HiCell/CellRate.js +2 -1
  19. package/es/HiCell/CellSentinel.js +2 -1
  20. package/es/HiChip/HiChip.js +10 -10
  21. package/es/HiSelect/HiSelect.js +8 -2
  22. package/es/HiSelectNew/HiSelect.js +34 -4
  23. package/es/HiSelectableList/HiSelectableListItem.js +10 -5
  24. package/es/HiTable/HiCellBuilder.js +181 -0
  25. package/es/HiTable/HiTable.js +114 -0
  26. package/es/HiTable/HiTableBody.js +56 -0
  27. package/es/HiTable/HiTableHeader.js +108 -0
  28. package/es/HiTable/HiTableRow.js +103 -0
  29. package/es/HiTable/constants.js +182 -0
  30. package/es/HiTable/index.js +1 -0
  31. package/es/index.js +1 -0
  32. package/es/utils/helpers.js +1 -1
  33. package/index.es.js +2 -1
  34. package/index.js +9 -1
  35. package/package.json +1 -1
  36. package/umd/hipay-material-ui.development.js +16019 -13679
  37. package/umd/hipay-material-ui.production.min.js +2 -2
  38. package/utils/helpers.js +1 -1
  39. package/yarn-error.log +0 -109
@@ -65,16 +65,19 @@ function (_React$PureComponent) {
65
65
  color = _this$props.color,
66
66
  icon = _this$props.icon,
67
67
  label = _this$props.label,
68
- view = _this$props.view;
68
+ view = _this$props.view,
69
+ size = _this$props.size;
69
70
  return _react.default.createElement("div", {
70
71
  className: classes.wrapper,
71
72
  title: label
72
73
  }, icon && _react.default.createElement(_HiIcon.default, {
73
- color: color,
74
+ color: "inherit",
75
+ style: {
76
+ color: color,
77
+ fontSize: size ? size : 24
78
+ },
74
79
  className: classes.icon,
75
- icon: icon,
76
- width: 40,
77
- height: 24
80
+ icon: icon
78
81
  }), view !== 's' && label && _react.default.createElement("span", {
79
82
  className: classes.label
80
83
  }, label));
@@ -112,7 +115,12 @@ CellIcon.propTypes = process.env.NODE_ENV !== "production" ? {
112
115
  /**
113
116
  * View (L/M/S)
114
117
  */
115
- view: _propTypes.default.oneOf(['l', 'm', 's'])
118
+ view: _propTypes.default.oneOf(['l', 'm', 's']),
119
+
120
+ /**
121
+ * Icon size
122
+ */
123
+ size: _propTypes.default.number
116
124
  } : {};
117
125
 
118
126
  var _default = (0, _withStyles.default)(styles, {
@@ -68,7 +68,7 @@ function (_React$PureComponent) {
68
68
  title = (0, _helpers.formatCurrencyAmount)(value, 'l', locale, currency);
69
69
  } else {
70
70
  displayedValue = (0, _helpers.formatNumber)(value, view, locale, precision);
71
- title = (0, _helpers.formatNumber)(value, 'l', locale);
71
+ title = (0, _helpers.formatNumber)(value, 'l', locale, precision);
72
72
  }
73
73
 
74
74
  return _react.default.createElement("div", {
@@ -81,7 +81,8 @@ function (_React$PureComponent) {
81
81
  }(_react.default.PureComponent);
82
82
 
83
83
  CellNumeric.defaultProps = {
84
- view: 'm'
84
+ view: 'm',
85
+ locale: 'en'
85
86
  };
86
87
  CellNumeric.propTypes = process.env.NODE_ENV !== "production" ? {
87
88
  /**
@@ -138,7 +138,8 @@ function (_React$PureComponent) {
138
138
  }(_react.default.PureComponent);
139
139
 
140
140
  CellRate.defaultProps = {
141
- isPositive: true
141
+ isPositive: true,
142
+ locale: 'en'
142
143
  };
143
144
  CellRate.propTypes = process.env.NODE_ENV !== "production" ? {
144
145
  /**
@@ -104,7 +104,8 @@ function (_React$PureComponent) {
104
104
  var scoreLabel = score > 0 ? "+".concat(score) : "".concat(score);
105
105
  return _react.default.createElement("div", {
106
106
  style: {
107
- textAlign: 'right'
107
+ textAlign: 'right',
108
+ minWidth: '100px'
108
109
  }
109
110
  }, _react.default.createElement(_HiColoredLabel.default, {
110
111
  label: scoreLabel,
package/HiChip/HiChip.js CHANGED
@@ -133,9 +133,15 @@ function HiChip(props) {
133
133
  id: id,
134
134
  className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.leftNavigation, onPrevious), (0, _defineProperty2.default)(_classNames, classes.rightNavigation, onNext), (0, _defineProperty2.default)(_classNames, classes.deletable, onDelete), (0, _defineProperty2.default)(_classNames, classes.leftIcon, icon), _classNames)),
135
135
  title: title
136
- }, prefix && _react.default.createElement("span", {
136
+ }, icon && _react.default.createElement(_HiIcon.default, {
137
+ className: (0, _classnames.default)(classes.icon, (0, _defineProperty2.default)({}, classes.iconClickable, onIconClick)),
138
+ icon: icon,
139
+ size: iconSize,
140
+ onClick: onIconClick,
141
+ title: titleIcon
142
+ }), prefix && _react.default.createElement("span", {
137
143
  className: classes.prefix
138
- }, prefix, " : "), img && _react.default.createElement("img", {
144
+ }, prefix), img && _react.default.createElement("img", {
139
145
  className: classes.badge,
140
146
  src: img,
141
147
  alt: img,
@@ -147,12 +153,6 @@ function HiChip(props) {
147
153
  }
148
154
  },
149
155
  title: titleImg
150
- }), icon && _react.default.createElement(_HiIcon.default, {
151
- className: (0, _classnames.default)(classes.icon, (0, _defineProperty2.default)({}, classes.iconClickable, onIconClick)),
152
- icon: icon,
153
- size: iconSize,
154
- onClick: onIconClick,
155
- title: titleIcon
156
156
  }), onPrevious && _react.default.createElement(_HiIcon.default, {
157
157
  className: (0, _classnames.default)(classes.navigate),
158
158
  icon: "arrow_left",
@@ -72,9 +72,11 @@ var styles = function styles(theme) {
72
72
  position: 'relative'
73
73
  },
74
74
  popper: {
75
- width: '100% !important',
76
75
  zIndex: 1200
77
76
  },
77
+ popperWidth: {
78
+ width: '100% !important'
79
+ },
78
80
  paper: {
79
81
  borderRadius: '0px 2px',
80
82
  maxHeight: 440,
@@ -667,7 +669,7 @@ function (_React$PureComponent) {
667
669
  }
668
670
  }
669
671
 
670
- var popperClass = (0, _classnames.default)(classes.popper, (0, _defineProperty2.default)({}, classes.popperClose, !open));
672
+ var popperClass = (0, _classnames.default)(classes.popper, (0, _defineProperty2.default)({}, classes.popperWidth, !this.props.containerWidth));
671
673
  var allSelected = false;
672
674
 
673
675
  if (selectedIdList.length === this.state.nbOptions) {
@@ -680,6 +682,10 @@ function (_React$PureComponent) {
680
682
  popperStyle = {
681
683
  width: this.props.containerWidth
682
684
  };
685
+
686
+ if (!staticPosition) {
687
+ popperStyle.position = 'absolute';
688
+ }
683
689
  }
684
690
 
685
691
  if (infiniteScroll && loadingMoreResults) {
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = exports.styles = void 0;
9
9
 
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
10
12
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
13
 
12
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
@@ -53,6 +55,8 @@ var _HiIcon = _interopRequireDefault(require("../HiIcon"));
53
55
 
54
56
  var _keycode = _interopRequireDefault(require("keycode"));
55
57
 
58
+ var _classnames = _interopRequireDefault(require("classnames"));
59
+
56
60
  var styles = function styles(theme) {
57
61
  return {
58
62
  root: {
@@ -62,9 +66,15 @@ var styles = function styles(theme) {
62
66
  position: 'relative'
63
67
  },
64
68
  popper: {
65
- width: '100% !important',
66
69
  zIndex: 1200
67
70
  },
71
+ popperWidth: {
72
+ width: '100% !important'
73
+ },
74
+ popperRightAlign: {
75
+ right: 0,
76
+ left: 'unset!important'
77
+ },
68
78
  paper: {
69
79
  borderRadius: '0px 2px',
70
80
  maxHeight: 480,
@@ -431,7 +441,8 @@ function (_React$PureComponent) {
431
441
  }, {
432
442
  key: "render",
433
443
  value: function render() {
434
- var _this2 = this;
444
+ var _classNames,
445
+ _this2 = this;
435
446
 
436
447
  var _this$props4 = this.props,
437
448
  classes = _this$props4.classes,
@@ -478,6 +489,20 @@ function (_React$PureComponent) {
478
489
  _buildSelectProps$inp = _buildSelectProps.inputValue,
479
490
  inputValue = _buildSelectProps$inp === void 0 ? this.buildInputValue(options, selectedItemIdList, loading) : _buildSelectProps$inp;
480
491
 
492
+ var popperStyle = {};
493
+
494
+ if (this.props.containerWidth > 0) {
495
+ popperStyle = {
496
+ width: this.props.containerWidth
497
+ };
498
+
499
+ if (!staticPosition) {
500
+ popperStyle.position = 'absolute';
501
+ }
502
+ }
503
+
504
+ var popperClass = (0, _classnames.default)(classes.popper, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.popperWidth, !this.props.containerWidth), (0, _defineProperty2.default)(_classNames, classes.popperRightAlign, this.props.containerWidth), _classNames));
505
+
481
506
  var content = _react.default.createElement(_ClickAwayListener.default, {
482
507
  onClickAway: this.handleClickAway
483
508
  }, _react.default.createElement(_Grow.default, {
@@ -543,13 +568,15 @@ function (_React$PureComponent) {
543
568
  _this2.inputEl = el;
544
569
  }
545
570
  })), open && staticPosition ? _react.default.createElement("div", {
546
- className: classes.popper
571
+ style: popperStyle,
572
+ className: popperClass
547
573
  }, content) : _react.default.createElement(_Popper.default, {
548
574
  anchorEl: this.inputEl,
549
575
  placement: "bottom-start",
550
576
  open: open,
551
- className: classes.popper,
552
- disablePortal: true
577
+ className: popperClass,
578
+ disablePortal: true,
579
+ style: popperStyle
553
580
  }, content));
554
581
  }
555
582
  }], [{
@@ -595,6 +622,11 @@ HiSelect.propTypes = process.env.NODE_ENV !== "production" ? {
595
622
  */
596
623
  classes: _propTypes.default.object,
597
624
 
625
+ /**
626
+ * Popper width
627
+ */
628
+ containerWidth: _propTypes.default.number,
629
+
598
630
  /**
599
631
  * Inactif
600
632
  */
@@ -111,6 +111,7 @@ var styles = function styles(theme) {
111
111
  }, theme.typography.b1, {
112
112
  fontWeight: 'inherit',
113
113
  width: '100%',
114
+ minWidth: '50%',
114
115
  padding: '5px 0',
115
116
  '& strong': {
116
117
  fontWeight: theme.typography.fontWeightMedium
@@ -137,11 +138,11 @@ var styles = function styles(theme) {
137
138
  color: theme.palette.neutral.main,
138
139
  fontWeight: theme.typography.fontWeightLight,
139
140
  fontSize: 12,
140
- whiteSpace: 'nowrap',
141
141
  textOverflow: 'ellipsis',
142
142
  textAlign: 'right',
143
143
  margin: '4px 12px 4px 8px',
144
- alignSelf: 'center'
144
+ alignSelf: 'center',
145
+ width: '100%'
145
146
  }),
146
147
  checkbox: {
147
148
  marginTop: 3
@@ -312,8 +313,7 @@ function (_React$Component) {
312
313
  classes: {
313
314
  root: !secondaryInline ? classes.checkboxWithSecondaryInline : classes.checkbox
314
315
  },
315
- color: "primary" // TODO ?
316
- ,
316
+ color: disabled ? "inherit" : "primary",
317
317
  disabled: disabled,
318
318
  icon: displayedIcon,
319
319
  indeterminate: indeterminate,
@@ -421,6 +421,11 @@ HiSelectableListItem.propTypes = process.env.NODE_ENV !== "production" ? {
421
421
  */
422
422
  indeterminate: _propTypes.default.bool,
423
423
 
424
+ /**
425
+ * icon à afficher quand le composant a la prop indeterminate.
426
+ */
427
+ indeterminateIcon: _propTypes.default.string,
428
+
424
429
  /**
425
430
  * Text d'information affiché à droite de l'élément
426
431
  */
@@ -484,7 +489,7 @@ HiSelectableListItem.propTypes = process.env.NODE_ENV !== "production" ? {
484
489
 
485
490
  var _default = (0, _withStyles.default)(styles, {
486
491
  hiComponent: true,
487
- name: 'HmuiHiSelectableList'
492
+ name: 'HmuiHiSelectableListItem'
488
493
  })(HiSelectableListItem);
489
494
 
490
495
  exports.default = _default;
@@ -0,0 +1,229 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+
16
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
+
18
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
+
20
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
+
22
+ var _react = _interopRequireDefault(require("react"));
23
+
24
+ var _propTypes = _interopRequireDefault(require("prop-types"));
25
+
26
+ var _TableCell = _interopRequireDefault(require("@material-ui/core/TableCell"));
27
+
28
+ var _CellAddress = _interopRequireDefault(require("@hipay/hipay-material-ui/HiCell/CellAddress"));
29
+
30
+ var _CellDate = _interopRequireDefault(require("@hipay/hipay-material-ui/HiCell/CellDate"));
31
+
32
+ var _CellIcon = _interopRequireDefault(require("@hipay/hipay-material-ui/HiCell/CellIcon"));
33
+
34
+ var _CellImage = _interopRequireDefault(require("@hipay/hipay-material-ui/HiCell/CellImage"));
35
+
36
+ var _CellNumeric = _interopRequireDefault(require("@hipay/hipay-material-ui/HiCell/CellNumeric"));
37
+
38
+ var _CellSentinel = _interopRequireDefault(require("@hipay/hipay-material-ui/HiCell/CellSentinel"));
39
+
40
+ var _CellText = _interopRequireDefault(require("@hipay/hipay-material-ui/HiCell/CellText"));
41
+
42
+ var _CellRate = _interopRequireDefault(require("@hipay/hipay-material-ui/HiCell/CellRate"));
43
+
44
+ var _CellPinToAction = _interopRequireDefault(require("@hipay/hipay-material-ui/HiCell/CellPinToAction"));
45
+
46
+ var cst = _interopRequireWildcard(require("./constants"));
47
+
48
+ // @inheritedComponent CellBuilder
49
+ var HiCellBuilder =
50
+ /*#__PURE__*/
51
+ function (_React$PureComponent) {
52
+ (0, _inherits2.default)(HiCellBuilder, _React$PureComponent);
53
+
54
+ function HiCellBuilder() {
55
+ (0, _classCallCheck2.default)(this, HiCellBuilder);
56
+ return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(HiCellBuilder).apply(this, arguments));
57
+ }
58
+
59
+ (0, _createClass2.default)(HiCellBuilder, [{
60
+ key: "createCell",
61
+ value: function createCell(cell, rowdata, locale) {
62
+ if (rowdata.datas[cell.colId]) {
63
+ var datacell = rowdata.datas[cell.colId];
64
+
65
+ if (cell.data !== undefined) {
66
+ var refproperties = cell.data.find(function (el) {
67
+ return el.id === datacell.value;
68
+ });
69
+
70
+ if (refproperties) {
71
+ Object.keys(refproperties).forEach(function (key) {
72
+ datacell[key] = refproperties[key];
73
+ });
74
+ } else {
75
+ datacell = undefined;
76
+ }
77
+ }
78
+
79
+ if (datacell) {
80
+ switch (cell.type) {
81
+ case cst.TYPE_NUMERIC:
82
+ return _react.default.createElement(_CellNumeric.default, {
83
+ value: datacell.value,
84
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type],
85
+ precision: cell.precision,
86
+ currency: datacell.currency,
87
+ locale: datacell.locale || cell.locale || locale
88
+ });
89
+
90
+ case cst.TYPE_COUNTRY:
91
+ return _react.default.createElement(_CellImage.default, {
92
+ label: datacell.label,
93
+ shortLabel: datacell.id,
94
+ path: datacell.img,
95
+ size: datacell.size,
96
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type]
97
+ });
98
+
99
+ case cst.TYPE_IMAGE:
100
+ return _react.default.createElement(_CellImage.default, {
101
+ label: datacell.label,
102
+ shortLabel: datacell.id,
103
+ path: datacell.img,
104
+ size: datacell.size,
105
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type]
106
+ });
107
+
108
+ case cst.TYPE_RATE:
109
+ return _react.default.createElement(_CellRate.default, {
110
+ indicator: datacell.indicator,
111
+ isPositive: datacell.isPositive,
112
+ locale: datacell.locale || cell.locale || locale,
113
+ value: datacell.value,
114
+ trendchip: datacell.trendchip,
115
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type]
116
+ });
117
+
118
+ case cst.TYPE_ADDRESS:
119
+ return _react.default.createElement(_CellAddress.default, {
120
+ city: datacell.city,
121
+ country: datacell.country,
122
+ isoCountry: datacell.isoCountry,
123
+ name: datacell.name,
124
+ postalCode: datacell.postalCode,
125
+ streetAddress: datacell.streetAddress,
126
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type]
127
+ });
128
+
129
+ case cst.TYPE_DATE:
130
+ return _react.default.createElement(_CellDate.default, {
131
+ date: datacell.date,
132
+ displayTime: datacell.displayTime,
133
+ formatShort: datacell.formatShort,
134
+ locale: datacell.locale || cell.precision || locale,
135
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type]
136
+ });
137
+
138
+ case cst.TYPE_ICON:
139
+ return _react.default.createElement(_CellIcon.default, {
140
+ color: datacell.color,
141
+ icon: datacell.icon,
142
+ label: datacell.label,
143
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type],
144
+ size: cell.size
145
+ });
146
+
147
+ case cst.TYPE_THIRD_PARTY_SECURITY:
148
+ return _react.default.createElement(_CellIcon.default, {
149
+ color: datacell.color,
150
+ icon: datacell.icon,
151
+ label: datacell.label,
152
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type],
153
+ size: cell.size
154
+ });
155
+
156
+ case cst.TYPE_SENTINEL:
157
+ return _react.default.createElement(_CellSentinel.default, {
158
+ automaticFraudReviewResult: datacell.automaticFraudReviewResult,
159
+ fraudResult: datacell.value,
160
+ hideFraudResult: datacell.hideFraudResult,
161
+ pendingManualAction: datacell.pendingManualAction,
162
+ score: datacell.score,
163
+ smartDecision: datacell.smartDecision,
164
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type]
165
+ });
166
+
167
+ case cst.TYPE_PIN_TO_ACTION:
168
+ return _react.default.createElement(_CellPinToAction.default, {
169
+ number: datacell.number,
170
+ onClick: datacell.onClick
171
+ });
172
+
173
+ case cst.TYPE_ACCOUNT_NUMBER:
174
+ return _react.default.createElement(_CellText.default, {
175
+ label: datacell.value,
176
+ color: datacell.color,
177
+ ellipsis: datacell.ellipse
178
+ });
179
+
180
+ default:
181
+ return _react.default.createElement(_CellText.default, {
182
+ label: datacell.value,
183
+ color: datacell.color,
184
+ ellipsis: datacell.ellipse,
185
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type]
186
+ });
187
+ }
188
+ }
189
+ }
190
+
191
+ return null;
192
+ }
193
+ }, {
194
+ key: "render",
195
+ value: function render() {
196
+ var _this$props = this.props,
197
+ column = _this$props.column,
198
+ data = _this$props.data,
199
+ locale = _this$props.locale;
200
+ return _react.default.createElement(_TableCell.default, {
201
+ style: {
202
+ border: 'none',
203
+ paddingRight: '13px',
204
+ paddingLeft: '13px'
205
+ }
206
+ }, this.createCell(column, data, locale));
207
+ }
208
+ }]);
209
+ return HiCellBuilder;
210
+ }(_react.default.PureComponent);
211
+
212
+ HiCellBuilder.propTypes = process.env.NODE_ENV !== "production" ? {
213
+ /**
214
+ * Propriétés de la colonne
215
+ */
216
+ column: _propTypes.default.object.isRequired,
217
+
218
+ /**
219
+ * Données de la cellule
220
+ */
221
+ data: _propTypes.default.object.isRequired,
222
+
223
+ /**
224
+ * Locale pour afficher les nombres et montants
225
+ */
226
+ locale: _propTypes.default.string
227
+ } : {};
228
+ var _default = HiCellBuilder;
229
+ exports.default = _default;
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15
+
16
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
17
+
18
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+
20
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
21
+
22
+ var _react = _interopRequireDefault(require("react"));
23
+
24
+ var _propTypes = _interopRequireDefault(require("prop-types"));
25
+
26
+ var _withStyles = _interopRequireDefault(require("../styles/withStyles"));
27
+
28
+ var _Table = _interopRequireDefault(require("@material-ui/core/Table"));
29
+
30
+ var _HiTableHeader = _interopRequireDefault(require("./HiTableHeader"));
31
+
32
+ var _HiTableBody = _interopRequireDefault(require("./HiTableBody"));
33
+
34
+ // @inheritedComponent Table
35
+ var styles = function styles(theme) {
36
+ return {
37
+ root: {
38
+ backgroundColor: theme.palette.background3
39
+ }
40
+ };
41
+ };
42
+
43
+ var HiTable =
44
+ /*#__PURE__*/
45
+ function (_React$PureComponent) {
46
+ (0, _inherits2.default)(HiTable, _React$PureComponent);
47
+
48
+ function HiTable(props) {
49
+ var _this;
50
+
51
+ (0, _classCallCheck2.default)(this, HiTable);
52
+ _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(HiTable).call(this, props));
53
+
54
+ _this.handleRequestSort = function (event, property) {
55
+ if (_this.props.onSort) {
56
+ _this.props.onSort(property);
57
+ }
58
+ };
59
+
60
+ _this.handleRequestSort = _this.handleRequestSort.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
61
+ return _this;
62
+ }
63
+
64
+ (0, _createClass2.default)(HiTable, [{
65
+ key: "render",
66
+ value: function render() {
67
+ var _this$props = this.props,
68
+ classes = _this$props.classes,
69
+ data = _this$props.data,
70
+ columns = _this$props.columns,
71
+ locale = _this$props.locale,
72
+ sortable = _this$props.sortable,
73
+ onRowClick = _this$props.onRowClick,
74
+ dense = _this$props.dense,
75
+ order = _this$props.order,
76
+ orderBy = _this$props.orderBy;
77
+ return _react.default.createElement(_Table.default, {
78
+ className: classes.root
79
+ }, _react.default.createElement(_HiTableHeader.default, {
80
+ columns: columns,
81
+ order: order,
82
+ orderBy: orderBy,
83
+ onRequestSort: this.handleRequestSort,
84
+ sortable: sortable,
85
+ dense: dense
86
+ }), _react.default.createElement(_HiTableBody.default, {
87
+ data: data,
88
+ columns: columns,
89
+ onClick: onRowClick,
90
+ dense: dense,
91
+ locale: locale
92
+ }));
93
+ }
94
+ }]);
95
+ return HiTable;
96
+ }(_react.default.PureComponent);
97
+
98
+ HiTable.propTypes = process.env.NODE_ENV !== "production" ? {
99
+ /**
100
+ * Surcharge les classes du composant
101
+ */
102
+ classes: _propTypes.default.object,
103
+
104
+ /**
105
+ * En-tête des données et leurs paramètres
106
+ */
107
+ columns: _propTypes.default.object.isRequired,
108
+
109
+ /**
110
+ * Données du tableau
111
+ */
112
+ data: _propTypes.default.array.isRequired,
113
+
114
+ /**
115
+ * Densité d'affichage (joue sur la hauteur des lignes)
116
+ */
117
+ dense: _propTypes.default.bool,
118
+
119
+ /**
120
+ * Locale pour afficher les nombres et montants
121
+ */
122
+ locale: _propTypes.default.string,
123
+
124
+ /**
125
+ * Fonction se déclanchant au clic sur une ligne
126
+ */
127
+ onRowClick: _propTypes.default.func,
128
+
129
+ /**
130
+ * Fonction de trie des données
131
+ */
132
+ onSort: _propTypes.default.func,
133
+
134
+ /**
135
+ * Sens du tri
136
+ */
137
+ order: _propTypes.default.oneOf(['asc', 'desc']),
138
+
139
+ /**
140
+ * Id de la colonne trié
141
+ */
142
+ orderBy: _propTypes.default.string,
143
+
144
+ /**
145
+ * Le tableau est-il triable ?
146
+ */
147
+ sortable: _propTypes.default.bool
148
+ } : {};
149
+
150
+ var _default = (0, _withStyles.default)(styles, {
151
+ hiComponent: true,
152
+ name: 'HmuiHiTable'
153
+ })(HiTable);
154
+
155
+ exports.default = _default;