@@ -5,6 +5,7 @@ import {omit} from 'lodash';
55import { InputField } from './InputField.jsx' ;
66import { intValidator } from '../util/Validate.js' ;
77import LOADING from 'html/images/gxt/loading.gif' ;
8+ import { MAX_ROW } from '../tables/TableUtil.js' ;
89
910export class PagingBar extends Component {
1011 constructor ( props ) {
@@ -18,7 +19,7 @@ export class PagingBar extends Component {
1819 render ( ) {
1920 const { currentPage, totalRows, pageSize, showLoading, callbacks} = this . props ;
2021
21- // const currentPage = highlightedRow >= 0 ? Math.floor(highlightedRow / pageSize)+1 : 1 ;
22+ const showAll = pageSize === MAX_ROW ;
2223 const startIdx = ( currentPage - 1 ) * pageSize ;
2324 const endIdx = Math . min ( startIdx + pageSize , totalRows ) ;
2425 var totalPages = Math . ceil ( ( totalRows || 0 ) / pageSize ) ;
@@ -28,27 +29,34 @@ export class PagingBar extends Component {
2829 callbacks . onGotoPage ( pageNum . value ) ;
2930 }
3031 } ;
31-
32- return (
33- < div className = 'group' >
34- < button onClick = { ( ) => callbacks . onGotoPage ( 1 ) } className = 'paging_bar first' title = 'First Page' />
35- < button onClick = { ( ) => callbacks . onGotoPage ( currentPage - 1 ) } className = 'paging_bar previous' title = 'Previous Page' />
36- < InputField
37- style = { { textAlign : 'right' } }
38- validator = { intValidator ( 1 , totalPages , 'Page Number' ) }
39- tooltip = 'Jump to this page'
40- size = { 2 }
41- value = { currentPage + '' }
42- onChange = { onPageChange }
43- actOn = { [ 'blur' , 'enter' ] }
44- showWarning = { false }
45- /> < div style = { { fontSize : 'smaller' , marginLeft : 3 } } > of { totalPages } </ div >
46- < button onClick = { ( ) => callbacks . onGotoPage ( currentPage + 1 ) } className = 'paging_bar next' title = 'Next Page' />
47- < button onClick = { ( ) => callbacks . onGotoPage ( totalPages ) } className = 'paging_bar last' title = 'Last Page' />
48- < div style = { { fontSize : 'smaller' , marginLeft : 3 } } > ({ ( startIdx + 1 ) . toLocaleString ( ) } - { endIdx . toLocaleString ( ) } of { totalRows . toLocaleString ( ) } )</ div >
49- { showLoading ? < img style = { { width :14 , height :14 , marginTop : '3px' } } src = { LOADING } /> : false }
50- </ div >
51- ) ;
32+ const showingLabel = ( < div style = { { fontSize : 'smaller' , marginLeft : 3 } } >
33+ ({ ( startIdx + 1 ) . toLocaleString ( ) } - { endIdx . toLocaleString ( ) } of { totalRows . toLocaleString ( ) } )
34+ </ div >
35+ ) ;
36+ if ( showAll ) {
37+ return showingLabel ;
38+ } else {
39+ return (
40+ < div className = 'group' >
41+ < button onClick = { ( ) => callbacks . onGotoPage ( 1 ) } className = 'paging_bar first' title = 'First Page' />
42+ < button onClick = { ( ) => callbacks . onGotoPage ( currentPage - 1 ) } className = 'paging_bar previous' title = 'Previous Page' />
43+ < InputField
44+ style = { { textAlign : 'right' } }
45+ validator = { intValidator ( 1 , totalPages , 'Page Number' ) }
46+ tooltip = 'Jump to this page'
47+ size = { 2 }
48+ value = { currentPage + '' }
49+ onChange = { onPageChange }
50+ actOn = { [ 'blur' , 'enter' ] }
51+ showWarning = { false }
52+ /> < div style = { { fontSize : 'smaller' , marginLeft : 3 } } > of { totalPages } </ div >
53+ < button onClick = { ( ) => callbacks . onGotoPage ( currentPage + 1 ) } className = 'paging_bar next' title = 'Next Page' />
54+ < button onClick = { ( ) => callbacks . onGotoPage ( totalPages ) } className = 'paging_bar last' title = 'Last Page' />
55+ { showingLabel }
56+ { showLoading ? < img style = { { width :14 , height :14 , marginTop : '3px' } } src = { LOADING } /> : false }
57+ </ div >
58+ ) ;
59+ }
5260 }
5361}
5462
0 commit comments