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 +7 -1
- package/Table/index.js +204 -140
- package/lib/cjs/Table/index.d.ts +7 -1
- package/lib/cjs/Table/index.js +204 -140
- package/lib/esm/Table/TableField.tsx +9 -1
- package/lib/esm/Table/TableFieldRow.tsx +113 -87
- package/lib/esm/Table/TableHeaders.tsx +82 -62
- package/lib/esm/Table/TableRow.tsx +13 -3
- package/lib/esm/Table/index.tsx +18 -0
- package/package.json +1 -1
package/Table/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
};
|
package/lib/cjs/Table/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
|
|
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;
|