@hipay/hipay-material-ui 1.0.0-beta.12 → 1.0.0-beta.14
Sign up to get free protection for your applications and to get access to all the features.
- package/HiDatePicker/HiDateRangePicker.js +69 -28
- package/HiDatePicker/HiDateRangeSelector.js +14 -6
- package/HiDatePicker/Overlays/Overlay.js +9 -3
- package/HiDatePicker/stylesheet.js +7 -0
- package/HiSelect/HiSelect.js +1 -1
- package/HiTable/BodyCellBuilder.js +10 -8
- package/HiTable/BodyCells/CellImage.js +5 -1
- package/HiTable/HiTable.js +38 -4
- package/HiTable/HiTableBody.js +12 -4
- package/HiTable/HiTableFooter.js +131 -0
- package/es/HiDatePicker/HiDateRangePicker.js +65 -27
- package/es/HiDatePicker/HiDateRangeSelector.js +15 -7
- package/es/HiDatePicker/Overlays/Overlay.js +10 -3
- package/es/HiDatePicker/stylesheet.js +7 -0
- package/es/HiSelect/HiSelect.js +1 -1
- package/es/HiTable/BodyCellBuilder.js +11 -9
- package/es/HiTable/BodyCells/CellImage.js +5 -1
- package/es/HiTable/HiTable.js +36 -5
- package/es/HiTable/HiTableBody.js +12 -4
- package/es/HiTable/HiTableFooter.js +74 -0
- package/index.es.js +1 -1
- package/index.js +1 -1
- package/package.json +1 -1
- package/umd/hipay-material-ui.development.js +7087 -6960
- package/umd/hipay-material-ui.production.min.js +5 -5
@@ -50,6 +50,10 @@ var _DayPickerInput = require('react-day-picker/DayPickerInput');
|
|
50
50
|
|
51
51
|
var _DayPickerInput2 = _interopRequireDefault(_DayPickerInput);
|
52
52
|
|
53
|
+
var _classnames = require('classnames');
|
54
|
+
|
55
|
+
var _classnames2 = _interopRequireDefault(_classnames);
|
56
|
+
|
53
57
|
var _withStyles = require('../styles/withStyles');
|
54
58
|
|
55
59
|
var _withStyles2 = _interopRequireDefault(_withStyles);
|
@@ -92,6 +96,8 @@ var _stylesheet2 = _interopRequireDefault(_stylesheet);
|
|
92
96
|
|
93
97
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
94
98
|
|
99
|
+
// weak
|
100
|
+
|
95
101
|
var HiDateRangePicker = function (_React$Component) {
|
96
102
|
(0, _inherits3.default)(HiDateRangePicker, _React$Component);
|
97
103
|
|
@@ -100,11 +106,16 @@ var HiDateRangePicker = function (_React$Component) {
|
|
100
106
|
|
101
107
|
var _this = (0, _possibleConstructorReturn3.default)(this, (HiDateRangePicker.__proto__ || (0, _getPrototypeOf2.default)(HiDateRangePicker)).call(this));
|
102
108
|
|
109
|
+
_this.handleDayPickerFocus = function (name) {
|
110
|
+
return function () {
|
111
|
+
_this.setState({ focusedInput: name });
|
112
|
+
};
|
113
|
+
};
|
114
|
+
|
103
115
|
_this.state = {
|
104
|
-
fromOpenedPanel: 'calendar',
|
105
116
|
fromCurrentMonth: props.from ? props.from : new Date(),
|
106
|
-
|
107
|
-
|
117
|
+
toCurrentMonth: props.to ? props.to : new Date(),
|
118
|
+
focusedInput: ''
|
108
119
|
};
|
109
120
|
|
110
121
|
_this.handleReset = _this.handleReset.bind(_this);
|
@@ -128,6 +139,8 @@ var HiDateRangePicker = function (_React$Component) {
|
|
128
139
|
_this.handleYearClick = _this.handleYearClick.bind(_this);
|
129
140
|
_this.handleYearClickFrom = _this.handleYearClickFrom.bind(_this);
|
130
141
|
_this.handleYearClickTo = _this.handleYearClickTo.bind(_this);
|
142
|
+
_this.handleDayPickerFocus = _this.handleDayPickerFocus.bind(_this);
|
143
|
+
_this.handleDayPickerBlur = _this.handleDayPickerBlur.bind(_this);
|
131
144
|
|
132
145
|
_this.openPanel = _this.openPanel.bind(_this);
|
133
146
|
|
@@ -324,6 +337,11 @@ var HiDateRangePicker = function (_React$Component) {
|
|
324
337
|
document.activeElement.blur();
|
325
338
|
}
|
326
339
|
}
|
340
|
+
}, {
|
341
|
+
key: 'handleDayPickerBlur',
|
342
|
+
value: function handleDayPickerBlur() {
|
343
|
+
this.setState({ focusedInput: '' });
|
344
|
+
}
|
327
345
|
}, {
|
328
346
|
key: 'openPanel',
|
329
347
|
value: function openPanel(name, panel) {
|
@@ -367,9 +385,10 @@ var HiDateRangePicker = function (_React$Component) {
|
|
367
385
|
}
|
368
386
|
}, {
|
369
387
|
key: 'renderOverlay',
|
370
|
-
value: function renderOverlay(name, propsOverlay) {
|
388
|
+
value: function renderOverlay(name, propsOverlay, staticPosition) {
|
371
389
|
var rangeOverlayProps = (0, _extends3.default)({}, propsOverlay, {
|
372
|
-
side: name
|
390
|
+
side: name,
|
391
|
+
staticPosition: staticPosition
|
373
392
|
});
|
374
393
|
|
375
394
|
switch (this.state[name + 'OpenedPanel']) {
|
@@ -387,12 +406,12 @@ var HiDateRangePicker = function (_React$Component) {
|
|
387
406
|
}, {
|
388
407
|
key: 'renderOverlayFrom',
|
389
408
|
value: function renderOverlayFrom(propsOverlay) {
|
390
|
-
return this.renderOverlay('from', propsOverlay);
|
409
|
+
return this.renderOverlay('from', propsOverlay, this.props.staticPosition);
|
391
410
|
}
|
392
411
|
}, {
|
393
412
|
key: 'renderOverlayTo',
|
394
413
|
value: function renderOverlayTo(propsOverlay) {
|
395
|
-
return this.renderOverlay('to', propsOverlay);
|
414
|
+
return this.renderOverlay('to', propsOverlay, this.props.staticPosition);
|
396
415
|
}
|
397
416
|
}, {
|
398
417
|
key: 'renderMonthPickerOverlay',
|
@@ -439,7 +458,8 @@ var HiDateRangePicker = function (_React$Component) {
|
|
439
458
|
}, {
|
440
459
|
key: 'render',
|
441
460
|
value: function render() {
|
442
|
-
var _this6 = this
|
461
|
+
var _this6 = this,
|
462
|
+
_classNames;
|
443
463
|
|
444
464
|
var _props = this.props,
|
445
465
|
classes = _props.classes,
|
@@ -457,7 +477,8 @@ var HiDateRangePicker = function (_React$Component) {
|
|
457
477
|
to = _props.to,
|
458
478
|
translations = _props.translations,
|
459
479
|
id = _props.id,
|
460
|
-
|
480
|
+
staticPosition = _props.staticPosition,
|
481
|
+
props = (0, _objectWithoutProperties3.default)(_props, ['classes', 'disabledDays', 'disablePastDays', 'disableFutureDays', 'enableTime', 'labelFrom', 'labelTo', 'locale', 'format', 'from', 'minimumDate', 'onReset', 'to', 'translations', 'id', 'staticPosition']);
|
461
482
|
var _state = this.state,
|
462
483
|
fromCurrentMonth = _state.fromCurrentMonth,
|
463
484
|
toCurrentMonth = _state.toCurrentMonth;
|
@@ -575,32 +596,47 @@ var HiDateRangePicker = function (_React$Component) {
|
|
575
596
|
id: id + '-to'
|
576
597
|
});
|
577
598
|
|
599
|
+
var fromClass = (0, _classnames2.default)((_classNames = {}, (0, _defineProperty3.default)(_classNames, classes.absolute, staticPosition === true && this.state.focusedInput === 'to'), (0, _defineProperty3.default)(_classNames, classes.dayPickerMargin, staticPosition === true && this.state.focusedInput === 'to'), _classNames));
|
600
|
+
var toClass = (0, _classnames2.default)(classes.toInput, (0, _defineProperty3.default)({}, classes.absolute, staticPosition === true && this.state.focusedInput === 'from'));
|
601
|
+
|
578
602
|
return _react2.default.createElement(
|
579
603
|
'div',
|
580
604
|
{ className: classes.root },
|
581
605
|
_react2.default.createElement(
|
582
606
|
'div',
|
583
|
-
{
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
|
594
|
-
|
595
|
-
|
596
|
-
|
597
|
-
|
598
|
-
|
599
|
-
|
607
|
+
{
|
608
|
+
className: classes.fromInput,
|
609
|
+
onFocus: this.handleDayPickerFocus('from'),
|
610
|
+
onBlur: this.handleDayPickerBlur
|
611
|
+
},
|
612
|
+
_react2.default.createElement(
|
613
|
+
'div',
|
614
|
+
{ className: fromClass },
|
615
|
+
_react2.default.createElement(_DayPickerInput2.default, {
|
616
|
+
ref: function ref(el) {
|
617
|
+
_this6.fromInput = el;
|
618
|
+
},
|
619
|
+
value: from,
|
620
|
+
hideOnDayClick: false,
|
621
|
+
overlayComponent: this.renderOverlayFrom,
|
622
|
+
dayPickerProps: fromDayPickerProps,
|
623
|
+
component: _HiForm.HiTextField,
|
624
|
+
inputProps: fromInputProps,
|
625
|
+
format: enableTime ? format + ' HH:mm' : format,
|
626
|
+
formatDate: _moment.formatDate,
|
627
|
+
parseDate: _moment.parseDate,
|
628
|
+
onDayChange: this.handleDayChangeFrom,
|
629
|
+
placeholder: ''
|
630
|
+
})
|
631
|
+
)
|
600
632
|
),
|
601
633
|
_react2.default.createElement(
|
602
634
|
'div',
|
603
|
-
{
|
635
|
+
{
|
636
|
+
className: toClass,
|
637
|
+
onFocus: this.handleDayPickerFocus('to'),
|
638
|
+
onBlur: this.handleDayPickerBlur
|
639
|
+
},
|
604
640
|
_react2.default.createElement(_DayPickerInput2.default, {
|
605
641
|
ref: function ref(el) {
|
606
642
|
_this6.toInput = el;
|
@@ -622,12 +658,13 @@ var HiDateRangePicker = function (_React$Component) {
|
|
622
658
|
}
|
623
659
|
}]);
|
624
660
|
return HiDateRangePicker;
|
625
|
-
}(_react2.default.Component);
|
661
|
+
}(_react2.default.Component);
|
626
662
|
|
627
663
|
HiDateRangePicker.defaultProps = {
|
628
664
|
disabledDays: [],
|
629
665
|
disablePastDays: false,
|
630
666
|
disableFutureDays: false,
|
667
|
+
staticPosition: false,
|
631
668
|
enableTime: false,
|
632
669
|
format: 'YYYY-DD-MM',
|
633
670
|
labelFrom: 'Start',
|
@@ -703,6 +740,10 @@ HiDateRangePicker.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
703
740
|
* Callback au reset de l'input
|
704
741
|
*/
|
705
742
|
onReset: _propTypes2.default.func,
|
743
|
+
/**
|
744
|
+
* Si true, le calendrier sera dans une div static plutot que dans une popper absolute
|
745
|
+
*/
|
746
|
+
staticPosition: _propTypes2.default.bool,
|
706
747
|
/**
|
707
748
|
* Date de fin sélectionnée
|
708
749
|
*/
|
@@ -191,11 +191,11 @@ var HiDateRangeSelector = function (_React$Component) {
|
|
191
191
|
if (selectedOption) {
|
192
192
|
_this.props.onChange('from', selectedOption.from.toDate());
|
193
193
|
_this.props.onChange('to', selectedOption.to.toDate());
|
194
|
-
if (_this.props.returnSelectValue === true) {
|
195
|
-
_this.props.onChange('period', value);
|
196
|
-
}
|
197
194
|
}
|
198
195
|
}
|
196
|
+
if (_this.props.returnSelectValue === true) {
|
197
|
+
_this.props.onChange('period', value);
|
198
|
+
}
|
199
199
|
};
|
200
200
|
};
|
201
201
|
|
@@ -252,7 +252,8 @@ var HiDateRangeSelector = function (_React$Component) {
|
|
252
252
|
translations = _props.translations,
|
253
253
|
classes = _props.classes,
|
254
254
|
selectProps = _props.selectProps,
|
255
|
-
|
255
|
+
staticPosition = _props.staticPosition,
|
256
|
+
props = (0, _objectWithoutProperties3.default)(_props, ['disabled', 'enableTime', 'error', 'errorText', 'helperIcon', 'helperText', 'idRange', 'idSelect', 'label', 'from', 'onChange', 'required', 'to', 'translations', 'classes', 'selectProps', 'staticPosition']);
|
256
257
|
var selectedPreset = this.state.selectedPreset;
|
257
258
|
|
258
259
|
|
@@ -284,7 +285,8 @@ var HiDateRangeSelector = function (_React$Component) {
|
|
284
285
|
translations: translations,
|
285
286
|
value: selectedPreset,
|
286
287
|
containerWidth: this.state.containerWidth,
|
287
|
-
classes: { root: classes.dateSelect }
|
288
|
+
classes: { root: classes.dateSelect },
|
289
|
+
staticPosition: staticPosition
|
288
290
|
}, selectProps))
|
289
291
|
),
|
290
292
|
_react2.default.createElement(
|
@@ -299,7 +301,8 @@ var HiDateRangeSelector = function (_React$Component) {
|
|
299
301
|
onChange: onChange,
|
300
302
|
onReset: this.handleReset,
|
301
303
|
disabled: disabled || selectedPreset !== 'custom',
|
302
|
-
translations: translations
|
304
|
+
translations: translations,
|
305
|
+
staticPosition: staticPosition
|
303
306
|
}, props))
|
304
307
|
)
|
305
308
|
);
|
@@ -313,6 +316,7 @@ HiDateRangeSelector.defaultProps = {
|
|
313
316
|
defaultPreset: 'cd',
|
314
317
|
enableTime: false,
|
315
318
|
returnSelectValue: false,
|
319
|
+
staticPosition: false,
|
316
320
|
locale: 'fr-FR',
|
317
321
|
format: 'YYYY-DD-MM',
|
318
322
|
translations: {
|
@@ -414,6 +418,10 @@ HiDateRangeSelector.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
414
418
|
* Props passées au HiSelectField
|
415
419
|
*/
|
416
420
|
selectProps: _propTypes2.default.object,
|
421
|
+
/**
|
422
|
+
* Si true, le calendrier sera dans une div static plutot que dans une popper absolute
|
423
|
+
*/
|
424
|
+
staticPosition: _propTypes2.default.bool,
|
417
425
|
/**
|
418
426
|
* Date de fin sélectionnée
|
419
427
|
*/
|
@@ -34,10 +34,15 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
34
34
|
var styles = exports.styles = function styles() {
|
35
35
|
return {
|
36
36
|
paper: {
|
37
|
-
position: 'absolute',
|
38
37
|
width: '100%',
|
39
38
|
zIndex: 10
|
40
39
|
},
|
40
|
+
absolute: {
|
41
|
+
position: 'absolute'
|
42
|
+
},
|
43
|
+
relative: {
|
44
|
+
position: 'relative'
|
45
|
+
},
|
41
46
|
left: {
|
42
47
|
width: '200%',
|
43
48
|
left: 0
|
@@ -57,9 +62,10 @@ var Overlay = function Overlay(_ref) {
|
|
57
62
|
|
58
63
|
var classes = _ref.classes,
|
59
64
|
children = _ref.children,
|
60
|
-
side = _ref.side
|
65
|
+
side = _ref.side,
|
66
|
+
staticPosition = _ref.staticPosition;
|
61
67
|
|
62
|
-
var paperClass = (0, _classnames2.default)(classes.paper, (_classNames = {}, (0, _defineProperty3.default)(_classNames, classes.left, side === 'from'), (0, _defineProperty3.default)(_classNames, classes.right, side === 'to'), _classNames));
|
68
|
+
var paperClass = (0, _classnames2.default)(classes.paper, (_classNames = {}, (0, _defineProperty3.default)(_classNames, classes.left, side === 'from'), (0, _defineProperty3.default)(_classNames, classes.right, side === 'to'), (0, _defineProperty3.default)(_classNames, classes.absolute, staticPosition !== true), (0, _defineProperty3.default)(_classNames, classes.relative, staticPosition === true), _classNames));
|
63
69
|
|
64
70
|
return _react2.default.createElement(
|
65
71
|
_Paper2.default,
|
@@ -31,6 +31,13 @@ exports.default = function (theme) {
|
|
31
31
|
width: 'calc(50% - 4px)',
|
32
32
|
marginLeft: 4
|
33
33
|
},
|
34
|
+
absolute: {
|
35
|
+
position: 'absolute'
|
36
|
+
},
|
37
|
+
dayPickerMargin: {
|
38
|
+
top: -337,
|
39
|
+
width: 'calc(100% - 4px)'
|
40
|
+
},
|
34
41
|
// The container element
|
35
42
|
container: {
|
36
43
|
width: '100%',
|
package/HiSelect/HiSelect.js
CHANGED
@@ -485,7 +485,7 @@ HiSelect.defaultProps = {
|
|
485
485
|
var _initialiseProps = function _initialiseProps() {
|
486
486
|
var _this3 = this;
|
487
487
|
|
488
|
-
this.handleClick = function (
|
488
|
+
this.handleClick = function () {
|
489
489
|
if (_this3.state.open) {
|
490
490
|
_this3.handleClose();
|
491
491
|
} else {
|
@@ -127,7 +127,8 @@ var BodyCellBuilder = function (_React$PureComponent) {
|
|
127
127
|
onOpenDetails = _props.onOpenDetails,
|
128
128
|
lookedUp = _props.lookedUp,
|
129
129
|
fixedColumnWidth = _props.fixedColumnWidth,
|
130
|
-
|
130
|
+
disableContextMenu = _props.disableContextMenu,
|
131
|
+
props = (0, _objectWithoutProperties3.default)(_props, ['ukey', 'type', 'data', 'view', 'width', 'padding', 'align', 'dense', 'ellipsis', 'onSelect', 'selectable', 'selected', 'sticky', 'dateLocale', 'numberLocale', 'childrenCount', 'onOpenDetails', 'lookedUp', 'fixedColumnWidth', 'disableContextMenu']);
|
131
132
|
|
132
133
|
|
133
134
|
var layoutProps = {
|
@@ -150,7 +151,6 @@ var BodyCellBuilder = function (_React$PureComponent) {
|
|
150
151
|
if (typeof data !== 'undefined') {
|
151
152
|
|
152
153
|
var cellElement = void 0;
|
153
|
-
var hasContextMenu = true;
|
154
154
|
|
155
155
|
switch (type) {
|
156
156
|
case cst.TYPE_ACCOUNT:
|
@@ -200,7 +200,6 @@ var BodyCellBuilder = function (_React$PureComponent) {
|
|
200
200
|
displayTime: props.displayTime,
|
201
201
|
sticky: sticky
|
202
202
|
});
|
203
|
-
hasContextMenu = false;
|
204
203
|
break;
|
205
204
|
|
206
205
|
case cst.TYPE_ICON:
|
@@ -229,7 +228,6 @@ var BodyCellBuilder = function (_React$PureComponent) {
|
|
229
228
|
view: view,
|
230
229
|
sticky: sticky
|
231
230
|
});
|
232
|
-
hasContextMenu = false;
|
233
231
|
break;
|
234
232
|
|
235
233
|
case cst.TYPE_RATE:
|
@@ -242,7 +240,6 @@ var BodyCellBuilder = function (_React$PureComponent) {
|
|
242
240
|
view: view,
|
243
241
|
sticky: sticky
|
244
242
|
});
|
245
|
-
hasContextMenu = false;
|
246
243
|
break;
|
247
244
|
|
248
245
|
case cst.TYPE_SENTINEL:
|
@@ -287,14 +284,14 @@ var BodyCellBuilder = function (_React$PureComponent) {
|
|
287
284
|
break;
|
288
285
|
}
|
289
286
|
|
290
|
-
cellContent =
|
287
|
+
cellContent = disableContextMenu ? cellElement : _react2.default.createElement(
|
291
288
|
_reactContextmenu.ContextMenuTrigger,
|
292
289
|
{
|
293
290
|
id: 'hitable_context_menu_' + this.props.tabId,
|
294
291
|
collect: this.collectContextMenuDatas
|
295
292
|
},
|
296
293
|
cellElement
|
297
|
-
)
|
294
|
+
);
|
298
295
|
}
|
299
296
|
|
300
297
|
return _react2.default.createElement(
|
@@ -308,7 +305,8 @@ var BodyCellBuilder = function (_React$PureComponent) {
|
|
308
305
|
}(_react2.default.PureComponent);
|
309
306
|
|
310
307
|
BodyCellBuilder.defaultProps = {
|
311
|
-
ellipsis: 'right'
|
308
|
+
ellipsis: 'right',
|
309
|
+
disableContextMenu: true
|
312
310
|
};
|
313
311
|
exports.default = BodyCellBuilder;
|
314
312
|
BodyCellBuilder.propTypes = process.env.NODE_ENV !== "production" ? {
|
@@ -340,6 +338,10 @@ BodyCellBuilder.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
340
338
|
* Densité, défini la hauteur de la ligne
|
341
339
|
*/
|
342
340
|
dense: _propTypes2.default.bool,
|
341
|
+
/**
|
342
|
+
* Active/désactive le menu contextuel au clic droit sur les cellules du tableau
|
343
|
+
*/
|
344
|
+
disableContextMenu: _propTypes2.default.bool.isRequired,
|
343
345
|
/**
|
344
346
|
* Ellipsis
|
345
347
|
*/
|
@@ -83,6 +83,10 @@ var styles = exports.styles = function styles(theme) {
|
|
83
83
|
},
|
84
84
|
center: {
|
85
85
|
textAlign: 'center'
|
86
|
+
},
|
87
|
+
tooltipContainer: {
|
88
|
+
display: 'flex',
|
89
|
+
alignItems: 'center'
|
86
90
|
}
|
87
91
|
};
|
88
92
|
};
|
@@ -113,7 +117,7 @@ var CellImage = function (_React$PureComponent) {
|
|
113
117
|
|
114
118
|
var tooltipContent = _react2.default.createElement(
|
115
119
|
'div',
|
116
|
-
|
120
|
+
{ className: classes.tooltipContainer },
|
117
121
|
_react2.default.createElement('img', { src: path, alt: value, className: classes.tooltipImg }),
|
118
122
|
_react2.default.createElement(
|
119
123
|
'span',
|
package/HiTable/HiTable.js
CHANGED
@@ -67,6 +67,10 @@ var _HiTableFooterScroll = require('./HiTableFooterScroll');
|
|
67
67
|
|
68
68
|
var _HiTableFooterScroll2 = _interopRequireDefault(_HiTableFooterScroll);
|
69
69
|
|
70
|
+
var _HiTableFooter = require('./HiTableFooter');
|
71
|
+
|
72
|
+
var _HiTableFooter2 = _interopRequireDefault(_HiTableFooter);
|
73
|
+
|
70
74
|
var _constants = require('./constants');
|
71
75
|
|
72
76
|
var cst = _interopRequireWildcard(_constants);
|
@@ -707,7 +711,9 @@ var HiTable = function (_React$Component) {
|
|
707
711
|
groupBy = _props.groupBy,
|
708
712
|
lookupColumns = _props.lookupColumns,
|
709
713
|
loading = _props.loading,
|
710
|
-
fixedColumnWidth = _props.fixedColumnWidth
|
714
|
+
fixedColumnWidth = _props.fixedColumnWidth,
|
715
|
+
disableContextMenu = _props.disableContextMenu,
|
716
|
+
footerContent = _props.footerContent;
|
711
717
|
var _state = this.state,
|
712
718
|
dateUpdate = _state.dateUpdate,
|
713
719
|
isScrollToBottom = _state.isScrollToBottom,
|
@@ -716,6 +722,13 @@ var HiTable = function (_React$Component) {
|
|
716
722
|
|
717
723
|
var headerHeight = dense ? cst.CELL_HEADER_HEIGHT_DENSE : cst.CELL_HEADER_HEIGHT;
|
718
724
|
|
725
|
+
var nbColumnsDisplayed = 0;
|
726
|
+
orderedColumns.forEach(function (column) {
|
727
|
+
if (column.displayed !== false) {
|
728
|
+
nbColumnsDisplayed += 1;
|
729
|
+
}
|
730
|
+
});
|
731
|
+
|
719
732
|
return _react2.default.createElement(
|
720
733
|
'div',
|
721
734
|
{ className: classes.root },
|
@@ -785,7 +798,8 @@ var HiTable = function (_React$Component) {
|
|
785
798
|
groupByIds: groupByIds,
|
786
799
|
lookupColumns: lookupColumns,
|
787
800
|
loading: loading,
|
788
|
-
fixedColumnWidth: fixedColumnWidth
|
801
|
+
fixedColumnWidth: fixedColumnWidth,
|
802
|
+
disableContextMenu: disableContextMenu
|
789
803
|
}),
|
790
804
|
infiniteScroll && _react2.default.createElement(_HiTableFooterScroll2.default, {
|
791
805
|
tabId: tabId,
|
@@ -794,7 +808,15 @@ var HiTable = function (_React$Component) {
|
|
794
808
|
maxAutoRequest: 3,
|
795
809
|
isScrollToBottom: isScrollToBottom,
|
796
810
|
translations: translations
|
797
|
-
})
|
811
|
+
}),
|
812
|
+
!infiniteScroll && footerContent && _react2.default.createElement(
|
813
|
+
_HiTableFooter2.default,
|
814
|
+
{
|
815
|
+
nbColumnsDisplayed: nbColumnsDisplayed,
|
816
|
+
view: view
|
817
|
+
},
|
818
|
+
footerContent
|
819
|
+
)
|
798
820
|
),
|
799
821
|
_react2.default.createElement(_HiTableContextMenu2.default, {
|
800
822
|
tabId: tabId,
|
@@ -856,7 +878,8 @@ HiTable.defaultProps = {
|
|
856
878
|
view: 'l',
|
857
879
|
lookupColumns: [],
|
858
880
|
loading: false,
|
859
|
-
fixedColumnWidth: true
|
881
|
+
fixedColumnWidth: true,
|
882
|
+
disableContextMenu: true
|
860
883
|
};
|
861
884
|
HiTable.propTypes = process.env.NODE_ENV !== "production" ? {
|
862
885
|
/**
|
@@ -883,6 +906,10 @@ HiTable.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
883
906
|
* Densité d'affichage (joue sur la hauteur des lignes)
|
884
907
|
*/
|
885
908
|
dense: _propTypes2.default.bool,
|
909
|
+
/**
|
910
|
+
* Active/désactive le menu contextuel au clic droit sur les cellules du tableau
|
911
|
+
*/
|
912
|
+
disableContextMenu: _propTypes2.default.bool.isRequired,
|
886
913
|
/**
|
887
914
|
* Active le filtre sur les colonnes filtrables
|
888
915
|
*/
|
@@ -892,6 +919,10 @@ HiTable.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
892
919
|
* Sinon les colonnes s'adaptent à l'espace disponible
|
893
920
|
*/
|
894
921
|
fixedColumnWidth: _propTypes2.default.bool,
|
922
|
+
/**
|
923
|
+
* Ajoute un footer avec le contenu footerContent à l'intérieur
|
924
|
+
*/
|
925
|
+
footerContent: _propTypes2.default.node,
|
895
926
|
/**
|
896
927
|
* Id de la colonne par laquelle sont regroupé les éléments
|
897
928
|
*/
|
@@ -966,6 +997,9 @@ HiTable.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
966
997
|
/**
|
967
998
|
* Fonction de callback sur le tri d'une colonne
|
968
999
|
* Passe l'id de la colonne et la direction du tri (ou false si tri par défaut)
|
1000
|
+
*
|
1001
|
+
* @param {string} column id
|
1002
|
+
* @param {string} direction
|
969
1003
|
*/
|
970
1004
|
onSort: _propTypes2.default.func,
|
971
1005
|
/**
|
package/HiTable/HiTableBody.js
CHANGED
@@ -287,7 +287,8 @@ var HiTableBody = function (_React$Component) {
|
|
287
287
|
sortedColumnId = _props.sortedColumnId,
|
288
288
|
lookupColumns = _props.lookupColumns,
|
289
289
|
loading = _props.loading,
|
290
|
-
fixedColumnWidth = _props.fixedColumnWidth
|
290
|
+
fixedColumnWidth = _props.fixedColumnWidth,
|
291
|
+
disableContextMenu = _props.disableContextMenu;
|
291
292
|
var _state = this.state,
|
292
293
|
openedParentRowId = _state.openedParentRowId,
|
293
294
|
openedDetailsRowIdList = _state.openedDetailsRowIdList;
|
@@ -386,7 +387,8 @@ var HiTableBody = function (_React$Component) {
|
|
386
387
|
sticky: sticky,
|
387
388
|
tabId: tabId,
|
388
389
|
view: view,
|
389
|
-
fixedColumnWidth: fixedColumnWidth
|
390
|
+
fixedColumnWidth: fixedColumnWidth,
|
391
|
+
disableContextMenu: disableContextMenu
|
390
392
|
});
|
391
393
|
|
392
394
|
if (hasChildren && openedParentRowId === row.rowId) {
|
@@ -416,7 +418,8 @@ var HiTableBody = function (_React$Component) {
|
|
416
418
|
dense: dense,
|
417
419
|
sticky: sticky,
|
418
420
|
isDetail: true,
|
419
|
-
fixedColumnWidth: fixedColumnWidth
|
421
|
+
fixedColumnWidth: fixedColumnWidth,
|
422
|
+
disableContextMenu: disableContextMenu
|
420
423
|
};
|
421
424
|
|
422
425
|
tableRows.push(_react2.default.createElement(_BodyRow2.default, (0, _extends3.default)({ key: row.rowId + '-' + detailRow.rowId }, detailRowProps)));
|
@@ -457,7 +460,8 @@ HiTableBody.defaultProps = {
|
|
457
460
|
height: 450,
|
458
461
|
sticky: true,
|
459
462
|
view: 'l',
|
460
|
-
loading: false
|
463
|
+
loading: false,
|
464
|
+
disableContextMenu: true
|
461
465
|
};
|
462
466
|
HiTableBody.propTypes = process.env.NODE_ENV !== "production" ? {
|
463
467
|
/**
|
@@ -485,6 +489,10 @@ HiTableBody.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
485
489
|
* Densité d'affichage (joue sur la hauteur des lignes)
|
486
490
|
*/
|
487
491
|
dense: _propTypes2.default.bool,
|
492
|
+
/**
|
493
|
+
* Active/désactive le menu contextuel au clic droit sur les cellules du tableau
|
494
|
+
*/
|
495
|
+
disableContextMenu: _propTypes2.default.bool.isRequired,
|
488
496
|
/**
|
489
497
|
* Fixe la taille des colonnes selon le type de vue
|
490
498
|
* Sinon les colonnes s'adaptent à l'espace disponible
|