funda-ui 2.7.105 → 2.7.155

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.
package/Table/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  declare type TableProps = {
3
+ ref?: React.RefObject<any>;
3
4
  wrapperClassName?: string;
4
5
  tableClassName?: string;
5
6
  bodyClassName?: string;
@@ -20,8 +21,13 @@ declare type TableProps = {
20
21
  id?: string;
21
22
  onCellMouseEnter?: (el: any) => void;
22
23
  onCellMouseLeave?: (el: any) => void;
24
+ onCellClick?: (el: any) => void;
23
25
  onRowMouseEnter?: (el: any) => void;
24
26
  onRowMouseLeave?: (el: any) => void;
27
+ onRowClick?: (el: any) => void;
28
+ onHeadCellMouseEnter?: (el: any) => void;
29
+ onHeadCellMouseLeave?: (el: any) => void;
30
+ onHeadCellClick?: (el: any) => void;
25
31
  onClick?: (el: any, val: any) => void;
26
32
  onCheck?: (val: any) => void;
27
33
  onDrag?: (dragStart: any, dragEnd: any) => void;
package/Table/index.js CHANGED
@@ -708,12 +708,15 @@ var TableField = function TableField(props) {
708
708
  var cols = props.cols,
709
709
  width = props.width,
710
710
  className = props.className,
711
+ _props$dataUse = props.dataUse,
712
+ dataUse = _props$dataUse === void 0 ? '' : _props$dataUse,
711
713
  style = props.style,
712
714
  columnHeader = props.columnHeader,
713
715
  index = props.index,
714
716
  content = props.content,
715
717
  evCellMouseEnter = props.evCellMouseEnter,
716
- evCellMouseLeave = props.evCellMouseLeave;
718
+ evCellMouseLeave = props.evCellMouseLeave,
719
+ evCellClick = props.evCellClick;
717
720
  function handleTbodyLeave(e) {
718
721
  var _e$target$closest;
719
722
  (_e$target$closest = e.target.closest('table')) === null || _e$target$closest === void 0 ? void 0 : _e$target$closest.querySelector('tbody').classList.remove('drag-trigger-mousedown');
@@ -723,10 +726,14 @@ var TableField = function TableField(props) {
723
726
  colSpan: cols,
724
727
  "data-table-text": columnHeader,
725
728
  "data-table-col": index,
729
+ "data-use": dataUse,
726
730
  onMouseEnter: handleTbodyLeave,
727
731
  onMouseLeave: function onMouseLeave(e) {
728
732
  evCellMouseLeave === null || evCellMouseLeave === void 0 ? void 0 : evCellMouseLeave(e);
729
733
  },
734
+ onClick: function onClick(e) {
735
+ evCellClick === null || evCellClick === void 0 ? void 0 : evCellClick(e);
736
+ },
730
737
  style: style ? style : width ? typeof window !== 'undefined' && window.innerWidth > 768 ? {
731
738
  width: width
732
739
  } : {} : {},
@@ -818,7 +825,8 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
818
825
 
819
826
  var TableFieldRow = function TableFieldRow(props) {
820
827
  var _latestCheckedData$fi;
821
- var _props$rowActiveClass = props.rowActiveClassName,
828
+ var ref = props.ref,
829
+ _props$rowActiveClass = props.rowActiveClassName,
822
830
  rowActiveClassName = _props$rowActiveClass === void 0 ? 'active' : _props$rowActiveClass,
823
831
  fieldsChecked = props.fieldsChecked,
824
832
  updateFirstInitCheckboxesClassName = props.updateFirstInitCheckboxesClassName,
@@ -827,6 +835,8 @@ var TableFieldRow = function TableFieldRow(props) {
827
835
  cols = props.cols,
828
836
  width = props.width,
829
837
  className = props.className,
838
+ _props$dataUse = props.dataUse,
839
+ dataUse = _props$dataUse === void 0 ? '' : _props$dataUse,
830
840
  style = props.style,
831
841
  columnHeader = props.columnHeader,
832
842
  index = props.index,
@@ -841,7 +851,8 @@ var TableFieldRow = function TableFieldRow(props) {
841
851
  updategetCheckedRootData = props.updategetCheckedRootData,
842
852
  onCheck = props.onCheck,
843
853
  evCellMouseEnter = props.evCellMouseEnter,
844
- evCellMouseLeave = props.evCellMouseLeave;
854
+ evCellMouseLeave = props.evCellMouseLeave,
855
+ evCellClick = props.evCellClick;
845
856
  var contentRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(null);
846
857
  var checkboxRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(null);
847
858
  var _useState = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)(false),
@@ -850,6 +861,15 @@ var TableFieldRow = function TableFieldRow(props) {
850
861
  setFirstInitCheckboxes = _useState2[1];
851
862
  var rowIndex = rowKey === null || rowKey === void 0 ? void 0 : rowKey.replace('row-', '');
852
863
 
864
+ // exposes the following methods
865
+ (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useImperativeHandle)(ref, function () {
866
+ return {
867
+ check: function check(e, val) {
868
+ checkedAct(e, val);
869
+ }
870
+ };
871
+ }, [ref]);
872
+
853
873
  // initialize actived checkboxes
854
874
  var latestCheckedData = function latestCheckedData() {
855
875
  if (firstInitCheckboxes) return getCheckedData;
@@ -865,6 +885,81 @@ var TableFieldRow = function TableFieldRow(props) {
865
885
  return getCheckedData;
866
886
  }
867
887
  };
888
+ function checkedAct(e, val) {
889
+ var _curKey = e.target.value;
890
+ var _checkedData = getCheckedData;
891
+ var _res = getCheckedPrint;
892
+
893
+ // STEP 1:
894
+ // Current checkbox
895
+ //-----------
896
+ if (val === true) {
897
+ _res.push(formatCheckboxControlVal(e.target));
898
+ setCheckboxCheckedData(_checkedData, _curKey, true);
899
+ } else {
900
+ setCheckboxCheckedData(_checkedData, _curKey, false);
901
+ _res = removeItemOnce(_res, _curKey);
902
+ }
903
+
904
+ // STEP 2:
905
+ // Array deduplication
906
+ //-----------
907
+ _res = _res.filter(function (item, index, self) {
908
+ return index === self.findIndex(function (t) {
909
+ return t.key === item.key;
910
+ });
911
+ });
912
+
913
+ // STEP 3:
914
+ // ALl parent checkboxes
915
+ //-----------
916
+ var _headRow = e.target.closest('table').querySelectorAll('thead th')[0];
917
+ if (typeof _headRow !== 'undefined') {
918
+ var _rootCheckbox = _headRow.querySelector('[type="checkbox"]');
919
+ var _checkboxes = (0,dom.getChildren)(e.target.closest('table').querySelector('tbody'), '[type="checkbox"]');
920
+ var _checkedLength = _checkboxes.filter(function (el) {
921
+ return el.checked === true;
922
+ }).length;
923
+ if (_checkedLength === 0) {
924
+ _rootCheckbox.indeterminate = false;
925
+ updategetCheckedRootData([{
926
+ key: "row-all",
927
+ checked: false
928
+ }]);
929
+ } else {
930
+ if (_checkedLength === _checkboxes.length) {
931
+ _rootCheckbox.indeterminate = false;
932
+ updategetCheckedRootData([{
933
+ key: "row-all",
934
+ checked: true
935
+ }]);
936
+ }
937
+ if (_checkedLength < _checkboxes.length) {
938
+ updategetCheckedRootData([{
939
+ key: "row-all",
940
+ checked: false
941
+ }]);
942
+ _rootCheckbox.indeterminate = true;
943
+ }
944
+ }
945
+ }
946
+
947
+ // STEP 4:
948
+ // Update checked data
949
+ //-----------
950
+ updategetCheckedData(_checkedData);
951
+
952
+ // STEP 5:
953
+ // Update checked print
954
+ //-----------
955
+ updateCheckedPrint(_res);
956
+ console.log('***1', e.target, val, _res);
957
+
958
+ // STEP 6:
959
+ // callback
960
+ //-----------
961
+ onCheck === null || onCheck === void 0 ? void 0 : onCheck(_res);
962
+ }
868
963
  function handleTbodyEnter(e) {
869
964
  var _e$target$closest;
870
965
  (_e$target$closest = e.target.closest('table')) === null || _e$target$closest === void 0 ? void 0 : _e$target$closest.querySelector('tbody').classList.add('drag-trigger-mousedown');
@@ -874,6 +969,7 @@ var TableFieldRow = function TableFieldRow(props) {
874
969
  colSpan: cols,
875
970
  "data-table-text": columnHeader,
876
971
  "data-table-col": index,
972
+ "data-use": dataUse,
877
973
  style: style ? style : width ? typeof window !== 'undefined' && window.innerWidth > 768 ? {
878
974
  width: width
879
975
  } : {} : {},
@@ -883,6 +979,9 @@ var TableFieldRow = function TableFieldRow(props) {
883
979
  },
884
980
  onMouseLeave: function onMouseLeave(e) {
885
981
  evCellMouseLeave === null || evCellMouseLeave === void 0 ? void 0 : evCellMouseLeave(e);
982
+ },
983
+ onClick: function onClick(e) {
984
+ evCellClick === null || evCellClick === void 0 ? void 0 : evCellClick(e);
886
985
  }
887
986
  }, draggable ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("span", {
888
987
  className: "drag-trigger",
@@ -1005,79 +1104,7 @@ var TableFieldRow = function TableFieldRow(props) {
1005
1104
  return cur.key === rowKey;
1006
1105
  })[0]) === null || _latestCheckedData$fi === void 0 ? void 0 : _latestCheckedData$fi.checked,
1007
1106
  onChange: function onChange(e, val) {
1008
- var _curKey = e.target.value;
1009
- var _checkedData = getCheckedData;
1010
- var _res = getCheckedPrint;
1011
-
1012
- // STEP 1:
1013
- // Current checkbox
1014
- //-----------
1015
- if (val === true) {
1016
- _res.push(formatCheckboxControlVal(e.target));
1017
- setCheckboxCheckedData(_checkedData, _curKey, true);
1018
- } else {
1019
- setCheckboxCheckedData(_checkedData, _curKey, false);
1020
- _res = removeItemOnce(_res, _curKey);
1021
- }
1022
-
1023
- // STEP 2:
1024
- // Array deduplication
1025
- //-----------
1026
- _res = _res.filter(function (item, index, self) {
1027
- return index === self.findIndex(function (t) {
1028
- return t.key === item.key;
1029
- });
1030
- });
1031
-
1032
- // STEP 3:
1033
- // ALl parent checkboxes
1034
- //-----------
1035
- var _headRow = e.target.closest('table').querySelectorAll('thead th')[0];
1036
- if (typeof _headRow !== 'undefined') {
1037
- var _rootCheckbox = _headRow.querySelector('[type="checkbox"]');
1038
- var _checkboxes = (0,dom.getChildren)(e.target.closest('table').querySelector('tbody'), '[type="checkbox"]');
1039
- var _checkedLength = _checkboxes.filter(function (el) {
1040
- return el.checked === true;
1041
- }).length;
1042
- if (_checkedLength === 0) {
1043
- _rootCheckbox.indeterminate = false;
1044
- updategetCheckedRootData([{
1045
- key: "row-all",
1046
- checked: false
1047
- }]);
1048
- } else {
1049
- if (_checkedLength === _checkboxes.length) {
1050
- _rootCheckbox.indeterminate = false;
1051
- updategetCheckedRootData([{
1052
- key: "row-all",
1053
- checked: true
1054
- }]);
1055
- }
1056
- if (_checkedLength < _checkboxes.length) {
1057
- updategetCheckedRootData([{
1058
- key: "row-all",
1059
- checked: false
1060
- }]);
1061
- _rootCheckbox.indeterminate = true;
1062
- }
1063
- }
1064
- }
1065
-
1066
- // STEP 4:
1067
- // Update checked data
1068
- //-----------
1069
- updategetCheckedData(_checkedData);
1070
-
1071
- // STEP 5:
1072
- // Update checked print
1073
- //-----------
1074
- updateCheckedPrint(_res);
1075
- console.log('***1', e.target, val, _res);
1076
-
1077
- // STEP 6:
1078
- // callback
1079
- //-----------
1080
- onCheck === null || onCheck === void 0 ? void 0 : onCheck(_res);
1107
+ checkedAct(e, val);
1081
1108
  }
1082
1109
  }))), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("span", {
1083
1110
  ref: contentRef
@@ -1101,7 +1128,8 @@ function TableRow_arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
1101
1128
 
1102
1129
  var TableRow = function TableRow(props) {
1103
1130
  var _filter$, _filter$2;
1104
- var _props$rowActiveClass = props.rowActiveClassName,
1131
+ var ref = props.ref,
1132
+ _props$rowActiveClass = props.rowActiveClassName,
1105
1133
  rowActiveClassName = _props$rowActiveClass === void 0 ? 'active' : _props$rowActiveClass,
1106
1134
  fieldsChecked = props.fieldsChecked,
1107
1135
  index = props.index,
@@ -1123,8 +1151,10 @@ var TableRow = function TableRow(props) {
1123
1151
  evDragStart = props.evDragStart,
1124
1152
  evCellMouseEnter = props.evCellMouseEnter,
1125
1153
  evCellMouseLeave = props.evCellMouseLeave,
1154
+ evCellClick = props.evCellClick,
1126
1155
  evRowMouseEnter = props.evRowMouseEnter,
1127
- evRowMouseLeave = props.evRowMouseLeave;
1156
+ evRowMouseLeave = props.evRowMouseLeave,
1157
+ evRowClick = props.evRowClick;
1128
1158
  var nonExistentRowKey = "row-null";
1129
1159
  var rowIndex = rowKey === null || rowKey === void 0 ? void 0 : rowKey.replace('row-', '');
1130
1160
  var _rowChecked = (_filter$ = getCheckedData.filter(function (cur) {
@@ -1151,6 +1181,7 @@ var TableRow = function TableRow(props) {
1151
1181
  function handleClick(event) {
1152
1182
  var curVal = formatPerlineControlVal(event.currentTarget);
1153
1183
  onClick === null || onClick === void 0 ? void 0 : onClick(event, curVal);
1184
+ evRowClick === null || evRowClick === void 0 ? void 0 : evRowClick(event);
1154
1185
  }
1155
1186
  return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement((external_root_React_commonjs2_react_commonjs_react_amd_react_default()).Fragment, null, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("tr", {
1156
1187
  draggable: draggable,
@@ -1175,12 +1206,14 @@ var TableRow = function TableRow(props) {
1175
1206
  if (i === 0) {
1176
1207
  return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement(src_TableFieldRow, {
1177
1208
  key: 'th-row' + i,
1209
+ ref: ref,
1178
1210
  rowActiveClassName: rowActiveClassName,
1179
1211
  fieldsChecked: fieldsChecked,
1180
1212
  updateFirstInitCheckboxesClassName: setFirstInitCheckboxesClassName,
1181
1213
  useRadio: useRadio,
1182
1214
  columnHeader: typeof headerItem.content === 'string' ? headerItem.content.replace(/(<([^>]+)>)/ig, '') : headerItem.content,
1183
1215
  className: el.className,
1216
+ dataUse: el.data,
1184
1217
  cols: el.cols,
1185
1218
  content: el.content,
1186
1219
  width: el.width,
@@ -1197,20 +1230,23 @@ var TableRow = function TableRow(props) {
1197
1230
  onCheck: onCheck,
1198
1231
  draggable: draggable,
1199
1232
  evCellMouseEnter: evCellMouseEnter,
1200
- evCellMouseLeave: evCellMouseLeave
1233
+ evCellMouseLeave: evCellMouseLeave,
1234
+ evCellClick: evCellClick
1201
1235
  });
1202
1236
  } else {
1203
1237
  return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement(src_TableField, {
1204
1238
  key: 'td-row' + i,
1205
1239
  columnHeader: typeof headerItem.content === 'string' ? headerItem.content.replace(/(<([^>]+)>)/ig, '') : headerItem.content,
1206
1240
  className: el.className,
1241
+ dataUse: el.data,
1207
1242
  cols: el.cols,
1208
1243
  content: el.content,
1209
1244
  width: el.width,
1210
1245
  style: el.style,
1211
1246
  index: i,
1212
1247
  evCellMouseEnter: evCellMouseEnter,
1213
- evCellMouseLeave: evCellMouseLeave
1248
+ evCellMouseLeave: evCellMouseLeave,
1249
+ evCellClick: evCellClick
1214
1250
  });
1215
1251
  }
1216
1252
  }) : null));
@@ -1238,7 +1274,67 @@ var TableHeaders = function TableHeaders(props) {
1238
1274
  getCheckedRootData = props.getCheckedRootData,
1239
1275
  updategetCheckedRootData = props.updategetCheckedRootData,
1240
1276
  onCheck = props.onCheck,
1241
- evSort = props.evSort;
1277
+ evSort = props.evSort,
1278
+ evHeadCellMouseEnter = props.evHeadCellMouseEnter,
1279
+ evHeadCellMouseLeave = props.evHeadCellMouseLeave,
1280
+ evHeadCellClick = props.evHeadCellClick;
1281
+ function checkedAct(e, val) {
1282
+ var _checkedData = getCheckedData;
1283
+ var _res = getCheckedPrint;
1284
+
1285
+ // STEP 1:
1286
+ // Current checkbox
1287
+ //-----------
1288
+ if (val === true) {
1289
+ updategetCheckedRootData([{
1290
+ key: "row-all",
1291
+ checked: true
1292
+ }]);
1293
+ } else {
1294
+ updategetCheckedRootData([{
1295
+ key: "row-all",
1296
+ checked: false
1297
+ }]);
1298
+ }
1299
+
1300
+ // STEP 2:
1301
+ // All child checkboxes
1302
+ //-----------
1303
+ var _checkboxes = (0,dom.getChildren)(e.target.closest('table').querySelector('tbody'), '[type="checkbox"]');
1304
+ [].slice.call(_checkboxes).forEach(function (node) {
1305
+ if (val === true) {
1306
+ setCheckboxCheckedData(_checkedData, node.dataset.key, true);
1307
+ _res.push(formatCheckboxControlVal(node));
1308
+ } else {
1309
+ setCheckboxCheckedData(_checkedData, node.dataset.key, false);
1310
+ _res = [];
1311
+ }
1312
+ });
1313
+
1314
+ // STEP 3:
1315
+ // Array deduplication
1316
+ //-----------
1317
+ _res = _res.filter(function (item, index, self) {
1318
+ return index === self.findIndex(function (t) {
1319
+ return t.key === item.key;
1320
+ });
1321
+ });
1322
+
1323
+ // STEP 4:
1324
+ // Update checked data
1325
+ //-----------
1326
+ updategetCheckedData(_checkedData);
1327
+
1328
+ // STEP 5:
1329
+ // Update checked print
1330
+ //-----------
1331
+ updateCheckedPrint(_res);
1332
+
1333
+ // STEP 6:
1334
+ // callback
1335
+ //-----------
1336
+ onCheck === null || onCheck === void 0 ? void 0 : onCheck(_res);
1337
+ }
1242
1338
  return data ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement((external_root_React_commonjs2_react_commonjs_react_amd_react_default()).Fragment, null, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("thead", {
1243
1339
  className: headClassName ? headClassName : ''
1244
1340
  }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("tr", null, data.map(function (item, i) {
@@ -1250,10 +1346,20 @@ var TableHeaders = function TableHeaders(props) {
1250
1346
  "data-sort-type": item.type,
1251
1347
  "data-table-text": typeof item.content === 'string' ? item.content.replace(/(<([^>]+)>)/ig, '') : item.content,
1252
1348
  "data-table-col": i,
1349
+ "data-use": item.data || '',
1253
1350
  style: item.style ? item.style : item.width ? typeof window !== 'undefined' && window.innerWidth > 768 ? {
1254
1351
  width: item.width
1255
1352
  } : {} : {},
1256
- className: item.className || ''
1353
+ className: item.className || '',
1354
+ onMouseEnter: function onMouseEnter(e) {
1355
+ evHeadCellMouseEnter === null || evHeadCellMouseEnter === void 0 ? void 0 : evHeadCellMouseEnter(e);
1356
+ },
1357
+ onMouseLeave: function onMouseLeave(e) {
1358
+ evHeadCellMouseLeave === null || evHeadCellMouseLeave === void 0 ? void 0 : evHeadCellMouseLeave(e);
1359
+ },
1360
+ onClick: function onClick(e) {
1361
+ evHeadCellClick === null || evHeadCellClick === void 0 ? void 0 : evHeadCellClick(e);
1362
+ }
1257
1363
  }, i === 0 ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("span", {
1258
1364
  className: "checkbox-trigger",
1259
1365
  style: {
@@ -1268,61 +1374,7 @@ var TableHeaders = function TableHeaders(props) {
1268
1374
  return cur.key === 'row-all';
1269
1375
  })[0]) === null || _filter$ === void 0 ? void 0 : _filter$.checked,
1270
1376
  onChange: function onChange(e, val) {
1271
- var _checkedData = getCheckedData;
1272
- var _res = getCheckedPrint;
1273
-
1274
- // STEP 1:
1275
- // Current checkbox
1276
- //-----------
1277
- if (val === true) {
1278
- updategetCheckedRootData([{
1279
- key: "row-all",
1280
- checked: true
1281
- }]);
1282
- } else {
1283
- updategetCheckedRootData([{
1284
- key: "row-all",
1285
- checked: false
1286
- }]);
1287
- }
1288
-
1289
- // STEP 2:
1290
- // All child checkboxes
1291
- //-----------
1292
- var _checkboxes = (0,dom.getChildren)(e.target.closest('table').querySelector('tbody'), '[type="checkbox"]');
1293
- [].slice.call(_checkboxes).forEach(function (node) {
1294
- if (val === true) {
1295
- setCheckboxCheckedData(_checkedData, node.dataset.key, true);
1296
- _res.push(formatCheckboxControlVal(node));
1297
- } else {
1298
- setCheckboxCheckedData(_checkedData, node.dataset.key, false);
1299
- _res = [];
1300
- }
1301
- });
1302
-
1303
- // STEP 3:
1304
- // Array deduplication
1305
- //-----------
1306
- _res = _res.filter(function (item, index, self) {
1307
- return index === self.findIndex(function (t) {
1308
- return t.key === item.key;
1309
- });
1310
- });
1311
-
1312
- // STEP 4:
1313
- // Update checked data
1314
- //-----------
1315
- updategetCheckedData(_checkedData);
1316
-
1317
- // STEP 5:
1318
- // Update checked print
1319
- //-----------
1320
- updateCheckedPrint(_res);
1321
-
1322
- // STEP 6:
1323
- // callback
1324
- //-----------
1325
- onCheck === null || onCheck === void 0 ? void 0 : onCheck(_res);
1377
+ checkedAct(e, val);
1326
1378
  }
1327
1379
  })) : null, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("span", {
1328
1380
  dangerouslySetInnerHTML: {
@@ -1401,7 +1453,8 @@ function src_arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
1401
1453
 
1402
1454
 
1403
1455
  var Table = function Table(props) {
1404
- var wrapperClassName = props.wrapperClassName,
1456
+ var ref = props.ref,
1457
+ wrapperClassName = props.wrapperClassName,
1405
1458
  tableClassName = props.tableClassName,
1406
1459
  bodyClassName = props.bodyClassName,
1407
1460
  headClassName = props.headClassName,
@@ -1420,8 +1473,13 @@ var Table = function Table(props) {
1420
1473
  id = props.id,
1421
1474
  onCellMouseEnter = props.onCellMouseEnter,
1422
1475
  onCellMouseLeave = props.onCellMouseLeave,
1476
+ onCellClick = props.onCellClick,
1423
1477
  onRowMouseEnter = props.onRowMouseEnter,
1424
1478
  onRowMouseLeave = props.onRowMouseLeave,
1479
+ onRowClick = props.onRowClick,
1480
+ onHeadCellMouseEnter = props.onHeadCellMouseEnter,
1481
+ onHeadCellMouseLeave = props.onHeadCellMouseLeave,
1482
+ onHeadCellClick = props.onHeadCellClick,
1425
1483
  onClick = props.onClick,
1426
1484
  onCheck = props.onCheck,
1427
1485
  onDrag = props.onDrag,
@@ -1829,7 +1887,10 @@ var Table = function Table(props) {
1829
1887
  updategetCheckedRootData: setCheckedRootData,
1830
1888
  getCheckedRootData: checkedRootData,
1831
1889
  onCheck: onCheck,
1832
- evSort: handleSortList
1890
+ evSort: handleSortList,
1891
+ evHeadCellMouseEnter: onHeadCellMouseEnter,
1892
+ evHeadCellMouseLeave: onHeadCellMouseLeave,
1893
+ evHeadCellClick: onHeadCellClick
1833
1894
  }), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement(src_TableSummaries, {
1834
1895
  data: _summaries,
1835
1896
  footClassName: footClassName
@@ -1845,6 +1906,7 @@ var Table = function Table(props) {
1845
1906
  key: i + String(mainUpdate) // Trigger child component update when prop of parent changes
1846
1907
  ,
1847
1908
  index: i,
1909
+ ref: ref,
1848
1910
  rowActiveClassName: rowActiveClassName,
1849
1911
  fieldsChecked: _fieldsChecked,
1850
1912
  rowKey: "row-".concat(i),
@@ -1865,8 +1927,10 @@ var Table = function Table(props) {
1865
1927
  evDragStart: handleDragStart,
1866
1928
  evCellMouseEnter: onCellMouseEnter,
1867
1929
  evCellMouseLeave: onCellMouseLeave,
1930
+ evCellClick: onCellClick,
1868
1931
  evRowMouseEnter: onRowMouseEnter,
1869
- evRowMouseLeave: onRowMouseLeave
1932
+ evRowMouseLeave: onRowMouseLeave,
1933
+ evRowClick: onRowClick
1870
1934
  });
1871
1935
  }) : ""))));
1872
1936
  };
@@ -1,5 +1,6 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  declare type TableProps = {
3
+ ref?: React.RefObject<any>;
3
4
  wrapperClassName?: string;
4
5
  tableClassName?: string;
5
6
  bodyClassName?: string;
@@ -20,8 +21,13 @@ declare type TableProps = {
20
21
  id?: string;
21
22
  onCellMouseEnter?: (el: any) => void;
22
23
  onCellMouseLeave?: (el: any) => void;
24
+ onCellClick?: (el: any) => void;
23
25
  onRowMouseEnter?: (el: any) => void;
24
26
  onRowMouseLeave?: (el: any) => void;
27
+ onRowClick?: (el: any) => void;
28
+ onHeadCellMouseEnter?: (el: any) => void;
29
+ onHeadCellMouseLeave?: (el: any) => void;
30
+ onHeadCellClick?: (el: any) => void;
25
31
  onClick?: (el: any, val: any) => void;
26
32
  onCheck?: (val: any) => void;
27
33
  onDrag?: (dragStart: any, dragEnd: any) => void;