fantasy-ngzorro 2.1.17 → 2.1.18

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/README.md CHANGED
@@ -342,7 +342,7 @@ tableCols: HdTableColumn[] = [{
342
342
  | showSelected | boolean | false | 勾选列 |
343
343
  | selectField | string | billNumber | 勾选主键字段 |
344
344
  | showOperateColWarpButton | boolean | false | 展开/缩略显示换行列 |
345
- | virtualScroll | boolean | true | 虚拟滚动(需 `nzScroll.y`;仅渲染可视区行) |
345
+ | virtualScroll | boolean | true | 虚拟滚动;行数少时自动缩小表格高度,行数多时不超过视口 |
346
346
  | virtualItemSize | number | — | 虚拟滚动行高(px);**不传则首屏自动测量** |
347
347
  | showTableTotal | boolean | false | 底部合计行 |
348
348
  | tableTotalOption | HdTableTotalOption[] | — | 合计配置 |
@@ -7197,6 +7197,7 @@
7197
7197
  changes["tableData"]["currentValue"]["pageNumber"] !==
7198
7198
  changes["tableData"]["previousValue"]["pageNumber"]) {
7199
7199
  if (this.virtualScroll) {
7200
+ this.dealScroll();
7200
7201
  this.refreshVirtualScrollViewport();
7201
7202
  }
7202
7203
  return;
@@ -7206,6 +7207,7 @@
7206
7207
  }
7207
7208
  }
7208
7209
  if (changes["tableData"] && this.virtualScroll) {
7210
+ this.dealScroll();
7209
7211
  this.refreshVirtualScrollViewport();
7210
7212
  }
7211
7213
  if (changes["tableCols"] &&
@@ -7390,6 +7392,7 @@
7390
7392
  /** @type {?} */
7391
7393
  var measured = _this.measureVirtualItemSize(forceMeasure);
7392
7394
  if (measured) {
7395
+ _this.dealScroll();
7393
7396
  _this.cdr.markForCheck();
7394
7397
  viewport.checkViewportSize();
7395
7398
  setTimeout((/**
@@ -7397,6 +7400,7 @@
7397
7400
  */
7398
7401
  function () {
7399
7402
  _this.measureVirtualItemSize(forceMeasure);
7403
+ _this.dealScroll();
7400
7404
  viewport.checkViewportSize();
7401
7405
  }));
7402
7406
  }
@@ -7991,6 +7995,37 @@
7991
7995
  }
7992
7996
  return !!btn.showConfirm;
7993
7997
  };
7998
+ /** 虚拟滚动:当前页行数不足时缩小视口,避免大片空白 */
7999
+ /**
8000
+ * 虚拟滚动:当前页行数不足时缩小视口,避免大片空白
8001
+ * @private
8002
+ * @param {?} maxOffset
8003
+ * @return {?}
8004
+ */
8005
+ HdTableComponent.prototype.getVirtualScrollY = /**
8006
+ * 虚拟滚动:当前页行数不足时缩小视口,避免大片空白
8007
+ * @private
8008
+ * @param {?} maxOffset
8009
+ * @return {?}
8010
+ */
8011
+ function (maxOffset) {
8012
+ /** @type {?} */
8013
+ var maxCss = "calc(100vh - " + maxOffset + "px)";
8014
+ /** @type {?} */
8015
+ var rowCount = this.tableData && this.tableData.content
8016
+ ? this.tableData.content.length
8017
+ : 0;
8018
+ if (rowCount <= 0) {
8019
+ return maxCss;
8020
+ }
8021
+ /** @type {?} */
8022
+ var contentHeight = rowCount * this.effectiveVirtualItemSize;
8023
+ if (typeof window !== "undefined" &&
8024
+ contentHeight < window.innerHeight - maxOffset) {
8025
+ return contentHeight + "px";
8026
+ }
8027
+ return maxCss;
8028
+ };
7994
8029
  /**
7995
8030
  * @return {?}
7996
8031
  */
@@ -8017,9 +8052,11 @@
8017
8052
  }
8018
8053
  }));
8019
8054
  /** @type {?} */
8020
- var scrollY = this.tableTotal
8021
- ? "calc(100vh - 180px)"
8022
- : "calc(100vh - 140px)";
8055
+ var maxOffset = this.tableTotal ? 180 : 140;
8056
+ /** @type {?} */
8057
+ var scrollY = this.virtualScroll
8058
+ ? this.getVirtualScrollY(maxOffset)
8059
+ : "calc(100vh - " + maxOffset + "px)";
8023
8060
  /** @type {?} */
8024
8061
  var scrollX = this.virtualScroll && colWidth > 0 ? colWidth + "px" : "1px";
8025
8062
  this.scroll = {