first commit
This commit is contained in:
36
frontend/node_modules/rc-table/es/Cell/index.d.ts
generated
vendored
Normal file
36
frontend/node_modules/rc-table/es/Cell/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
import * as React from 'react';
|
||||
import type { AlignType, CellEllipsisType, ColumnType, CustomizeComponent, DataIndex, DefaultRecordType, ScopeType } from '../interface';
|
||||
export interface CellProps<RecordType extends DefaultRecordType> {
|
||||
prefixCls?: string;
|
||||
className?: string;
|
||||
record?: RecordType;
|
||||
/** `column` index is the real show rowIndex */
|
||||
index?: number;
|
||||
/** the index of the record. For the render(value, record, renderIndex) */
|
||||
renderIndex?: number;
|
||||
dataIndex?: DataIndex<RecordType>;
|
||||
render?: ColumnType<RecordType>['render'];
|
||||
component?: CustomizeComponent;
|
||||
children?: React.ReactNode;
|
||||
colSpan?: number;
|
||||
rowSpan?: number;
|
||||
scope?: ScopeType;
|
||||
ellipsis?: CellEllipsisType;
|
||||
align?: AlignType;
|
||||
shouldCellUpdate?: (record: RecordType, prevRecord: RecordType) => boolean;
|
||||
fixLeft?: number | false;
|
||||
fixRight?: number | false;
|
||||
firstFixLeft?: boolean;
|
||||
lastFixLeft?: boolean;
|
||||
firstFixRight?: boolean;
|
||||
lastFixRight?: boolean;
|
||||
allColsFixedLeft?: boolean;
|
||||
/** @private Used for `expandable` with nest tree */
|
||||
appendNode?: React.ReactNode;
|
||||
additionalProps?: React.TdHTMLAttributes<HTMLTableCellElement>;
|
||||
rowType?: 'header' | 'body' | 'footer';
|
||||
isSticky?: boolean;
|
||||
}
|
||||
declare function Cell<RecordType>(props: CellProps<RecordType>): React.JSX.Element;
|
||||
declare const _default: typeof Cell;
|
||||
export default _default;
|
||||
165
frontend/node_modules/rc-table/es/Cell/index.js
generated
vendored
Normal file
165
frontend/node_modules/rc-table/es/Cell/index.js
generated
vendored
Normal file
@@ -0,0 +1,165 @@
|
||||
import _extends from "@babel/runtime/helpers/esm/extends";
|
||||
import _typeof from "@babel/runtime/helpers/esm/typeof";
|
||||
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
||||
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
||||
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
||||
import { useContext } from '@rc-component/context';
|
||||
import classNames from 'classnames';
|
||||
import * as React from 'react';
|
||||
import TableContext from "../context/TableContext";
|
||||
import devRenderTimes from "../hooks/useRenderTimes";
|
||||
import useCellRender from "./useCellRender";
|
||||
import useHoverState from "./useHoverState";
|
||||
import { useEvent } from 'rc-util';
|
||||
var getTitleFromCellRenderChildren = function getTitleFromCellRenderChildren(_ref) {
|
||||
var ellipsis = _ref.ellipsis,
|
||||
rowType = _ref.rowType,
|
||||
children = _ref.children;
|
||||
var title;
|
||||
var ellipsisConfig = ellipsis === true ? {
|
||||
showTitle: true
|
||||
} : ellipsis;
|
||||
if (ellipsisConfig && (ellipsisConfig.showTitle || rowType === 'header')) {
|
||||
if (typeof children === 'string' || typeof children === 'number') {
|
||||
title = children.toString();
|
||||
} else if ( /*#__PURE__*/React.isValidElement(children) && typeof children.props.children === 'string') {
|
||||
title = children.props.children;
|
||||
}
|
||||
}
|
||||
return title;
|
||||
};
|
||||
function Cell(props) {
|
||||
var _ref2, _ref3, _legacyCellProps$colS, _ref4, _ref5, _legacyCellProps$rowS, _additionalProps$titl, _classNames;
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
devRenderTimes(props);
|
||||
}
|
||||
var Component = props.component,
|
||||
children = props.children,
|
||||
ellipsis = props.ellipsis,
|
||||
scope = props.scope,
|
||||
prefixCls = props.prefixCls,
|
||||
className = props.className,
|
||||
align = props.align,
|
||||
record = props.record,
|
||||
render = props.render,
|
||||
dataIndex = props.dataIndex,
|
||||
renderIndex = props.renderIndex,
|
||||
shouldCellUpdate = props.shouldCellUpdate,
|
||||
index = props.index,
|
||||
rowType = props.rowType,
|
||||
colSpan = props.colSpan,
|
||||
rowSpan = props.rowSpan,
|
||||
fixLeft = props.fixLeft,
|
||||
fixRight = props.fixRight,
|
||||
firstFixLeft = props.firstFixLeft,
|
||||
lastFixLeft = props.lastFixLeft,
|
||||
firstFixRight = props.firstFixRight,
|
||||
lastFixRight = props.lastFixRight,
|
||||
appendNode = props.appendNode,
|
||||
_props$additionalProp = props.additionalProps,
|
||||
additionalProps = _props$additionalProp === void 0 ? {} : _props$additionalProp,
|
||||
isSticky = props.isSticky;
|
||||
var cellPrefixCls = "".concat(prefixCls, "-cell");
|
||||
var _useContext = useContext(TableContext, ['supportSticky', 'allColumnsFixedLeft', 'rowHoverable']),
|
||||
supportSticky = _useContext.supportSticky,
|
||||
allColumnsFixedLeft = _useContext.allColumnsFixedLeft,
|
||||
rowHoverable = _useContext.rowHoverable;
|
||||
|
||||
// ====================== Value =======================
|
||||
var _useCellRender = useCellRender(record, dataIndex, renderIndex, children, render, shouldCellUpdate),
|
||||
_useCellRender2 = _slicedToArray(_useCellRender, 2),
|
||||
childNode = _useCellRender2[0],
|
||||
legacyCellProps = _useCellRender2[1];
|
||||
|
||||
// ====================== Fixed =======================
|
||||
var fixedStyle = {};
|
||||
var isFixLeft = typeof fixLeft === 'number' && supportSticky;
|
||||
var isFixRight = typeof fixRight === 'number' && supportSticky;
|
||||
if (isFixLeft) {
|
||||
fixedStyle.position = 'sticky';
|
||||
fixedStyle.left = fixLeft;
|
||||
}
|
||||
if (isFixRight) {
|
||||
fixedStyle.position = 'sticky';
|
||||
fixedStyle.right = fixRight;
|
||||
}
|
||||
|
||||
// ================ RowSpan & ColSpan =================
|
||||
var mergedColSpan = (_ref2 = (_ref3 = (_legacyCellProps$colS = legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.colSpan) !== null && _legacyCellProps$colS !== void 0 ? _legacyCellProps$colS : additionalProps.colSpan) !== null && _ref3 !== void 0 ? _ref3 : colSpan) !== null && _ref2 !== void 0 ? _ref2 : 1;
|
||||
var mergedRowSpan = (_ref4 = (_ref5 = (_legacyCellProps$rowS = legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.rowSpan) !== null && _legacyCellProps$rowS !== void 0 ? _legacyCellProps$rowS : additionalProps.rowSpan) !== null && _ref5 !== void 0 ? _ref5 : rowSpan) !== null && _ref4 !== void 0 ? _ref4 : 1;
|
||||
|
||||
// ====================== Hover =======================
|
||||
var _useHoverState = useHoverState(index, mergedRowSpan),
|
||||
_useHoverState2 = _slicedToArray(_useHoverState, 2),
|
||||
hovering = _useHoverState2[0],
|
||||
onHover = _useHoverState2[1];
|
||||
var onMouseEnter = useEvent(function (event) {
|
||||
var _additionalProps$onMo;
|
||||
if (record) {
|
||||
onHover(index, index + mergedRowSpan - 1);
|
||||
}
|
||||
additionalProps === null || additionalProps === void 0 || (_additionalProps$onMo = additionalProps.onMouseEnter) === null || _additionalProps$onMo === void 0 || _additionalProps$onMo.call(additionalProps, event);
|
||||
});
|
||||
var onMouseLeave = useEvent(function (event) {
|
||||
var _additionalProps$onMo2;
|
||||
if (record) {
|
||||
onHover(-1, -1);
|
||||
}
|
||||
additionalProps === null || additionalProps === void 0 || (_additionalProps$onMo2 = additionalProps.onMouseLeave) === null || _additionalProps$onMo2 === void 0 || _additionalProps$onMo2.call(additionalProps, event);
|
||||
});
|
||||
|
||||
// ====================== Render ======================
|
||||
if (mergedColSpan === 0 || mergedRowSpan === 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// >>>>> Title
|
||||
var title = (_additionalProps$titl = additionalProps.title) !== null && _additionalProps$titl !== void 0 ? _additionalProps$titl : getTitleFromCellRenderChildren({
|
||||
rowType: rowType,
|
||||
ellipsis: ellipsis,
|
||||
children: childNode
|
||||
});
|
||||
|
||||
// >>>>> ClassName
|
||||
var mergedClassName = classNames(cellPrefixCls, className, (_classNames = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_classNames, "".concat(cellPrefixCls, "-fix-left"), isFixLeft && supportSticky), "".concat(cellPrefixCls, "-fix-left-first"), firstFixLeft && supportSticky), "".concat(cellPrefixCls, "-fix-left-last"), lastFixLeft && supportSticky), "".concat(cellPrefixCls, "-fix-left-all"), lastFixLeft && allColumnsFixedLeft && supportSticky), "".concat(cellPrefixCls, "-fix-right"), isFixRight && supportSticky), "".concat(cellPrefixCls, "-fix-right-first"), firstFixRight && supportSticky), "".concat(cellPrefixCls, "-fix-right-last"), lastFixRight && supportSticky), "".concat(cellPrefixCls, "-ellipsis"), ellipsis), "".concat(cellPrefixCls, "-with-append"), appendNode), "".concat(cellPrefixCls, "-fix-sticky"), (isFixLeft || isFixRight) && isSticky && supportSticky), _defineProperty(_classNames, "".concat(cellPrefixCls, "-row-hover"), !legacyCellProps && hovering)), additionalProps.className, legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.className);
|
||||
|
||||
// >>>>> Style
|
||||
var alignStyle = {};
|
||||
if (align) {
|
||||
alignStyle.textAlign = align;
|
||||
}
|
||||
|
||||
// The order is important since user can overwrite style.
|
||||
// For example ant-design/ant-design#51763
|
||||
var mergedStyle = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.style), fixedStyle), alignStyle), additionalProps.style);
|
||||
|
||||
// >>>>> Children Node
|
||||
var mergedChildNode = childNode;
|
||||
|
||||
// Not crash if final `childNode` is not validate ReactNode
|
||||
if (_typeof(mergedChildNode) === 'object' && !Array.isArray(mergedChildNode) && ! /*#__PURE__*/React.isValidElement(mergedChildNode)) {
|
||||
mergedChildNode = null;
|
||||
}
|
||||
if (ellipsis && (lastFixLeft || firstFixRight)) {
|
||||
mergedChildNode = /*#__PURE__*/React.createElement("span", {
|
||||
className: "".concat(cellPrefixCls, "-content")
|
||||
}, mergedChildNode);
|
||||
}
|
||||
return /*#__PURE__*/React.createElement(Component, _extends({}, legacyCellProps, additionalProps, {
|
||||
className: mergedClassName,
|
||||
style: mergedStyle
|
||||
// A11y
|
||||
,
|
||||
title: title,
|
||||
scope: scope
|
||||
// Hover
|
||||
,
|
||||
onMouseEnter: rowHoverable ? onMouseEnter : undefined,
|
||||
onMouseLeave: rowHoverable ? onMouseLeave : undefined
|
||||
//Span
|
||||
,
|
||||
colSpan: mergedColSpan !== 1 ? mergedColSpan : null,
|
||||
rowSpan: mergedRowSpan !== 1 ? mergedRowSpan : null
|
||||
}), appendNode, mergedChildNode);
|
||||
}
|
||||
export default /*#__PURE__*/React.memo(Cell);
|
||||
3
frontend/node_modules/rc-table/es/Cell/useCellRender.d.ts
generated
vendored
Normal file
3
frontend/node_modules/rc-table/es/Cell/useCellRender.d.ts
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
import * as React from 'react';
|
||||
import type { CellType, ColumnType, DataIndex } from '../interface';
|
||||
export default function useCellRender<RecordType>(record: RecordType, dataIndex: DataIndex<RecordType>, renderIndex: number, children?: React.ReactNode, render?: ColumnType<RecordType>['render'], shouldCellUpdate?: ColumnType<RecordType>['shouldCellUpdate']): [React.ReactNode, CellType<RecordType>] | [React.ReactNode];
|
||||
64
frontend/node_modules/rc-table/es/Cell/useCellRender.js
generated
vendored
Normal file
64
frontend/node_modules/rc-table/es/Cell/useCellRender.js
generated
vendored
Normal file
@@ -0,0 +1,64 @@
|
||||
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
||||
import _typeof from "@babel/runtime/helpers/esm/typeof";
|
||||
import useMemo from "rc-util/es/hooks/useMemo";
|
||||
import isEqual from "rc-util/es/isEqual";
|
||||
import getValue from "rc-util/es/utils/get";
|
||||
import warning from "rc-util/es/warning";
|
||||
import * as React from 'react';
|
||||
import PerfContext from "../context/PerfContext";
|
||||
import { validateValue } from "../utils/valueUtil";
|
||||
import { useImmutableMark } from "../context/TableContext";
|
||||
function isRenderCell(data) {
|
||||
return data && _typeof(data) === 'object' && !Array.isArray(data) && ! /*#__PURE__*/React.isValidElement(data);
|
||||
}
|
||||
export default function useCellRender(record, dataIndex, renderIndex, children, render, shouldCellUpdate) {
|
||||
// TODO: Remove this after next major version
|
||||
var perfRecord = React.useContext(PerfContext);
|
||||
var mark = useImmutableMark();
|
||||
|
||||
// ======================== Render ========================
|
||||
var retData = useMemo(function () {
|
||||
if (validateValue(children)) {
|
||||
return [children];
|
||||
}
|
||||
var path = dataIndex === null || dataIndex === undefined || dataIndex === '' ? [] : Array.isArray(dataIndex) ? dataIndex : [dataIndex];
|
||||
var value = getValue(record, path);
|
||||
|
||||
// Customize render node
|
||||
var returnChildNode = value;
|
||||
var returnCellProps = undefined;
|
||||
if (render) {
|
||||
var renderData = render(value, record, renderIndex);
|
||||
if (isRenderCell(renderData)) {
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
warning(false, '`columns.render` return cell props is deprecated with perf issue, please use `onCell` instead.');
|
||||
}
|
||||
returnChildNode = renderData.children;
|
||||
returnCellProps = renderData.props;
|
||||
perfRecord.renderWithProps = true;
|
||||
} else {
|
||||
returnChildNode = renderData;
|
||||
}
|
||||
}
|
||||
return [returnChildNode, returnCellProps];
|
||||
}, [
|
||||
// Force update deps
|
||||
mark,
|
||||
// Normal deps
|
||||
record, children, dataIndex, render, renderIndex], function (prev, next) {
|
||||
if (shouldCellUpdate) {
|
||||
var _prev = _slicedToArray(prev, 2),
|
||||
prevRecord = _prev[1];
|
||||
var _next = _slicedToArray(next, 2),
|
||||
nextRecord = _next[1];
|
||||
return shouldCellUpdate(nextRecord, prevRecord);
|
||||
}
|
||||
|
||||
// Legacy mode should always update
|
||||
if (perfRecord.renderWithProps) {
|
||||
return true;
|
||||
}
|
||||
return !isEqual(prev, next, true);
|
||||
});
|
||||
return retData;
|
||||
}
|
||||
2
frontend/node_modules/rc-table/es/Cell/useHoverState.d.ts
generated
vendored
Normal file
2
frontend/node_modules/rc-table/es/Cell/useHoverState.d.ts
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import type { OnHover } from '../hooks/useHover';
|
||||
export default function useHoverState(rowIndex: number, rowSpan: number): [hovering: boolean, onHover: OnHover];
|
||||
13
frontend/node_modules/rc-table/es/Cell/useHoverState.js
generated
vendored
Normal file
13
frontend/node_modules/rc-table/es/Cell/useHoverState.js
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
import { useContext } from '@rc-component/context';
|
||||
import TableContext from "../context/TableContext";
|
||||
/** Check if cell is in hover range */
|
||||
function inHoverRange(cellStartRow, cellRowSpan, startRow, endRow) {
|
||||
var cellEndRow = cellStartRow + cellRowSpan - 1;
|
||||
return cellStartRow <= endRow && cellEndRow >= startRow;
|
||||
}
|
||||
export default function useHoverState(rowIndex, rowSpan) {
|
||||
return useContext(TableContext, function (ctx) {
|
||||
var hovering = inHoverRange(rowIndex, rowSpan || 1, ctx.hoverStartRow, ctx.hoverEndRow);
|
||||
return [hovering, ctx.onHover];
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user