@douyinfe/semi-ui 2.39.1 → 2.39.2-alpha.0

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.
@@ -66029,6 +66029,22 @@ class PaginationFoundation extends foundation {
66029
66029
  this._adapter.setCurrentPage(targetPageIndex);
66030
66030
  this._adapter.updatePageSize(pageSize);
66031
66031
  }
66032
+ updateAllPageNumbers(total, pageSize) {
66033
+ // only need to update in small size
66034
+ const {
66035
+ size,
66036
+ hoverShowPageSelect,
66037
+ disabled
66038
+ } = this.getProps();
66039
+ if (size !== 'small' || !hoverShowPageSelect || disabled) {
66040
+ return;
66041
+ } else {
66042
+ const pageNumbers = Array.from({
66043
+ length: Math.ceil(total / pageSize)
66044
+ }, (v, i) => i + 1);
66045
+ this._adapter.updateAllPageNumbers(pageNumbers);
66046
+ }
66047
+ }
66032
66048
  goPrev() {
66033
66049
  const {
66034
66050
  currentPage
@@ -69188,18 +69204,25 @@ const {
69188
69204
  class Pagination extends BaseComponent {
69189
69205
  constructor(props) {
69190
69206
  super(props);
69207
+ const total = props.total;
69208
+ const pageSize = props.pageSize || props.pageSizeOpts[0] || pagination_constants_numbers.DEFAULT_PAGE_SIZE; // Use pageSize first, use the first of pageSizeOpts when not, use the default value when none
69209
+ const shouldFillAllNumber = props.size === 'small' && props.hoverShowPageSelect && !props.disabled;
69191
69210
  this.state = {
69192
- total: props.total,
69211
+ total,
69193
69212
  showTotal: props.showTotal,
69194
69213
  currentPage: props.currentPage || props.defaultCurrentPage,
69195
- pageSize: props.pageSize || props.pageSizeOpts[0] || pagination_constants_numbers.DEFAULT_PAGE_SIZE,
69214
+ pageSize,
69196
69215
  pageList: [],
69197
69216
  prevDisabled: false,
69198
69217
  nextDisabled: false,
69199
69218
  restLeftPageList: [],
69200
69219
  restRightPageList: [],
69201
- quickJumpPage: ''
69220
+ quickJumpPage: '',
69221
+ allPageNumbers: shouldFillAllNumber ? Array.from({
69222
+ length: Math.ceil(total / pageSize)
69223
+ }, (v, i) => i + 1) : [] // only need to count in smallPage mode, when props.size = small
69202
69224
  };
69225
+
69203
69226
  this.foundation = new pagination_foundation(this.adapter);
69204
69227
  this.renderDefaultPage = this.renderDefaultPage.bind(this);
69205
69228
  this.renderSmallPage = this.renderSmallPage.bind(this);
@@ -69234,7 +69257,9 @@ class Pagination extends BaseComponent {
69234
69257
  updateQuickJumpPage: quickJumpPage => this.setState({
69235
69258
  quickJumpPage
69236
69259
  }),
69237
- // updateRestPageList: () => {},
69260
+ updateAllPageNumbers: allPageNumbers => this.setState({
69261
+ allPageNumbers
69262
+ }),
69238
69263
  setCurrentPage: pageIndex => {
69239
69264
  this.setState({
69240
69265
  currentPage: pageIndex
@@ -69270,6 +69295,7 @@ class Pagination extends BaseComponent {
69270
69295
  pageSize: this.props.pageSize
69271
69296
  };
69272
69297
  let pagerHasChanged = false;
69298
+ let allPageNumberNeedUpdate = false;
69273
69299
  if (prevProps.currentPage !== this.props.currentPage) {
69274
69300
  pagerHasChanged = true;
69275
69301
  // this.foundation.updatePage(this.props.currentPage);
@@ -69277,13 +69303,18 @@ class Pagination extends BaseComponent {
69277
69303
 
69278
69304
  if (prevProps.total !== this.props.total) {
69279
69305
  pagerHasChanged = true;
69306
+ allPageNumberNeedUpdate = true;
69280
69307
  }
69281
69308
  if (prevProps.pageSize !== this.props.pageSize) {
69282
69309
  pagerHasChanged = true;
69310
+ allPageNumberNeedUpdate = true;
69283
69311
  }
69284
69312
  if (pagerHasChanged) {
69285
69313
  this.foundation.updatePage(pagerProps.currentPage, pagerProps.total, pagerProps.pageSize);
69286
69314
  }
69315
+ if (allPageNumberNeedUpdate) {
69316
+ this.foundation.updateAllPageNumbers(pagerProps.total, pagerProps.pageSize);
69317
+ }
69287
69318
  }
69288
69319
  renderPrevBtn() {
69289
69320
  const {
@@ -69486,6 +69517,13 @@ class Pagination extends BaseComponent {
69486
69517
  }, row)
69487
69518
  );
69488
69519
  }
69520
+ renderSmallPageSelect(content) {
69521
+ const allPageNumbers = this.state.allPageNumbers;
69522
+ const pageList = this.renderRestPageList(allPageNumbers);
69523
+ return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement(popover_0, {
69524
+ content: pageList
69525
+ }, content);
69526
+ }
69489
69527
  renderSmallPage(locale) {
69490
69528
  const _a = this.props,
69491
69529
  {
@@ -69509,24 +69547,18 @@ class Pagination extends BaseComponent {
69509
69547
  if (totalPageNum < 2 && hideOnSinglePage && !showSizeChanger) {
69510
69548
  return null;
69511
69549
  }
69512
- const pageNumbers = Array.from({
69513
- length: Math.ceil(total / pageSize)
69514
- }, (v, i) => i + 1);
69515
- const pageList = this.renderRestPageList(pageNumbers);
69516
69550
  const pageCls = classnames_default()({
69517
69551
  [`${pagination_prefixCls}-item`]: true,
69518
69552
  [`${pagination_prefixCls}-item-small`]: true,
69519
69553
  [`${pagination_prefixCls}-item-all-disabled`]: disabled
69520
69554
  });
69521
- const page = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("div", {
69555
+ const content = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("div", {
69522
69556
  className: pageCls
69523
69557
  }, currentPage, "/", totalPageNum, " ");
69524
69558
  return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("div", Object.assign({
69525
69559
  className: paginationCls,
69526
69560
  style: style
69527
- }, this.getDataAttr(rest)), this.renderPrevBtn(), hoverShowPageSelect && !disabled ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement(popover_0, {
69528
- content: pageList
69529
- }, page) : page, this.renderNextBtn(), this.renderQuickJump(locale));
69561
+ }, this.getDataAttr(rest)), this.renderPrevBtn(), hoverShowPageSelect && !disabled ? this.renderSmallPageSelect(content) : content, this.renderNextBtn(), this.renderQuickJump(locale));
69530
69562
  }
69531
69563
  renderDefaultPage(locale) {
69532
69564
  const {