@kdcloudjs/kdesign 1.5.0 → 1.5.1

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/dist/kdesign.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * @kdcloudjs/kdesign v1.4.1
3
+ * @kdcloudjs/kdesign v1.5.0
4
4
  *
5
5
  * Copyright 2020-present, Kingdee, Inc.
6
6
  * All rights reserved.
@@ -31316,7 +31316,10 @@ function Table(props) {
31316
31316
  getTableProps = props.getTableProps,
31317
31317
  contextMenu = props.contextMenu,
31318
31318
  rangeSelection = props.rangeSelection,
31319
- cssVariables = props.cssVariables;
31319
+ cssVariables = props.cssVariables,
31320
+ stickyScrollHeight = props.stickyScrollHeight,
31321
+ scrollbarWidth = props.scrollbarWidth,
31322
+ scrollLoad = props.scrollLoad;
31320
31323
 
31321
31324
  var _useContext = Object(react__WEBPACK_IMPORTED_MODULE_4__["useContext"])(_config_provider_ConfigContext__WEBPACK_IMPORTED_MODULE_6__["default"]),
31322
31325
  getPrefixCls = _useContext.getPrefixCls,
@@ -31395,7 +31398,10 @@ function Table(props) {
31395
31398
  hasHeader: hasHeader,
31396
31399
  useOuterBorder: useOuterBorder,
31397
31400
  defaultColumnWidth: defaultColumnWidth,
31398
- cssVariables: cssVariables
31401
+ cssVariables: cssVariables,
31402
+ stickyScrollHeight: stickyScrollHeight,
31403
+ scrollbarWidth: scrollbarWidth,
31404
+ scrollLoad: scrollLoad
31399
31405
  }));
31400
31406
  }
31401
31407
 
@@ -40702,31 +40708,33 @@ var TableDOMHelper = /*#__PURE__*/function () {
40702
40708
  }, {
40703
40709
  key: "getTableRows",
40704
40710
  value: function getTableRows() {
40705
- var htmlTable = this.getTableBodyHtmlTable();
40706
- return htmlTable.querySelectorAll("tbody > .".concat(_styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].tableRow));
40711
+ var _context2;
40712
+
40713
+ var tbody = this.artTable.querySelector(_babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_2___default()(_context2 = ".".concat(_styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].tableBody, " .")).call(_context2, _styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].virtual, " table tbody"));
40714
+ return tbody.childNodes;
40707
40715
  }
40708
40716
  }, {
40709
40717
  key: "getTableBodyHtmlTable",
40710
40718
  value: function getTableBodyHtmlTable() {
40711
- var _context2;
40719
+ var _context3;
40712
40720
 
40713
- return this.artTable.querySelector(_babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_2___default()(_context2 = ".".concat(_styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].tableBody, " .")).call(_context2, _styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].virtual, " table"));
40721
+ return this.artTable.querySelector(_babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_2___default()(_context3 = ".".concat(_styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].tableBody, " .")).call(_context3, _styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].virtual, " table"));
40714
40722
  }
40715
40723
  }, {
40716
40724
  key: "getLeftLockShadow",
40717
40725
  value: function getLeftLockShadow() {
40718
- var _context3;
40726
+ var _context4;
40719
40727
 
40720
- var selector = _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_2___default()(_context3 = ".".concat(_styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].lockShadowMask, " .")).call(_context3, _styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].leftLockShadow);
40728
+ var selector = _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_2___default()(_context4 = ".".concat(_styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].lockShadowMask, " .")).call(_context4, _styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].leftLockShadow);
40721
40729
 
40722
40730
  return this.artTable.querySelector(selector);
40723
40731
  }
40724
40732
  }, {
40725
40733
  key: "getRightLockShadow",
40726
40734
  value: function getRightLockShadow() {
40727
- var _context4;
40735
+ var _context5;
40728
40736
 
40729
- var selector = _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_2___default()(_context4 = ".".concat(_styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].lockShadowMask, " .")).call(_context4, _styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].rightLockShadow);
40737
+ var selector = _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_2___default()(_context5 = ".".concat(_styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].lockShadowMask, " .")).call(_context5, _styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].rightLockShadow);
40730
40738
 
40731
40739
  return this.artTable.querySelector(selector);
40732
40740
  }
@@ -40738,11 +40746,11 @@ var TableDOMHelper = /*#__PURE__*/function () {
40738
40746
  }, {
40739
40747
  key: "getRowTop",
40740
40748
  value: function getRowTop(rowIndex) {
40741
- var _context5, _context6;
40749
+ var _context6, _context7;
40742
40750
 
40743
40751
  if (rowIndex === 0) return 0;
40744
40752
 
40745
- var selector = _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_2___default()(_context5 = _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_2___default()(_context6 = ".".concat(_styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].tableBody, " .")).call(_context6, _styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].tableRow, "[data-rowindex=\"")).call(_context5, rowIndex, "\"]");
40753
+ var selector = _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_2___default()(_context6 = _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_2___default()(_context7 = ".".concat(_styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].tableBody, " .")).call(_context7, _styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].tableRow, "[data-rowindex=\"")).call(_context6, rowIndex, "\"]");
40746
40754
 
40747
40755
  var row = this.artTable.querySelector(selector);
40748
40756
  var rowOffsetTop = row && row.offsetTop || 0;
@@ -41202,8 +41210,6 @@ __webpack_require__.r(__webpack_exports__);
41202
41210
  /* harmony import */ var _colgroup__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./colgroup */ "./node_modules/@kdcloudjs/table/es/table/base/colgroup.js");
41203
41211
  /* harmony import */ var _helpers_SpanManager__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./helpers/SpanManager */ "./node_modules/@kdcloudjs/table/es/table/base/helpers/SpanManager.js");
41204
41212
  /* harmony import */ var _styles__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./styles */ "./node_modules/@kdcloudjs/table/es/table/base/styles.js");
41205
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./utils */ "./node_modules/@kdcloudjs/table/es/table/base/utils.js");
41206
-
41207
41213
 
41208
41214
 
41209
41215
 
@@ -41219,7 +41225,7 @@ function HtmlTable(_ref) {
41219
41225
  var tbodyHtmlTag = _ref.tbodyHtmlTag,
41220
41226
  getRowProps = _ref.getRowProps,
41221
41227
  primaryKey = _ref.primaryKey,
41222
- hasScrollY = _ref.hasScrollY,
41228
+ stickyRightOffset = _ref.stickyRightOffset,
41223
41229
  data = _ref.data,
41224
41230
  verInfo = _ref.verticalRenderInfo,
41225
41231
  hozInfo = _ref.horizontalRenderInfo,
@@ -41324,14 +41330,13 @@ function HtmlTable(_ref) {
41324
41330
  rowSpan = Math.max(rowSpan, 1);
41325
41331
  colSpan = Math.max(colSpan, 1);
41326
41332
  var positionStyle = {};
41327
- var scrollbarWidth = hasScrollY ? Object(_utils__WEBPACK_IMPORTED_MODULE_11__["getScrollbarSize"])().width : 0;
41328
41333
 
41329
41334
  if (colIndex < leftFlatCount) {
41330
41335
  positionStyle.position = 'sticky';
41331
41336
  positionStyle.left = hozInfo.stickyLeftMap.get(colIndex);
41332
41337
  } else if (colIndex >= fullFlatCount - rightFlatCount) {
41333
41338
  positionStyle.position = 'sticky';
41334
- positionStyle.right = hozInfo.stickyRightMap.get(colIndex) - scrollbarWidth;
41339
+ positionStyle.right = hozInfo.stickyRightMap.get(colIndex) - stickyRightOffset;
41335
41340
  }
41336
41341
 
41337
41342
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement('td', _babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()(_babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()(_babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()(_babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
@@ -41611,14 +41616,14 @@ function renderTableBodyInIE(info, props, extra) {
41611
41616
  primaryKey: primaryKey,
41612
41617
  data: _babel_runtime_corejs3_core_js_stable_instance_slice__WEBPACK_IMPORTED_MODULE_3___default()(dataSource).call(dataSource, topIndex, bottomIndex)
41613
41618
  };
41614
- var scrollbarWidth = extra.hasScrollY ? Object(_utils__WEBPACK_IMPORTED_MODULE_10__["getScrollbarSize"])().width : 0;
41615
41619
  var fixedRightTableStyle = {
41616
- right: -scrollbarWidth
41620
+ right: -extra.stickyRightOffset
41617
41621
  };
41618
41622
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement("div", {
41619
41623
  className: classnames__WEBPACK_IMPORTED_MODULE_7___default()(_styles__WEBPACK_IMPORTED_MODULE_9__["Classes"].tableBody, _styles__WEBPACK_IMPORTED_MODULE_9__["Classes"].horizontalScrollContainer)
41620
41624
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement("div", {
41621
- className: _styles__WEBPACK_IMPORTED_MODULE_9__["Classes"].virtual
41625
+ className: _styles__WEBPACK_IMPORTED_MODULE_9__["Classes"].virtual,
41626
+ tabIndex: -1
41622
41627
  }, topBlank > 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement("div", {
41623
41628
  key: "top-blank",
41624
41629
  className: classnames__WEBPACK_IMPORTED_MODULE_7___default()(_styles__WEBPACK_IMPORTED_MODULE_9__["Classes"].virtualBlank, 'top'),
@@ -41678,7 +41683,7 @@ function renderTableBodyInIE(info, props, extra) {
41678
41683
  tbodyHtmlTag: "tbody"
41679
41684
  }, commonProps, {
41680
41685
  tbodyPosition: "right",
41681
- hasScrollY: extra.hasScrollY,
41686
+ stickyRightOffset: extra.stickyRightOffset,
41682
41687
  horizontalRenderInfo: _babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()(_babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, info), {
41683
41688
  flat: {
41684
41689
  center: right,
@@ -41971,8 +41976,7 @@ var defaultCSSVariables = {
41971
41976
  '--cell-border-horizontal': '1px solid #dfe3e8',
41972
41977
  '---cell-border-vertical': '1px solid #dfe3e8',
41973
41978
  '--header-cell-border': '1px solid #dfe3e8',
41974
- '--header-cell-border-horizontal': '1px solid #dfe3e8',
41975
- '--header-cell-border-vertical': '1px solid #dfe3e8'
41979
+ '--header-cell-border-horizontal': '1px solid #dfe3e8'
41976
41980
  };
41977
41981
  var variableConst = getCssVariableText(defaultCSSVariables);
41978
41982
  var StyledArtTableWrapper = styled_components__WEBPACK_IMPORTED_MODULE_3__["default"].div(_templateObject2 || (_templateObject2 = _babel_runtime_corejs3_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\n :root {\n ", "\n }\n ", "\n\n box-sizing: border-box;\n * {\n box-sizing: border-box;\n }\n cursor: default;\n color: var(--color);\n font-size: var(--font-size);\n line-height: var(--line-height);\n position: relative;\n\n // \u8868\u683C\u5916\u8FB9\u6846\u7531 art-table-wrapper \u63D0\u4F9B\uFF0C\u800C\u4E0D\u662F\u7531\u5355\u5143\u683C\u63D0\u4F9B\n &.use-outer-border {\n ", ";\n }\n\n .no-scrollbar {\n ::-webkit-scrollbar {\n display: none;\n }\n }\n\n .", " {\n overflow: auto;\n flex-shrink: 1;\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n user-select:none;\n }\n\n .", " {\n overflow: hidden;\n background: var(--header-bgcolor);\n display: flex;\n flex-shrink: 0;\n border-bottom: var(--header-cell-border-horizontal);\n }\n\n .", " {\n display: flex;\n // justify-content: flex-start;\n align-items: center;\n height: inherit;\n }\n\n .", " {\n overflow-x:auto;\n flex-shrink: 0;\n flex-grow: 0;\n scrollbar-width: none; // \u517C\u5BB9\u706B\u72D0\n & {\n ::-webkit-scrollbar {\n display:none;\n }\n }\n }\n\n .", " {\n display: flex;\n flex: none;\n }\n .", ", .", " {\n background: var(--bgcolor);\n overflow: auto;\n overflow-x: hidden;\n overflow-anchor: none;\n position:relative;\n &.empty {\n position: relative;\n }\n }\n\n .", " {\n position: relative;\n }\n .", " {\n .", "{\n background-color: #e6effb !important;\n }\n .", "{\n border-top: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-left: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-bottom: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-right: 1px solid #0E5FD8 !important;\n }\n }\n \n\n &.sticky-header .", " {\n position: sticky;\n top: 0;\n z-index: ", ";\n }\n\n &.sticky-footer .", " {\n position: sticky;\n bottom: 0;\n z-index: ", ";\n }\n\n table {\n width: 0;\n table-layout: fixed;\n border-collapse: separate;\n border-spacing: 0;\n display: table;\n margin: 0;\n padding: 0;\n flex-shrink: 0;\n flex-grow: 0;\n position:relative;\n }\n\n // \u5728 tr \u4E0A\u8BBE\u7F6E .no-hover \u53EF\u4EE5\u7981\u7528\u9F20\u6807\u60AC\u505C\u6548\u679C\n tr:not(.no-hover):hover > td {\n background: var(--hover-bgcolor);\n }\n // \u5728 tr \u8BBE\u7F6E highlight \u53EF\u4EE5\u4E3A\u5E95\u4E0B\u7684 td \u8BBE\u7F6E\u4E3A\u9AD8\u4EAE\u8272\n // \u800C\u8BBE\u7F6E .no-highlight \u7684\u8BDD\u5219\u53EF\u4EE5\u7981\u7528\u9AD8\u4EAE\u6548\u679C\uFF1B\n tr:not(.no-highlight).highlight > td {\n background: var(--highlight-bgcolor);\n }\n\n th {\n font-weight: normal;\n text-align: left;\n padding: var(--cell-padding);\n height: var(--header-row-height);\n color: var(--header-color);\n background: var(--header-bgcolor);\n border:1px solid transparent;\n border-right: var(--header-cell-border-vertical);\n border-bottom: var(--header-cell-border-horizontal);\n position: relative;\n }\n\n th.resizeable{\n border-right:none\n }\n\n th.", " {\n border-right: none;\n border-bottom: none;\n }\n\n tr.", " th {\n border-top: var(--header-cell-border-horizontal);\n }\n th.", " {\n border-left: var(--header-cell-border-vertical);\n }\n\n td {\n padding: var(--cell-padding);\n background: var(--bgcolor);\n height: var(--row-height);\n border:1px solid transparent;\n border-right: var(--cell-border-vertical);\n border-bottom: var(--cell-border-horizontal);\n word-break: break-all;\n }\n td.", " {\n border-left: var(--cell-border-vertical);\n }\n tr.", " td {\n border-top: var(--cell-border-horizontal);\n }\n &.has-header tbody tr.", " td {\n border-top: none;\n }\n &.has-footer tbody tr.", " td {\n border-bottom: none;\n }\n\n .", ",\n .", " {\n z-index: ", ";\n }\n\n //#region \u9501\u5217\u9634\u5F71\n .", " {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: ", ";\n pointer-events: none;\n overflow: hidden;\n\n .", " {\n height: 100%;\n }\n\n .", " {\n margin-right: ", "px;\n box-shadow: none;\n\n &.show-shadow {\n box-shadow: var(--lock-shadow);\n border-right: var(--cell-border-vertical);\n }\n }\n\n .", " {\n margin-left: ", "px;\n box-shadow: none;\n\n &.show-shadow {\n box-shadow: var(--lock-shadow);\n border-left: var(--cell-border-vertical);\n }\n }\n }\n //#endregion\n\n //#region \u7A7A\u8868\u683C\u5C55\u73B0\n .", " {\n pointer-events: none;\n color: #99a3b3;\n font-size: 12px;\n text-align: center;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n\n .empty-image {\n width: 50px;\n height: 50px;\n }\n\n .empty-tips {\n margin-top: 16px;\n line-height: 1.5;\n }\n }\n //#endregion\n\n //#region IE\u517C\u5BB9\n &.ie-polyfill-wrapper {\n //\u9501\u5B9A\u5217\u517C\u5BB9 \u4EC5\u5728\u9501\u5B9A\u5217\u7684\u60C5\u51B5\u4E0B\u751F\u6548\n .", " {\n overflow-x: hidden;\n }\n .", ", .", " {\n position:relative;\n }\n .", " {\n overflow: hidden;\n }\n .", " {\n position: relative;\n }\n\n .", " {\n overflow: auto;\n overflow-x: hidden;\n overflow-anchor: none;\n }\n\n .", ", .", "{\n position: absolute;\n z-index: ", ";\n top: 0;\n }\n .", "{\n left:0;\n }\n .", "{\n right:0;\n }\n\n .", "{\n .", "{\n position: absolute;\n top: 0;\n width: 100%;\n z-index: ", ";\n }\n }\n\n tr:not(.no-hover).row-hover > td {\n background: var(--hover-bgcolor);\n }\n }\n //#endregion\n\n //#region \u7C98\u6027\u6EDA\u52A8\u6761\n .", " {\n overflow-y: hidden;\n overflow-x: auto;\n z-index: ", ";\n flex-shrink: 0;\n flex-grow: 0;\n border-top: 1px solid var(--border-color);\n background: var(--bgcolor);\n }\n\n .", " {\n // \u5FC5\u987B\u6709\u9AD8\u5EA6\u624D\u80FD\u51FA\u73B0\u6EDA\u52A8\u6761\n height: 1px;\n visibility: hidden;\n }\n //#endregion\n\n //#region \u52A0\u8F7D\u6837\u5F0F\n .", " {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: auto;\n\n .", " {\n filter: none;\n width: 100%;\n height: 100%;\n overflow: auto;\n display: flex;\n position: relative;\n flex-direction: column;\n }\n\n .", " {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n pointer-events: none;\n }\n\n .", " {\n position: sticky;\n z-index: ", ";\n transform: translateY(-50%);\n }\n }\n //#endregion\n \n //#region \u8868\u683C\u8FC7\u6EE4\n .", " {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n }\n //#endregion\n\n //#region \u8868\u683C\u6392\u5E8F\n .", " {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n }\n //#endregion\n\n //#region \u6EDA\u52A8\u6761\u5360\u4F4D\n .", " {\n visibility: hidden;\n flex-shrink: 0;\n }\n .", " .", " {\n border-top: var(--cell-border-horizontal);\n }\n //#endregion\n "])), variableConst, variableConst, outerBorderStyleMixin, Classes.artTable, Classes.tableHeader, Classes.tableHeaderCellContent, Classes.virtual, Classes.tableFooter, Classes.tableBody, Classes.tableFooter, Classes.tableRow, Classes.tableBody, Classes.tableCellRangeSelected, Classes.tableCellRangeTop, Classes.tableCellRangeLeft, Classes.tableCellRangeBottom, Classes.tableCellRangeRight, Classes.tableHeader, Z.header, Classes.tableFooter, Z.footer, Classes.leaf, Classes.first, Classes.first, Classes.first, Classes.first, Classes.first, Classes.last, Classes.lockLeft, Classes.lockRight, Z.lock, Classes.lockShadowMask, Z.lockShadow, Classes.lockShadow, Classes.leftLockShadow, LOCK_SHADOW_PADDING, Classes.rightLockShadow, LOCK_SHADOW_PADDING, Classes.emptyWrapper, Classes.virtual, Classes.tableBody, Classes.tableFooter, Classes.tableHeaderMain, Classes.tableHeader, Classes.tableFooterMain, Classes.fixedLeft, Classes.fixedRight, Z.lock, Classes.fixedLeft, Classes.fixedRight, Classes.rowDetailContainer, Classes.rowDetailItem, Z.rowDetail, Classes.stickyScroll, Z.scrollItem, Classes.stickyScrollItem, Classes.loadingWrapper, Classes.loadingContentWrapper, Classes.loadingIndicatorWrapper, Classes.loadingIndicator, Z.loadingIndicator, Classes.tableFilterTrigger, Classes.tableSortIcon, Classes.verticalScrollPlaceholder, Classes.tableFooter, Classes.verticalScrollPlaceholder);
@@ -42143,6 +42147,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
42143
42147
  _this.rootSubscription = new rxjs__WEBPACK_IMPORTED_MODULE_17__["Subscription"]();
42144
42148
  _this.hasScrollY = false;
42145
42149
  _this.resizeSubject = new rxjs__WEBPACK_IMPORTED_MODULE_17__["Subject"]();
42150
+ _this.offsetY = 0;
42146
42151
 
42147
42152
  _this.getRowNodeListByEvent = function (e) {
42148
42153
  var nodeList = null;
@@ -42208,6 +42213,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
42208
42213
  className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(tableBodyClassName, 'empty')
42209
42214
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
42210
42215
  className: _styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].virtual,
42216
+ tabIndex: -1,
42211
42217
  style: virtualStyle
42212
42218
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(_empty__WEBPACK_IMPORTED_MODULE_20__["EmptyHtmlTable"], {
42213
42219
  descriptors: info.visible,
@@ -42222,6 +42228,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
42222
42228
  bottomBlank = _info$verticalRenderR.bottomBlank,
42223
42229
  topBlank = _info$verticalRenderR.topBlank,
42224
42230
  bottomIndex = _info$verticalRenderR.bottomIndex;
42231
+ var stickyRightOffset = _this.hasScrollY ? _this.getScrollBarWidth() : 0;
42225
42232
  var renderBody = Object(_renderTemplates__WEBPACK_IMPORTED_MODULE_31__["default"])('body');
42226
42233
 
42227
42234
  if (typeof renderBody === 'function') {
@@ -42230,7 +42237,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
42230
42237
  onMouseEnter: _this.handleRowMouseEnter,
42231
42238
  onMouseLeave: _this.handleRowMouseLeave
42232
42239
  },
42233
- hasScrollY: _this.hasScrollY
42240
+ stickyRightOffset: stickyRightOffset
42234
42241
  });
42235
42242
  }
42236
42243
 
@@ -42238,6 +42245,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
42238
42245
  className: tableBodyClassName
42239
42246
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
42240
42247
  className: _styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].virtual,
42248
+ tabIndex: -1,
42241
42249
  style: virtualStyle
42242
42250
  }, topBlank > 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
42243
42251
  key: "top-blank",
@@ -42250,7 +42258,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
42250
42258
  getRowProps: getRowProps,
42251
42259
  primaryKey: primaryKey,
42252
42260
  data: _babel_runtime_corejs3_core_js_stable_instance_slice__WEBPACK_IMPORTED_MODULE_12___default()(dataSource).call(dataSource, topIndex, bottomIndex),
42253
- hasScrollY: _this.hasScrollY,
42261
+ stickyRightOffset: stickyRightOffset,
42254
42262
  horizontalRenderInfo: info,
42255
42263
  verticalRenderInfo: {
42256
42264
  first: 0,
@@ -42311,7 +42319,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
42311
42319
  var innerTableWidth = tableBodyHtmlTable.offsetWidth;
42312
42320
  var artTableWidth = artTable.offsetWidth;
42313
42321
  var stickyScrollHeightProp = this.props.stickyScrollHeight;
42314
- var stickyScrollHeight = stickyScrollHeightProp === 'auto' ? Object(_utils__WEBPACK_IMPORTED_MODULE_28__["getScrollbarSize"])().height : stickyScrollHeightProp; // stickyScroll.style.marginTop = `-${stickyScrollHeight + 1}px`
42322
+ var stickyScrollHeight = stickyScrollHeightProp === 'auto' ? this.getScrollBarWidth() : stickyScrollHeightProp; // stickyScroll.style.marginTop = `-${stickyScrollHeight + 1}px`
42315
42323
  // 设置滚动条高度
42316
42324
 
42317
42325
  stickyScroll.style.height = "".concat(stickyScrollHeight, "px");
@@ -42376,7 +42384,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
42376
42384
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
42377
42385
  className: _styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].verticalScrollPlaceholder,
42378
42386
  style: this.hasScrollY ? {
42379
- width: Object(_utils__WEBPACK_IMPORTED_MODULE_28__["getScrollbarSize"])().width
42387
+ width: this.getScrollBarWidth()
42380
42388
  } : undefined
42381
42389
  }));
42382
42390
  }
@@ -42485,7 +42493,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
42485
42493
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
42486
42494
  className: _styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].verticalScrollPlaceholder,
42487
42495
  style: this.hasScrollY ? {
42488
- width: Object(_utils__WEBPACK_IMPORTED_MODULE_28__["getScrollbarSize"])().width,
42496
+ width: this.getScrollBarWidth(),
42489
42497
  visibility: 'initial'
42490
42498
  } : undefined
42491
42499
  }));
@@ -42530,6 +42538,11 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
42530
42538
  className: _styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].stickyScrollItem
42531
42539
  }));
42532
42540
  }
42541
+ }, {
42542
+ key: "getScrollBarWidth",
42543
+ value: function getScrollBarWidth() {
42544
+ return this.props.scrollbarWidth || Object(_utils__WEBPACK_IMPORTED_MODULE_28__["getScrollbarSize"])().width;
42545
+ }
42533
42546
  }, {
42534
42547
  key: "render",
42535
42548
  value: function render() {
@@ -42704,6 +42717,47 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
42704
42717
  })).subscribe(function (sizeAndOffset) {
42705
42718
  _this2.setState(sizeAndOffset);
42706
42719
  }));
42720
+ this.rootSubscription.add(richVisibleRects$.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["map"](function (_ref7) {
42721
+ var clipRect = _ref7.clipRect,
42722
+ offsetY = _ref7.offsetY;
42723
+ return {
42724
+ maxRenderHeight: clipRect.bottom - clipRect.top,
42725
+ maxRenderWidth: clipRect.right - clipRect.left,
42726
+ offsetY: offsetY
42727
+ };
42728
+ }), rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["distinctUntilChanged"](function (x, y) {
42729
+ return x.offsetY - y.offsetY === 0;
42730
+ }), // 计算得到当前行索引对应的数据块,blocks改成数组的形式,兼容快速拖动可视区域出现两个数据块的情况
42731
+ rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["map"](function (sizeAndOffset) {
42732
+ var _a;
42733
+
42734
+ var offsetY = sizeAndOffset.offsetY,
42735
+ maxRenderHeight = sizeAndOffset.maxRenderHeight;
42736
+ var scrollDirection = offsetY - _this2.offsetY >= 0 ? 'down' : 'up';
42737
+ _this2.offsetY = offsetY;
42738
+ var rowCount = _this2.props.dataSource.length;
42739
+
42740
+ var vertical = _this2.rowHeightManager.getRenderRange(offsetY, maxRenderHeight, rowCount);
42741
+
42742
+ var topIndex = vertical.topIndex,
42743
+ bottomIndex = vertical.bottomIndex;
42744
+ var blockSize = ((_a = _this2.props.scrollLoad) === null || _a === void 0 ? void 0 : _a.blockSize) || 200;
42745
+ var topBlockStartIndex = Math.floor(Math.max(topIndex - 1, 0) / blockSize) * blockSize;
42746
+ var bottomBlockStartIndex = Math.floor((bottomIndex + 1) / blockSize) * blockSize;
42747
+ return scrollDirection === 'down' ? [topBlockStartIndex, bottomBlockStartIndex] : [bottomBlockStartIndex, topBlockStartIndex];
42748
+ }), rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["distinctUntilChanged"](function (x, y) {
42749
+ return x[0] === y[0] && x[1] === y[1];
42750
+ }), rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["switchMap"](function (startIndexs) {
42751
+ var event$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_17__["from"])(startIndexs);
42752
+ return event$.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["map"](function (startIndex) {
42753
+ return startIndex;
42754
+ }));
42755
+ }), // 过滤掉重复掉值
42756
+ rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["distinctUntilChanged"]()).subscribe(function (startIndex) {
42757
+ var _a;
42758
+
42759
+ (_a = _this2.props.scrollLoad) === null || _a === void 0 ? void 0 : _a.callback(startIndex);
42760
+ }));
42707
42761
  }
42708
42762
  }, {
42709
42763
  key: "componentWillUnmount",
@@ -46019,6 +46073,8 @@ function rangeSelection(opts) {
46019
46073
  };
46020
46074
 
46021
46075
  var onKeyDown = function onKeyDown(e) {
46076
+ if (!Object(_utils__WEBPACK_IMPORTED_MODULE_5__["isElementInEventPath"])(tableBody, e.nativeEvent)) return;
46077
+
46022
46078
  if ((e.ctrlKey || e.metaKey) && e.key === 'a') {
46023
46079
  var rowLen = pipeline.getDataSource().length;
46024
46080