qbs-react-grid 1.1.15 → 1.1.16
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/es/Table.d.ts +1 -0
- package/es/Table.js +7 -5
- package/es/qbsTable/QbsTable.js +4 -0
- package/lib/Table.d.ts +1 -0
- package/lib/Table.js +7 -5
- package/lib/qbsTable/QbsTable.js +4 -0
- package/package.json +1 -1
- package/src/Table.tsx +37 -6
- package/src/qbsTable/QbsTable.tsx +4 -0
- package/src/utils/useTableDimension.ts +0 -1
package/es/Table.d.ts
CHANGED
|
@@ -36,6 +36,7 @@ export interface TableProps<Row, Key> extends Omit<StandardProps, 'onScroll'> {
|
|
|
36
36
|
height?: number;
|
|
37
37
|
/** The minimum height of the table. The height is maintained even when the content is not stretched. */
|
|
38
38
|
minHeight?: number;
|
|
39
|
+
columns?: any;
|
|
39
40
|
/** The row of the table has a mouseover effect */
|
|
40
41
|
hover?: boolean;
|
|
41
42
|
/** The height of the table header */
|
package/es/Table.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
var _excluded = ["affixHeader", "children", "classPrefix", "className", "data", "defaultSortType", "width", "expandedRowKeys", "defaultExpandAllRows", "defaultExpandedRowKeys", "style", "id", "isTree", "hover", "bordered", "cellBordered", "wordWrap", "loading", "locale", "showHeader", "pagination", "paginationProps", "sortColumn", "rowHeight", "sortType", "headerHeight", "minHeight", "height", "autoHeight", "fillHeight", "rtl", "translate3d", "rowKey", "virtualized", "rowClassName", "rowExpandedHeight", "disabledScroll", "affixHorizontalScrollbar", "loadAnimation", "shouldUpdateScroll", "renderRow", "renderRowExpanded", "renderLoading", "renderEmpty", "onSortColumn", "onScroll", "renderTreeToggle", "onRowClick", "onRowContextMenu", "onExpandChange", "onTouchStart", "onTouchMove", "onTouchEnd", "dataTheme", "tableBodyHeight"],
|
|
3
|
+
var _excluded = ["affixHeader", "children", "classPrefix", "className", "data", "defaultSortType", "width", "expandedRowKeys", "defaultExpandAllRows", "defaultExpandedRowKeys", "style", "id", "isTree", "hover", "bordered", "cellBordered", "wordWrap", "loading", "locale", "showHeader", "pagination", "paginationProps", "sortColumn", "rowHeight", "sortType", "headerHeight", "minHeight", "height", "autoHeight", "fillHeight", "rtl", "translate3d", "rowKey", "virtualized", "rowClassName", "rowExpandedHeight", "disabledScroll", "affixHorizontalScrollbar", "loadAnimation", "shouldUpdateScroll", "renderRow", "renderRowExpanded", "renderLoading", "renderEmpty", "onSortColumn", "onScroll", "renderTreeToggle", "onRowClick", "onRowContextMenu", "onExpandChange", "onTouchStart", "onTouchMove", "onTouchEnd", "dataTheme", "tableBodyHeight", "columns"],
|
|
4
4
|
_excluded2 = ["depth", "rowIndex"],
|
|
5
5
|
_excluded3 = ["cellHeight"];
|
|
6
6
|
import { getTranslateDOMPositionXY } from 'dom-lib/translateDOMPositionXY';
|
|
@@ -113,6 +113,7 @@ var Table = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
113
113
|
onTouchEnd = props.onTouchEnd,
|
|
114
114
|
dataTheme = props.dataTheme,
|
|
115
115
|
tableBodyHeight = props.tableBodyHeight,
|
|
116
|
+
columns = props.columns,
|
|
116
117
|
rest = _objectWithoutPropertiesLoose(props, _excluded);
|
|
117
118
|
var _useClassNames = useClassNames(classPrefix, typeof classPrefix !== 'undefined'),
|
|
118
119
|
withClassPrefix = _useClassNames.withClassPrefix,
|
|
@@ -359,7 +360,7 @@ var Table = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
359
360
|
}));
|
|
360
361
|
var styles = _extends({
|
|
361
362
|
width: widthProp || 'auto',
|
|
362
|
-
height:
|
|
363
|
+
height: getTableHeight()
|
|
363
364
|
}, style);
|
|
364
365
|
var renderRowExpanded = useCallback(function (rowData) {
|
|
365
366
|
var styles = {
|
|
@@ -617,6 +618,7 @@ var Table = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
617
618
|
var _visibleRows$current;
|
|
618
619
|
var height = getTableHeight();
|
|
619
620
|
var bodyHeight = height - headerHeight;
|
|
621
|
+
console.log(bodyHeight, height);
|
|
620
622
|
var bodyStyles = {
|
|
621
623
|
top: headerHeight,
|
|
622
624
|
height: bodyHeight,
|
|
@@ -722,9 +724,9 @@ var Table = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
722
724
|
}
|
|
723
725
|
var wheelStyles = {
|
|
724
726
|
position: 'absolute',
|
|
725
|
-
height: contentHeight,
|
|
726
|
-
minHeight:
|
|
727
|
-
maxHeight: tableBodyHeight,
|
|
727
|
+
// height: contentHeight,
|
|
728
|
+
minHeight: contentHeight,
|
|
729
|
+
// maxHeight: tableBodyHeight,
|
|
728
730
|
pointerEvents: isScrolling ? 'none' : undefined
|
|
729
731
|
};
|
|
730
732
|
var topRowStyles = {
|
package/es/qbsTable/QbsTable.js
CHANGED
|
@@ -387,12 +387,16 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
387
387
|
dataTheme: dataTheme,
|
|
388
388
|
wordWrap: wordWrap,
|
|
389
389
|
sortColumn: sortColumn,
|
|
390
|
+
style: {
|
|
391
|
+
position: 'relative'
|
|
392
|
+
},
|
|
390
393
|
sortType: sortType,
|
|
391
394
|
onSortColumn: handleSortColumn,
|
|
392
395
|
onRowClick: onRowClick,
|
|
393
396
|
tableBodyHeight: tableBodyHeight,
|
|
394
397
|
cellBordered: cellBordered,
|
|
395
398
|
bordered: bordered,
|
|
399
|
+
columns: columns,
|
|
396
400
|
minHeight: minHeight,
|
|
397
401
|
headerHeight: headerHeight,
|
|
398
402
|
loading: isLoading != null ? isLoading : loading,
|
package/lib/Table.d.ts
CHANGED
|
@@ -36,6 +36,7 @@ export interface TableProps<Row, Key> extends Omit<StandardProps, 'onScroll'> {
|
|
|
36
36
|
height?: number;
|
|
37
37
|
/** The minimum height of the table. The height is maintained even when the content is not stretched. */
|
|
38
38
|
minHeight?: number;
|
|
39
|
+
columns?: any;
|
|
39
40
|
/** The row of the table has a mouseover effect */
|
|
40
41
|
hover?: boolean;
|
|
41
42
|
/** The height of the table header */
|
package/lib/Table.js
CHANGED
|
@@ -20,7 +20,7 @@ var _Row = _interopRequireDefault(require("./Row"));
|
|
|
20
20
|
var _Scrollbar = _interopRequireDefault(require("./Scrollbar"));
|
|
21
21
|
var _TableContext = _interopRequireDefault(require("./TableContext"));
|
|
22
22
|
var _utils = require("./utils");
|
|
23
|
-
var _excluded = ["affixHeader", "children", "classPrefix", "className", "data", "defaultSortType", "width", "expandedRowKeys", "defaultExpandAllRows", "defaultExpandedRowKeys", "style", "id", "isTree", "hover", "bordered", "cellBordered", "wordWrap", "loading", "locale", "showHeader", "pagination", "paginationProps", "sortColumn", "rowHeight", "sortType", "headerHeight", "minHeight", "height", "autoHeight", "fillHeight", "rtl", "translate3d", "rowKey", "virtualized", "rowClassName", "rowExpandedHeight", "disabledScroll", "affixHorizontalScrollbar", "loadAnimation", "shouldUpdateScroll", "renderRow", "renderRowExpanded", "renderLoading", "renderEmpty", "onSortColumn", "onScroll", "renderTreeToggle", "onRowClick", "onRowContextMenu", "onExpandChange", "onTouchStart", "onTouchMove", "onTouchEnd", "dataTheme", "tableBodyHeight"],
|
|
23
|
+
var _excluded = ["affixHeader", "children", "classPrefix", "className", "data", "defaultSortType", "width", "expandedRowKeys", "defaultExpandAllRows", "defaultExpandedRowKeys", "style", "id", "isTree", "hover", "bordered", "cellBordered", "wordWrap", "loading", "locale", "showHeader", "pagination", "paginationProps", "sortColumn", "rowHeight", "sortType", "headerHeight", "minHeight", "height", "autoHeight", "fillHeight", "rtl", "translate3d", "rowKey", "virtualized", "rowClassName", "rowExpandedHeight", "disabledScroll", "affixHorizontalScrollbar", "loadAnimation", "shouldUpdateScroll", "renderRow", "renderRowExpanded", "renderLoading", "renderEmpty", "onSortColumn", "onScroll", "renderTreeToggle", "onRowClick", "onRowContextMenu", "onExpandChange", "onTouchStart", "onTouchMove", "onTouchEnd", "dataTheme", "tableBodyHeight", "columns"],
|
|
24
24
|
_excluded2 = ["depth", "rowIndex"],
|
|
25
25
|
_excluded3 = ["cellHeight"];
|
|
26
26
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -120,6 +120,7 @@ var Table = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
|
|
|
120
120
|
onTouchEnd = props.onTouchEnd,
|
|
121
121
|
dataTheme = props.dataTheme,
|
|
122
122
|
tableBodyHeight = props.tableBodyHeight,
|
|
123
|
+
columns = props.columns,
|
|
123
124
|
rest = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
|
|
124
125
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix, typeof classPrefix !== 'undefined'),
|
|
125
126
|
withClassPrefix = _useClassNames.withClassPrefix,
|
|
@@ -366,7 +367,7 @@ var Table = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
|
|
|
366
367
|
}));
|
|
367
368
|
var styles = (0, _extends2["default"])({
|
|
368
369
|
width: widthProp || 'auto',
|
|
369
|
-
height:
|
|
370
|
+
height: getTableHeight()
|
|
370
371
|
}, style);
|
|
371
372
|
var renderRowExpanded = (0, _react.useCallback)(function (rowData) {
|
|
372
373
|
var styles = {
|
|
@@ -624,6 +625,7 @@ var Table = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
|
|
|
624
625
|
var _visibleRows$current;
|
|
625
626
|
var height = getTableHeight();
|
|
626
627
|
var bodyHeight = height - headerHeight;
|
|
628
|
+
console.log(bodyHeight, height);
|
|
627
629
|
var bodyStyles = {
|
|
628
630
|
top: headerHeight,
|
|
629
631
|
height: bodyHeight,
|
|
@@ -729,9 +731,9 @@ var Table = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
|
|
|
729
731
|
}
|
|
730
732
|
var wheelStyles = {
|
|
731
733
|
position: 'absolute',
|
|
732
|
-
height: contentHeight,
|
|
733
|
-
minHeight:
|
|
734
|
-
maxHeight: tableBodyHeight,
|
|
734
|
+
// height: contentHeight,
|
|
735
|
+
minHeight: contentHeight,
|
|
736
|
+
// maxHeight: tableBodyHeight,
|
|
735
737
|
pointerEvents: isScrolling ? 'none' : undefined
|
|
736
738
|
};
|
|
737
739
|
var topRowStyles = {
|
package/lib/qbsTable/QbsTable.js
CHANGED
|
@@ -394,12 +394,16 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
394
394
|
dataTheme: dataTheme,
|
|
395
395
|
wordWrap: wordWrap,
|
|
396
396
|
sortColumn: sortColumn,
|
|
397
|
+
style: {
|
|
398
|
+
position: 'relative'
|
|
399
|
+
},
|
|
397
400
|
sortType: sortType,
|
|
398
401
|
onSortColumn: handleSortColumn,
|
|
399
402
|
onRowClick: onRowClick,
|
|
400
403
|
tableBodyHeight: tableBodyHeight,
|
|
401
404
|
cellBordered: cellBordered,
|
|
402
405
|
bordered: bordered,
|
|
406
|
+
columns: columns,
|
|
403
407
|
minHeight: minHeight,
|
|
404
408
|
headerHeight: headerHeight,
|
|
405
409
|
loading: isLoading != null ? isLoading : loading,
|
package/package.json
CHANGED
package/src/Table.tsx
CHANGED
|
@@ -6,14 +6,40 @@ import PropTypes from 'prop-types';
|
|
|
6
6
|
import React, { useCallback, useImperativeHandle, useReducer, useRef, useState } from 'react';
|
|
7
7
|
|
|
8
8
|
import CellGroup from './CellGroup';
|
|
9
|
-
import {
|
|
9
|
+
import {
|
|
10
|
+
CELL_PADDING_HEIGHT,
|
|
11
|
+
EXPANDED_KEY,
|
|
12
|
+
ROW_HEADER_HEIGHT,
|
|
13
|
+
ROW_HEIGHT,
|
|
14
|
+
SCROLLBAR_WIDTH,
|
|
15
|
+
SORT_TYPE,
|
|
16
|
+
TREE_DEPTH
|
|
17
|
+
} from './constants';
|
|
10
18
|
import EmptyMessage from './EmptyMessage';
|
|
11
19
|
import Loader from './Loader';
|
|
12
20
|
import MouseArea from './MouseArea';
|
|
13
21
|
import Row, { RowProps } from './Row';
|
|
14
22
|
import Scrollbar, { ScrollbarInstance } from './Scrollbar';
|
|
15
23
|
import TableContext from './TableContext';
|
|
16
|
-
import {
|
|
24
|
+
import {
|
|
25
|
+
findAllParents,
|
|
26
|
+
findRowKeys,
|
|
27
|
+
flattenData,
|
|
28
|
+
isRTL,
|
|
29
|
+
isSupportTouchEvent,
|
|
30
|
+
mergeCells,
|
|
31
|
+
resetLeftForCells,
|
|
32
|
+
shouldShowRowByExpanded,
|
|
33
|
+
useAffix,
|
|
34
|
+
useCellDescriptor,
|
|
35
|
+
useClassNames,
|
|
36
|
+
useControlled,
|
|
37
|
+
usePosition,
|
|
38
|
+
useScrollListener,
|
|
39
|
+
useTableDimension,
|
|
40
|
+
useTableRows,
|
|
41
|
+
useUpdateEffect
|
|
42
|
+
} from './utils';
|
|
17
43
|
|
|
18
44
|
import type {
|
|
19
45
|
StandardProps,
|
|
@@ -101,6 +127,7 @@ export interface TableProps<Row, Key> extends Omit<StandardProps, 'onScroll'> {
|
|
|
101
127
|
/** The minimum height of the table. The height is maintained even when the content is not stretched. */
|
|
102
128
|
minHeight?: number;
|
|
103
129
|
|
|
130
|
+
columns?: any;
|
|
104
131
|
/** The row of the table has a mouseover effect */
|
|
105
132
|
hover?: boolean;
|
|
106
133
|
|
|
@@ -307,6 +334,7 @@ const Table = React.forwardRef(<Row extends RowDataType, Key>(props: TableProps<
|
|
|
307
334
|
onTouchEnd,
|
|
308
335
|
dataTheme,
|
|
309
336
|
tableBodyHeight,
|
|
337
|
+
columns,
|
|
310
338
|
...rest
|
|
311
339
|
} = props;
|
|
312
340
|
|
|
@@ -567,7 +595,9 @@ const Table = React.forwardRef(<Row extends RowDataType, Key>(props: TableProps<
|
|
|
567
595
|
|
|
568
596
|
const styles = {
|
|
569
597
|
width: widthProp || 'auto',
|
|
570
|
-
height:
|
|
598
|
+
height: getTableHeight(),
|
|
599
|
+
// height: tableBodyHeight ?? getTableHeight(),
|
|
600
|
+
|
|
571
601
|
...style
|
|
572
602
|
};
|
|
573
603
|
|
|
@@ -919,6 +949,7 @@ const Table = React.forwardRef(<Row extends RowDataType, Key>(props: TableProps<
|
|
|
919
949
|
const renderTableBody = (bodyCells: any[], rowWidth: number) => {
|
|
920
950
|
const height = getTableHeight();
|
|
921
951
|
const bodyHeight = height - headerHeight;
|
|
952
|
+
console.log(bodyHeight, height);
|
|
922
953
|
const bodyStyles = {
|
|
923
954
|
top: headerHeight,
|
|
924
955
|
height: bodyHeight,
|
|
@@ -1045,9 +1076,9 @@ const Table = React.forwardRef(<Row extends RowDataType, Key>(props: TableProps<
|
|
|
1045
1076
|
|
|
1046
1077
|
const wheelStyles: React.CSSProperties = {
|
|
1047
1078
|
position: 'absolute',
|
|
1048
|
-
height: contentHeight,
|
|
1049
|
-
minHeight:
|
|
1050
|
-
maxHeight: tableBodyHeight,
|
|
1079
|
+
// height: contentHeight,
|
|
1080
|
+
minHeight: contentHeight,
|
|
1081
|
+
// maxHeight: tableBodyHeight,
|
|
1051
1082
|
pointerEvents: isScrolling ? 'none' : undefined
|
|
1052
1083
|
};
|
|
1053
1084
|
const topRowStyles = { height: topHideHeight };
|
|
@@ -407,6 +407,7 @@ const QbsTable: React.FC<QbsTableProps> = ({
|
|
|
407
407
|
),
|
|
408
408
|
[columns, dataTheme]
|
|
409
409
|
);
|
|
410
|
+
|
|
410
411
|
return (
|
|
411
412
|
<div className={`qbs-table ${classes.tableContainerClass}`} data-theme={dataTheme}>
|
|
412
413
|
{toolbar && <ToolBar {...toolbarProps} />}
|
|
@@ -417,12 +418,14 @@ const QbsTable: React.FC<QbsTableProps> = ({
|
|
|
417
418
|
dataTheme={dataTheme}
|
|
418
419
|
wordWrap={wordWrap}
|
|
419
420
|
sortColumn={sortColumn}
|
|
421
|
+
style={{ position: 'relative' }}
|
|
420
422
|
sortType={sortType}
|
|
421
423
|
onSortColumn={handleSortColumn}
|
|
422
424
|
onRowClick={onRowClick}
|
|
423
425
|
tableBodyHeight={tableBodyHeight}
|
|
424
426
|
cellBordered={cellBordered}
|
|
425
427
|
bordered={bordered}
|
|
428
|
+
columns={columns}
|
|
426
429
|
minHeight={minHeight}
|
|
427
430
|
headerHeight={headerHeight}
|
|
428
431
|
loading={isLoading ?? loading}
|
|
@@ -546,6 +549,7 @@ const QbsTable: React.FC<QbsTableProps> = ({
|
|
|
546
549
|
</Column>
|
|
547
550
|
)}
|
|
548
551
|
</Table>
|
|
552
|
+
|
|
549
553
|
<div>
|
|
550
554
|
{pagination && data?.length > 0 && <Pagination paginationProps={paginationProps} />}
|
|
551
555
|
</div>
|