first commit
This commit is contained in:
13
frontend/node_modules/rc-table/lib/VirtualTable/BodyGrid.d.ts
generated
vendored
Normal file
13
frontend/node_modules/rc-table/lib/VirtualTable/BodyGrid.d.ts
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
import * as React from 'react';
|
||||
import type { OnCustomizeScroll, ScrollConfig } from '../interface';
|
||||
export interface GridProps<RecordType = any> {
|
||||
data: RecordType[];
|
||||
onScroll: OnCustomizeScroll;
|
||||
}
|
||||
export interface GridRef {
|
||||
scrollLeft: number;
|
||||
nativeElement: HTMLDivElement;
|
||||
scrollTo: (scrollConfig: ScrollConfig) => void;
|
||||
}
|
||||
declare const ResponseGrid: React.ForwardRefExoticComponent<GridProps<any> & React.RefAttributes<GridRef>>;
|
||||
export default ResponseGrid;
|
||||
283
frontend/node_modules/rc-table/lib/VirtualTable/BodyGrid.js
generated
vendored
Normal file
283
frontend/node_modules/rc-table/lib/VirtualTable/BodyGrid.js
generated
vendored
Normal file
@@ -0,0 +1,283 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
||||
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
||||
var _context = require("@rc-component/context");
|
||||
var _rcVirtualList = _interopRequireDefault(require("rc-virtual-list"));
|
||||
var React = _interopRequireWildcard(require("react"));
|
||||
var _TableContext = _interopRequireWildcard(require("../context/TableContext"));
|
||||
var _useFlattenRecords = _interopRequireDefault(require("../hooks/useFlattenRecords"));
|
||||
var _BodyLine = _interopRequireDefault(require("./BodyLine"));
|
||||
var _context2 = require("./context");
|
||||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
||||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
||||
var Grid = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
||||
var data = props.data,
|
||||
onScroll = props.onScroll;
|
||||
var _useContext = (0, _context.useContext)(_TableContext.default, ['flattenColumns', 'onColumnResize', 'getRowKey', 'prefixCls', 'expandedKeys', 'childrenColumnName', 'scrollX', 'direction']),
|
||||
flattenColumns = _useContext.flattenColumns,
|
||||
onColumnResize = _useContext.onColumnResize,
|
||||
getRowKey = _useContext.getRowKey,
|
||||
expandedKeys = _useContext.expandedKeys,
|
||||
prefixCls = _useContext.prefixCls,
|
||||
childrenColumnName = _useContext.childrenColumnName,
|
||||
scrollX = _useContext.scrollX,
|
||||
direction = _useContext.direction;
|
||||
var _useContext2 = (0, _context.useContext)(_context2.StaticContext),
|
||||
sticky = _useContext2.sticky,
|
||||
scrollY = _useContext2.scrollY,
|
||||
listItemHeight = _useContext2.listItemHeight,
|
||||
getComponent = _useContext2.getComponent,
|
||||
onTablePropScroll = _useContext2.onScroll;
|
||||
|
||||
// =========================== Ref ============================
|
||||
var listRef = React.useRef();
|
||||
|
||||
// =========================== Data ===========================
|
||||
var flattenData = (0, _useFlattenRecords.default)(data, childrenColumnName, expandedKeys, getRowKey);
|
||||
|
||||
// ========================== Column ==========================
|
||||
var columnsWidth = React.useMemo(function () {
|
||||
var total = 0;
|
||||
return flattenColumns.map(function (_ref) {
|
||||
var width = _ref.width,
|
||||
minWidth = _ref.minWidth,
|
||||
key = _ref.key;
|
||||
var finalWidth = Math.max(width || 0, minWidth || 0);
|
||||
total += finalWidth;
|
||||
return [key, finalWidth, total];
|
||||
});
|
||||
}, [flattenColumns]);
|
||||
var columnsOffset = React.useMemo(function () {
|
||||
return columnsWidth.map(function (colWidth) {
|
||||
return colWidth[2];
|
||||
});
|
||||
}, [columnsWidth]);
|
||||
React.useEffect(function () {
|
||||
columnsWidth.forEach(function (_ref2) {
|
||||
var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
|
||||
key = _ref3[0],
|
||||
width = _ref3[1];
|
||||
onColumnResize(key, width);
|
||||
});
|
||||
}, [columnsWidth]);
|
||||
|
||||
// =========================== Ref ============================
|
||||
React.useImperativeHandle(ref, function () {
|
||||
var _listRef$current2;
|
||||
var obj = {
|
||||
scrollTo: function scrollTo(config) {
|
||||
var _listRef$current;
|
||||
(_listRef$current = listRef.current) === null || _listRef$current === void 0 || _listRef$current.scrollTo(config);
|
||||
},
|
||||
nativeElement: (_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 ? void 0 : _listRef$current2.nativeElement
|
||||
};
|
||||
Object.defineProperty(obj, 'scrollLeft', {
|
||||
get: function get() {
|
||||
var _listRef$current3;
|
||||
return ((_listRef$current3 = listRef.current) === null || _listRef$current3 === void 0 ? void 0 : _listRef$current3.getScrollInfo().x) || 0;
|
||||
},
|
||||
set: function set(value) {
|
||||
var _listRef$current4;
|
||||
(_listRef$current4 = listRef.current) === null || _listRef$current4 === void 0 || _listRef$current4.scrollTo({
|
||||
left: value
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// https://github.com/ant-design/ant-design/issues/54734
|
||||
Object.defineProperty(obj, 'scrollTop', {
|
||||
get: function get() {
|
||||
var _listRef$current5;
|
||||
return ((_listRef$current5 = listRef.current) === null || _listRef$current5 === void 0 ? void 0 : _listRef$current5.getScrollInfo().y) || 0;
|
||||
},
|
||||
set: function set(value) {
|
||||
var _listRef$current6;
|
||||
(_listRef$current6 = listRef.current) === null || _listRef$current6 === void 0 || _listRef$current6.scrollTo({
|
||||
top: value
|
||||
});
|
||||
}
|
||||
});
|
||||
return obj;
|
||||
});
|
||||
|
||||
// ======================= Col/Row Span =======================
|
||||
var getRowSpan = function getRowSpan(column, index) {
|
||||
var _flattenData$index;
|
||||
var record = (_flattenData$index = flattenData[index]) === null || _flattenData$index === void 0 ? void 0 : _flattenData$index.record;
|
||||
var onCell = column.onCell;
|
||||
if (onCell) {
|
||||
var _cellProps$rowSpan;
|
||||
var cellProps = onCell(record, index);
|
||||
return (_cellProps$rowSpan = cellProps === null || cellProps === void 0 ? void 0 : cellProps.rowSpan) !== null && _cellProps$rowSpan !== void 0 ? _cellProps$rowSpan : 1;
|
||||
}
|
||||
return 1;
|
||||
};
|
||||
var extraRender = function extraRender(info) {
|
||||
var start = info.start,
|
||||
end = info.end,
|
||||
getSize = info.getSize,
|
||||
offsetY = info.offsetY;
|
||||
|
||||
// Do nothing if no data
|
||||
if (end < 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Find first rowSpan column
|
||||
var firstRowSpanColumns = flattenColumns.filter(
|
||||
// rowSpan is 0
|
||||
function (column) {
|
||||
return getRowSpan(column, start) === 0;
|
||||
});
|
||||
var startIndex = start;
|
||||
var _loop = function _loop(i) {
|
||||
firstRowSpanColumns = firstRowSpanColumns.filter(function (column) {
|
||||
return getRowSpan(column, i) === 0;
|
||||
});
|
||||
if (!firstRowSpanColumns.length) {
|
||||
startIndex = i;
|
||||
return 1; // break
|
||||
}
|
||||
};
|
||||
for (var i = start; i >= 0; i -= 1) {
|
||||
if (_loop(i)) break;
|
||||
}
|
||||
|
||||
// Find last rowSpan column
|
||||
var lastRowSpanColumns = flattenColumns.filter(
|
||||
// rowSpan is not 1
|
||||
function (column) {
|
||||
return getRowSpan(column, end) !== 1;
|
||||
});
|
||||
var endIndex = end;
|
||||
var _loop2 = function _loop2(_i) {
|
||||
lastRowSpanColumns = lastRowSpanColumns.filter(function (column) {
|
||||
return getRowSpan(column, _i) !== 1;
|
||||
});
|
||||
if (!lastRowSpanColumns.length) {
|
||||
endIndex = Math.max(_i - 1, end);
|
||||
return 1; // break
|
||||
}
|
||||
};
|
||||
for (var _i = end; _i < flattenData.length; _i += 1) {
|
||||
if (_loop2(_i)) break;
|
||||
}
|
||||
|
||||
// Collect the line who has rowSpan
|
||||
var spanLines = [];
|
||||
var _loop3 = function _loop3(_i2) {
|
||||
var item = flattenData[_i2];
|
||||
|
||||
// This code will never reach, just incase
|
||||
if (!item) {
|
||||
return 1; // continue
|
||||
}
|
||||
if (flattenColumns.some(function (column) {
|
||||
return getRowSpan(column, _i2) > 1;
|
||||
})) {
|
||||
spanLines.push(_i2);
|
||||
}
|
||||
};
|
||||
for (var _i2 = startIndex; _i2 <= endIndex; _i2 += 1) {
|
||||
if (_loop3(_i2)) continue;
|
||||
}
|
||||
|
||||
// Patch extra line on the page
|
||||
var nodes = spanLines.map(function (index) {
|
||||
var item = flattenData[index];
|
||||
var rowKey = getRowKey(item.record, index);
|
||||
var getHeight = function getHeight(rowSpan) {
|
||||
var endItemIndex = index + rowSpan - 1;
|
||||
var endItemKey = getRowKey(flattenData[endItemIndex].record, endItemIndex);
|
||||
var sizeInfo = getSize(rowKey, endItemKey);
|
||||
return sizeInfo.bottom - sizeInfo.top;
|
||||
};
|
||||
var sizeInfo = getSize(rowKey);
|
||||
return /*#__PURE__*/React.createElement(_BodyLine.default, {
|
||||
key: index,
|
||||
data: item,
|
||||
rowKey: rowKey,
|
||||
index: index,
|
||||
style: {
|
||||
top: -offsetY + sizeInfo.top
|
||||
},
|
||||
extra: true,
|
||||
getHeight: getHeight
|
||||
});
|
||||
});
|
||||
return nodes;
|
||||
};
|
||||
|
||||
// ========================= Context ==========================
|
||||
var gridContext = React.useMemo(function () {
|
||||
return {
|
||||
columnsOffset: columnsOffset
|
||||
};
|
||||
}, [columnsOffset]);
|
||||
|
||||
// ========================== Render ==========================
|
||||
var tblPrefixCls = "".concat(prefixCls, "-tbody");
|
||||
|
||||
// default 'div' in rc-virtual-list
|
||||
var wrapperComponent = getComponent(['body', 'wrapper']);
|
||||
|
||||
// ========================== Sticky Scroll Bar ==========================
|
||||
var horizontalScrollBarStyle = {};
|
||||
if (sticky) {
|
||||
horizontalScrollBarStyle.position = 'sticky';
|
||||
horizontalScrollBarStyle.bottom = 0;
|
||||
if ((0, _typeof2.default)(sticky) === 'object' && sticky.offsetScroll) {
|
||||
horizontalScrollBarStyle.bottom = sticky.offsetScroll;
|
||||
}
|
||||
}
|
||||
return /*#__PURE__*/React.createElement(_context2.GridContext.Provider, {
|
||||
value: gridContext
|
||||
}, /*#__PURE__*/React.createElement(_rcVirtualList.default, {
|
||||
fullHeight: false,
|
||||
ref: listRef,
|
||||
prefixCls: "".concat(tblPrefixCls, "-virtual"),
|
||||
styles: {
|
||||
horizontalScrollBar: horizontalScrollBarStyle
|
||||
},
|
||||
className: tblPrefixCls,
|
||||
height: scrollY,
|
||||
itemHeight: listItemHeight || 24,
|
||||
data: flattenData,
|
||||
itemKey: function itemKey(item) {
|
||||
return getRowKey(item.record);
|
||||
},
|
||||
component: wrapperComponent,
|
||||
scrollWidth: scrollX,
|
||||
direction: direction,
|
||||
onVirtualScroll: function onVirtualScroll(_ref4) {
|
||||
var _listRef$current7;
|
||||
var x = _ref4.x;
|
||||
onScroll({
|
||||
currentTarget: (_listRef$current7 = listRef.current) === null || _listRef$current7 === void 0 ? void 0 : _listRef$current7.nativeElement,
|
||||
scrollLeft: x
|
||||
});
|
||||
},
|
||||
onScroll: onTablePropScroll,
|
||||
extraRender: extraRender
|
||||
}, function (item, index, itemProps) {
|
||||
var rowKey = getRowKey(item.record, index);
|
||||
return /*#__PURE__*/React.createElement(_BodyLine.default, {
|
||||
data: item,
|
||||
rowKey: rowKey,
|
||||
index: index,
|
||||
style: itemProps.style
|
||||
});
|
||||
}));
|
||||
});
|
||||
var ResponseGrid = (0, _TableContext.responseImmutable)(Grid);
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
ResponseGrid.displayName = 'ResponseGrid';
|
||||
}
|
||||
var _default = exports.default = ResponseGrid;
|
||||
14
frontend/node_modules/rc-table/lib/VirtualTable/BodyLine.d.ts
generated
vendored
Normal file
14
frontend/node_modules/rc-table/lib/VirtualTable/BodyLine.d.ts
generated
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
import * as React from 'react';
|
||||
import type { FlattenData } from '../hooks/useFlattenRecords';
|
||||
export interface BodyLineProps<RecordType = any> {
|
||||
data: FlattenData<RecordType>;
|
||||
index: number;
|
||||
className?: string;
|
||||
style?: React.CSSProperties;
|
||||
rowKey: React.Key;
|
||||
/** Render cell only when it has `rowSpan > 1` */
|
||||
extra?: boolean;
|
||||
getHeight?: (rowSpan: number) => number;
|
||||
}
|
||||
declare const ResponseBodyLine: React.ForwardRefExoticComponent<BodyLineProps<any> & React.RefAttributes<HTMLDivElement>>;
|
||||
export default ResponseBodyLine;
|
||||
115
frontend/node_modules/rc-table/lib/VirtualTable/BodyLine.js
generated
vendored
Normal file
115
frontend/node_modules/rc-table/lib/VirtualTable/BodyLine.js
generated
vendored
Normal file
@@ -0,0 +1,115 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
var _typeof = require("@babel/runtime/helpers/typeof");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
||||
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
||||
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
||||
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
||||
var _context = require("@rc-component/context");
|
||||
var _classnames = _interopRequireDefault(require("classnames"));
|
||||
var React = _interopRequireWildcard(require("react"));
|
||||
var _Cell = _interopRequireDefault(require("../Cell"));
|
||||
var _TableContext = _interopRequireWildcard(require("../context/TableContext"));
|
||||
var _useRowInfo = _interopRequireDefault(require("../hooks/useRowInfo"));
|
||||
var _VirtualCell = _interopRequireDefault(require("./VirtualCell"));
|
||||
var _context2 = require("./context");
|
||||
var _expandUtil = require("../utils/expandUtil");
|
||||
var _excluded = ["data", "index", "className", "rowKey", "style", "extra", "getHeight"];
|
||||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
||||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
||||
var BodyLine = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
||||
var data = props.data,
|
||||
index = props.index,
|
||||
className = props.className,
|
||||
rowKey = props.rowKey,
|
||||
style = props.style,
|
||||
extra = props.extra,
|
||||
getHeight = props.getHeight,
|
||||
restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
|
||||
var record = data.record,
|
||||
indent = data.indent,
|
||||
renderIndex = data.index;
|
||||
var _useContext = (0, _context.useContext)(_TableContext.default, ['prefixCls', 'flattenColumns', 'fixColumn', 'componentWidth', 'scrollX']),
|
||||
scrollX = _useContext.scrollX,
|
||||
flattenColumns = _useContext.flattenColumns,
|
||||
prefixCls = _useContext.prefixCls,
|
||||
fixColumn = _useContext.fixColumn,
|
||||
componentWidth = _useContext.componentWidth;
|
||||
var _useContext2 = (0, _context.useContext)(_context2.StaticContext, ['getComponent']),
|
||||
getComponent = _useContext2.getComponent;
|
||||
var rowInfo = (0, _useRowInfo.default)(record, rowKey, index, indent);
|
||||
var RowComponent = getComponent(['body', 'row'], 'div');
|
||||
var cellComponent = getComponent(['body', 'cell'], 'div');
|
||||
|
||||
// ========================== Expand ==========================
|
||||
var rowSupportExpand = rowInfo.rowSupportExpand,
|
||||
expanded = rowInfo.expanded,
|
||||
rowProps = rowInfo.rowProps,
|
||||
expandedRowRender = rowInfo.expandedRowRender,
|
||||
expandedRowClassName = rowInfo.expandedRowClassName;
|
||||
var expandRowNode;
|
||||
if (rowSupportExpand && expanded) {
|
||||
var expandContent = expandedRowRender(record, index, indent + 1, expanded);
|
||||
var expandedClsName = (0, _expandUtil.computedExpandedClassName)(expandedRowClassName, record, index, indent);
|
||||
var additionalProps = {};
|
||||
if (fixColumn) {
|
||||
additionalProps = {
|
||||
style: (0, _defineProperty2.default)({}, '--virtual-width', "".concat(componentWidth, "px"))
|
||||
};
|
||||
}
|
||||
var rowCellCls = "".concat(prefixCls, "-expanded-row-cell");
|
||||
expandRowNode = /*#__PURE__*/React.createElement(RowComponent, {
|
||||
className: (0, _classnames.default)("".concat(prefixCls, "-expanded-row"), "".concat(prefixCls, "-expanded-row-level-").concat(indent + 1), expandedClsName)
|
||||
}, /*#__PURE__*/React.createElement(_Cell.default, {
|
||||
component: cellComponent,
|
||||
prefixCls: prefixCls,
|
||||
className: (0, _classnames.default)(rowCellCls, (0, _defineProperty2.default)({}, "".concat(rowCellCls, "-fixed"), fixColumn)),
|
||||
additionalProps: additionalProps
|
||||
}, expandContent));
|
||||
}
|
||||
|
||||
// ========================== Render ==========================
|
||||
var rowStyle = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, style), {}, {
|
||||
width: scrollX
|
||||
});
|
||||
if (extra) {
|
||||
rowStyle.position = 'absolute';
|
||||
rowStyle.pointerEvents = 'none';
|
||||
}
|
||||
var rowNode = /*#__PURE__*/React.createElement(RowComponent, (0, _extends2.default)({}, rowProps, restProps, {
|
||||
"data-row-key": rowKey,
|
||||
ref: rowSupportExpand ? null : ref,
|
||||
className: (0, _classnames.default)(className, "".concat(prefixCls, "-row"), rowProps === null || rowProps === void 0 ? void 0 : rowProps.className, (0, _defineProperty2.default)({}, "".concat(prefixCls, "-row-extra"), extra)),
|
||||
style: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, rowStyle), rowProps === null || rowProps === void 0 ? void 0 : rowProps.style)
|
||||
}), flattenColumns.map(function (column, colIndex) {
|
||||
return /*#__PURE__*/React.createElement(_VirtualCell.default, {
|
||||
key: colIndex,
|
||||
component: cellComponent,
|
||||
rowInfo: rowInfo,
|
||||
column: column,
|
||||
colIndex: colIndex,
|
||||
indent: indent,
|
||||
index: index,
|
||||
renderIndex: renderIndex,
|
||||
record: record,
|
||||
inverse: extra,
|
||||
getHeight: getHeight
|
||||
});
|
||||
}));
|
||||
if (rowSupportExpand) {
|
||||
return /*#__PURE__*/React.createElement("div", {
|
||||
ref: ref
|
||||
}, rowNode, expandRowNode);
|
||||
}
|
||||
return rowNode;
|
||||
});
|
||||
var ResponseBodyLine = (0, _TableContext.responseImmutable)(BodyLine);
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
ResponseBodyLine.displayName = 'BodyLine';
|
||||
}
|
||||
var _default = exports.default = ResponseBodyLine;
|
||||
26
frontend/node_modules/rc-table/lib/VirtualTable/VirtualCell.d.ts
generated
vendored
Normal file
26
frontend/node_modules/rc-table/lib/VirtualTable/VirtualCell.d.ts
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
import * as React from 'react';
|
||||
import type useRowInfo from '../hooks/useRowInfo';
|
||||
import type { ColumnType, CustomizeComponent } from '../interface';
|
||||
export interface VirtualCellProps<RecordType> {
|
||||
rowInfo: ReturnType<typeof useRowInfo<RecordType>>;
|
||||
column: ColumnType<RecordType>;
|
||||
colIndex: number;
|
||||
indent: number;
|
||||
index: number;
|
||||
component?: CustomizeComponent;
|
||||
/** Used for `column.render` */
|
||||
renderIndex: number;
|
||||
record: RecordType;
|
||||
style?: React.CSSProperties;
|
||||
className?: string;
|
||||
/** Render cell only when it has `rowSpan > 1` */
|
||||
inverse?: boolean;
|
||||
getHeight?: (rowSpan: number) => number;
|
||||
}
|
||||
/**
|
||||
* Return the width of the column by `colSpan`.
|
||||
* When `colSpan` is `0` will be trade as `1`.
|
||||
*/
|
||||
export declare function getColumnWidth(colIndex: number, colSpan: number, columnsOffset: number[]): number;
|
||||
declare function VirtualCell<RecordType = any>(props: VirtualCellProps<RecordType>): React.JSX.Element;
|
||||
export default VirtualCell;
|
||||
124
frontend/node_modules/rc-table/lib/VirtualTable/VirtualCell.js
generated
vendored
Normal file
124
frontend/node_modules/rc-table/lib/VirtualTable/VirtualCell.js
generated
vendored
Normal file
@@ -0,0 +1,124 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
var _typeof = require("@babel/runtime/helpers/typeof");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
exports.getColumnWidth = getColumnWidth;
|
||||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
||||
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
||||
var _context = require("@rc-component/context");
|
||||
var _classnames = _interopRequireDefault(require("classnames"));
|
||||
var React = _interopRequireWildcard(require("react"));
|
||||
var _BodyRow = require("../Body/BodyRow");
|
||||
var _Cell = _interopRequireDefault(require("../Cell"));
|
||||
var _context2 = require("./context");
|
||||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
||||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
||||
/**
|
||||
* Return the width of the column by `colSpan`.
|
||||
* When `colSpan` is `0` will be trade as `1`.
|
||||
*/
|
||||
function getColumnWidth(colIndex, colSpan, columnsOffset) {
|
||||
var mergedColSpan = colSpan || 1;
|
||||
return columnsOffset[colIndex + mergedColSpan] - (columnsOffset[colIndex] || 0);
|
||||
}
|
||||
function VirtualCell(props) {
|
||||
var rowInfo = props.rowInfo,
|
||||
column = props.column,
|
||||
colIndex = props.colIndex,
|
||||
indent = props.indent,
|
||||
index = props.index,
|
||||
component = props.component,
|
||||
renderIndex = props.renderIndex,
|
||||
record = props.record,
|
||||
style = props.style,
|
||||
className = props.className,
|
||||
inverse = props.inverse,
|
||||
getHeight = props.getHeight;
|
||||
var render = column.render,
|
||||
dataIndex = column.dataIndex,
|
||||
columnClassName = column.className,
|
||||
colWidth = column.width;
|
||||
var _useContext = (0, _context.useContext)(_context2.GridContext, ['columnsOffset']),
|
||||
columnsOffset = _useContext.columnsOffset;
|
||||
|
||||
// TODO: support `expandableRowOffset`
|
||||
var _getCellProps = (0, _BodyRow.getCellProps)(rowInfo, column, colIndex, indent, index),
|
||||
key = _getCellProps.key,
|
||||
fixedInfo = _getCellProps.fixedInfo,
|
||||
appendCellNode = _getCellProps.appendCellNode,
|
||||
additionalCellProps = _getCellProps.additionalCellProps;
|
||||
var cellStyle = additionalCellProps.style,
|
||||
_additionalCellProps$ = additionalCellProps.colSpan,
|
||||
colSpan = _additionalCellProps$ === void 0 ? 1 : _additionalCellProps$,
|
||||
_additionalCellProps$2 = additionalCellProps.rowSpan,
|
||||
rowSpan = _additionalCellProps$2 === void 0 ? 1 : _additionalCellProps$2;
|
||||
|
||||
// ========================= ColWidth =========================
|
||||
// column width
|
||||
var startColIndex = colIndex - 1;
|
||||
var concatColWidth = getColumnWidth(startColIndex, colSpan, columnsOffset);
|
||||
|
||||
// margin offset
|
||||
var marginOffset = colSpan > 1 ? colWidth - concatColWidth : 0;
|
||||
|
||||
// ========================== Style ===========================
|
||||
var mergedStyle = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, cellStyle), style), {}, {
|
||||
flex: "0 0 ".concat(concatColWidth, "px"),
|
||||
width: "".concat(concatColWidth, "px"),
|
||||
marginRight: marginOffset,
|
||||
pointerEvents: 'auto'
|
||||
});
|
||||
|
||||
// When `colSpan` or `rowSpan` is `0`, should skip render.
|
||||
var needHide = React.useMemo(function () {
|
||||
if (inverse) {
|
||||
return rowSpan <= 1;
|
||||
} else {
|
||||
return colSpan === 0 || rowSpan === 0 || rowSpan > 1;
|
||||
}
|
||||
}, [rowSpan, colSpan, inverse]);
|
||||
|
||||
// 0 rowSpan or colSpan should not render
|
||||
if (needHide) {
|
||||
mergedStyle.visibility = 'hidden';
|
||||
} else if (inverse) {
|
||||
mergedStyle.height = getHeight === null || getHeight === void 0 ? void 0 : getHeight(rowSpan);
|
||||
}
|
||||
var mergedRender = needHide ? function () {
|
||||
return null;
|
||||
} : render;
|
||||
|
||||
// ========================== Render ==========================
|
||||
var cellSpan = {};
|
||||
|
||||
// Virtual should reset `colSpan` & `rowSpan`
|
||||
if (rowSpan === 0 || colSpan === 0) {
|
||||
cellSpan.rowSpan = 1;
|
||||
cellSpan.colSpan = 1;
|
||||
}
|
||||
return /*#__PURE__*/React.createElement(_Cell.default, (0, _extends2.default)({
|
||||
className: (0, _classnames.default)(columnClassName, className),
|
||||
ellipsis: column.ellipsis,
|
||||
align: column.align,
|
||||
scope: column.rowScope,
|
||||
component: component,
|
||||
prefixCls: rowInfo.prefixCls,
|
||||
key: key,
|
||||
record: record,
|
||||
index: index,
|
||||
renderIndex: renderIndex,
|
||||
dataIndex: dataIndex,
|
||||
render: mergedRender,
|
||||
shouldCellUpdate: column.shouldCellUpdate
|
||||
}, fixedInfo, {
|
||||
appendNode: appendCellNode,
|
||||
additionalProps: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, additionalCellProps), {}, {
|
||||
style: mergedStyle
|
||||
}, cellSpan)
|
||||
}));
|
||||
}
|
||||
var _default = exports.default = VirtualCell;
|
||||
14
frontend/node_modules/rc-table/lib/VirtualTable/context.d.ts
generated
vendored
Normal file
14
frontend/node_modules/rc-table/lib/VirtualTable/context.d.ts
generated
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
/// <reference types="react" />
|
||||
import type { GetComponent, TableSticky } from '../interface';
|
||||
export interface StaticContextProps {
|
||||
scrollY: number;
|
||||
listItemHeight: number;
|
||||
sticky: boolean | TableSticky;
|
||||
getComponent: GetComponent;
|
||||
onScroll?: React.UIEventHandler<HTMLDivElement>;
|
||||
}
|
||||
export declare const StaticContext: import("@rc-component/context").SelectorContext<StaticContextProps>;
|
||||
export interface GridContextProps {
|
||||
columnsOffset: number[];
|
||||
}
|
||||
export declare const GridContext: import("@rc-component/context").SelectorContext<GridContextProps>;
|
||||
9
frontend/node_modules/rc-table/lib/VirtualTable/context.js
generated
vendored
Normal file
9
frontend/node_modules/rc-table/lib/VirtualTable/context.js
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.StaticContext = exports.GridContext = void 0;
|
||||
var _context = require("@rc-component/context");
|
||||
var StaticContext = exports.StaticContext = (0, _context.createContext)(null);
|
||||
var GridContext = exports.GridContext = (0, _context.createContext)(null);
|
||||
17
frontend/node_modules/rc-table/lib/VirtualTable/index.d.ts
generated
vendored
Normal file
17
frontend/node_modules/rc-table/lib/VirtualTable/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
import type { CompareProps } from '@rc-component/context/lib/Immutable';
|
||||
import * as React from 'react';
|
||||
import type { Reference } from '../interface';
|
||||
import Table, { type TableProps } from '../Table';
|
||||
export interface VirtualTableProps<RecordType> extends Omit<TableProps<RecordType>, 'scroll'> {
|
||||
scroll: {
|
||||
x?: number;
|
||||
y: number;
|
||||
};
|
||||
listItemHeight?: number;
|
||||
}
|
||||
export type ForwardGenericVirtualTable = (<RecordType>(props: TableProps<RecordType> & React.RefAttributes<Reference>) => React.ReactElement) & {
|
||||
displayName?: string;
|
||||
};
|
||||
export declare function genVirtualTable(shouldTriggerRender?: CompareProps<typeof Table>): ForwardGenericVirtualTable;
|
||||
declare const _default: ForwardGenericVirtualTable;
|
||||
export default _default;
|
||||
105
frontend/node_modules/rc-table/lib/VirtualTable/index.js
generated
vendored
Normal file
105
frontend/node_modules/rc-table/lib/VirtualTable/index.js
generated
vendored
Normal file
@@ -0,0 +1,105 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
var _typeof = require("@babel/runtime/helpers/typeof");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
exports.genVirtualTable = genVirtualTable;
|
||||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
||||
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
||||
var _classnames = _interopRequireDefault(require("classnames"));
|
||||
var _rcUtil = require("rc-util");
|
||||
var React = _interopRequireWildcard(require("react"));
|
||||
var _constant = require("../constant");
|
||||
var _TableContext = require("../context/TableContext");
|
||||
var _Table = _interopRequireWildcard(require("../Table"));
|
||||
var _BodyGrid = _interopRequireDefault(require("./BodyGrid"));
|
||||
var _context = require("./context");
|
||||
var _get = _interopRequireDefault(require("rc-util/lib/utils/get"));
|
||||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
||||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
||||
var renderBody = function renderBody(rawData, props) {
|
||||
var ref = props.ref,
|
||||
onScroll = props.onScroll;
|
||||
return /*#__PURE__*/React.createElement(_BodyGrid.default, {
|
||||
ref: ref,
|
||||
data: rawData,
|
||||
onScroll: onScroll
|
||||
});
|
||||
};
|
||||
function VirtualTable(props, ref) {
|
||||
var data = props.data,
|
||||
columns = props.columns,
|
||||
scroll = props.scroll,
|
||||
sticky = props.sticky,
|
||||
_props$prefixCls = props.prefixCls,
|
||||
prefixCls = _props$prefixCls === void 0 ? _Table.DEFAULT_PREFIX : _props$prefixCls,
|
||||
className = props.className,
|
||||
listItemHeight = props.listItemHeight,
|
||||
components = props.components,
|
||||
onScroll = props.onScroll;
|
||||
var _ref = scroll || {},
|
||||
scrollX = _ref.x,
|
||||
scrollY = _ref.y;
|
||||
|
||||
// Fill scrollX
|
||||
if (typeof scrollX !== 'number') {
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
(0, _rcUtil.warning)(!scrollX, '`scroll.x` in virtual table must be number.');
|
||||
}
|
||||
scrollX = 1;
|
||||
}
|
||||
|
||||
// Fill scrollY
|
||||
if (typeof scrollY !== 'number') {
|
||||
scrollY = 500;
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
(0, _rcUtil.warning)(false, '`scroll.y` in virtual table must be number.');
|
||||
}
|
||||
}
|
||||
var getComponent = (0, _rcUtil.useEvent)(function (path, defaultComponent) {
|
||||
return (0, _get.default)(components, path) || defaultComponent;
|
||||
});
|
||||
|
||||
// Memo this
|
||||
var onInternalScroll = (0, _rcUtil.useEvent)(onScroll);
|
||||
|
||||
// ========================= Context ==========================
|
||||
var context = React.useMemo(function () {
|
||||
return {
|
||||
sticky: sticky,
|
||||
scrollY: scrollY,
|
||||
listItemHeight: listItemHeight,
|
||||
getComponent: getComponent,
|
||||
onScroll: onInternalScroll
|
||||
};
|
||||
}, [sticky, scrollY, listItemHeight, getComponent, onInternalScroll]);
|
||||
|
||||
// ========================== Render ==========================
|
||||
return /*#__PURE__*/React.createElement(_context.StaticContext.Provider, {
|
||||
value: context
|
||||
}, /*#__PURE__*/React.createElement(_Table.default, (0, _extends2.default)({}, props, {
|
||||
className: (0, _classnames.default)(className, "".concat(prefixCls, "-virtual")),
|
||||
scroll: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, scroll), {}, {
|
||||
x: scrollX
|
||||
}),
|
||||
components: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, components), {}, {
|
||||
// fix https://github.com/ant-design/ant-design/issues/48991
|
||||
body: data !== null && data !== void 0 && data.length ? renderBody : undefined
|
||||
}),
|
||||
columns: columns,
|
||||
internalHooks: _constant.INTERNAL_HOOKS,
|
||||
tailor: true,
|
||||
ref: ref
|
||||
})));
|
||||
}
|
||||
var RefVirtualTable = /*#__PURE__*/React.forwardRef(VirtualTable);
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
RefVirtualTable.displayName = 'VirtualTable';
|
||||
}
|
||||
function genVirtualTable(shouldTriggerRender) {
|
||||
return (0, _TableContext.makeImmutable)(RefVirtualTable, shouldTriggerRender);
|
||||
}
|
||||
var _default = exports.default = genVirtualTable();
|
||||
Reference in New Issue
Block a user