Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2020
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. buildPageNumbers(totalReports) {
  2.     const {
  3.       reportsKind,
  4.       [reportsKind]: {
  5.         currentPage,
  6.       },
  7.     } = this.props
  8.  
  9.     let pages = []
  10.     let totalPages = totalReports / this.props.pageSize
  11.     totalPages = totalPages - Math.floor(totalPages) > 0 ? Math.floor(totalPages) + 1 : Math.floor(totalPages)
  12.  
  13.     const middlePages = [ ...Array(this.MIDDLE_PAGES_LENGTH).keys() ].map((pageIndex) => { return pageIndex + currentPage - this.CURRENT_PAGE_RADIUS } ).filter((pageIndex) => { return 1 <= pageIndex && pageIndex <= totalPages })
  14.     const leftMarginPages = [ ...Array(this.MARGIN_PAGES_LENGTH).keys() ].map((pageIndex) => { return pageIndex + 1 } )
  15.     const rightMarginPages = [ ...Array(this.MARGIN_PAGES_LENGTH).keys() ].map((pageIndex) => { return pageIndex + totalPages - this.MARGIN_PAGES_LENGTH + 1 })
  16.  
  17.     console.log(leftMarginPages)
  18.     console.log(middlePages)
  19.     console.log(rightMarginPages)
  20.     if (Math.max(leftMarginPages) + 1 < Math.min(middlePages)) {
  21.       pages = leftMarginPages.concat([ this.MARGINS_SEPARATOR ]).concat(middlePages)
  22.     } else {
  23.       pages = middlePages
  24.     }
  25.     console.log(pages)
  26.  
  27.     if (Math.max(middlePages) + 1 < Math.min(rightMarginPages)) {
  28.       pages = pages.concat([ this.MARGINS_SEPARATOR ]).concat(rightMarginPages)
  29.     }
  30.     console.log(pages)
  31.    
  32.     return pages
  33.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement