1
1
import { isNull } from 'lodash' ;
2
- import { useEffect , useRef , useState } from 'react' ;
2
+ import React , { useEffect , useRef , useState } from 'react' ;
3
3
4
4
import { DoubleLeftOutlined , DoubleRightOutlined , EllipsisOutlined , LeftOutlined , RightOutlined } from '@react-devui/icons' ;
5
5
import { getClassName } from '@react-devui/utils' ;
@@ -105,15 +105,10 @@ export function DPagination(props: DPaginationProps): JSX.Element | null {
105
105
{ ...getButtonRoleAttributes ( ( ) => {
106
106
changeActive ( active - 1 ) ;
107
107
} , active === 1 ) }
108
- className = { getClassName (
109
- `${ dPrefix } pagination__item` ,
110
- `${ dPrefix } pagination__item--button` ,
111
-
112
- {
113
- 'is-disabled' : active === 1 ,
114
- [ `${ dPrefix } pagination__item--border` ] : ! ( dCustomRender && dCustomRender . prev ) ,
115
- }
116
- ) }
108
+ className = { getClassName ( `${ dPrefix } pagination__button` , {
109
+ 'is-disabled' : active === 1 ,
110
+ [ `${ dPrefix } pagination__button--border` ] : ! ( dCustomRender && dCustomRender . prev ) ,
111
+ } ) }
117
112
title = { t ( 'Pagination' , 'Previous page' ) }
118
113
>
119
114
{ dCustomRender && dCustomRender . prev ? dCustomRender . prev : < LeftOutlined /> }
@@ -125,10 +120,11 @@ export function DPagination(props: DPaginationProps): JSX.Element | null {
125
120
{ ...getButtonRoleAttributes ( ( ) => {
126
121
changeActive ( active + 1 ) ;
127
122
} , active === lastPage ) }
128
- className = { getClassName ( `${ dPrefix } pagination__item` , ` ${ dPrefix } pagination__item--button `, {
123
+ className = { getClassName ( `${ dPrefix } pagination__button ` , {
129
124
'is-disabled' : active === lastPage ,
130
- [ `${ dPrefix } pagination__item --border` ] : ! ( dCustomRender && dCustomRender . next ) ,
125
+ [ `${ dPrefix } pagination__button --border` ] : ! ( dCustomRender && dCustomRender . next ) ,
131
126
} ) }
127
+ style = { { marginRight : dCompose [ dCompose . length - 1 ] === 'pages' ? 0 : `var(--${ dPrefix } pagination-space)` } }
132
128
title = { t ( 'Pagination' , 'Next page' ) }
133
129
>
134
130
{ dCustomRender && dCustomRender . next ? dCustomRender . next : < RightOutlined /> }
@@ -157,9 +153,8 @@ export function DPagination(props: DPaginationProps): JSX.Element | null {
157
153
return (
158
154
< DSelect
159
155
key = "size"
160
- className = { getClassName ( `${ dPrefix } pagination__size-select` , {
161
- [ `${ dPrefix } pagination__size-select--mini` ] : dMini ,
162
- } ) }
156
+ className = { `${ dPrefix } pagination__size` }
157
+ style = { { marginRight : dCompose [ dCompose . length - 1 ] === 'size' ? 0 : undefined } }
163
158
dList = { list }
164
159
dModel = { pageSize }
165
160
dCustomItem = { ( item ) => ( dCustomRender && dCustomRender . size ? dCustomRender . size ( item . value ) : item . label ) }
@@ -177,9 +172,7 @@ export function DPagination(props: DPaginationProps): JSX.Element | null {
177
172
if ( dCompose . includes ( 'jump' ) ) {
178
173
const jumpInput = (
179
174
< DInput
180
- className = { getClassName ( `${ dPrefix } pagination__jump-input` , {
181
- [ `${ dPrefix } pagination__jump-input--mini` ] : dMini ,
182
- } ) }
175
+ className = { `${ dPrefix } pagination__jump-input` }
183
176
dType = "number"
184
177
dMax = { lastPage }
185
178
dMin = { 1 }
@@ -233,7 +226,11 @@ export function DPagination(props: DPaginationProps): JSX.Element | null {
233
226
{ dCompose . map ( ( item ) => {
234
227
if ( item === 'total' ) {
235
228
return (
236
- < div key = "total" className = { getClassName ( `${ dPrefix } pagination__item` ) } >
229
+ < div
230
+ key = "total"
231
+ className = { `${ dPrefix } pagination__total` }
232
+ style = { { marginRight : dCompose [ dCompose . length - 1 ] === 'total' ? 0 : undefined } }
233
+ >
237
234
{ totalNode }
238
235
</ div >
239
236
) ;
@@ -269,7 +266,7 @@ export function DPagination(props: DPaginationProps): JSX.Element | null {
269
266
}
270
267
271
268
return (
272
- < ul key = "pages" className = { ` ${ dPrefix } pagination__list` } >
269
+ < React . Fragment key = "pages" >
273
270
{ prevNode }
274
271
{ pages . map ( ( n ) => {
275
272
if ( n === 'prev5' ) {
@@ -279,11 +276,7 @@ export function DPagination(props: DPaginationProps): JSX.Element | null {
279
276
changeActive ( active - 5 ) ;
280
277
} ) }
281
278
key = "prev5"
282
- className = { getClassName (
283
- `${ dPrefix } pagination__item` ,
284
- `${ dPrefix } pagination__item--button` ,
285
- `${ dPrefix } pagination__item--jump5`
286
- ) }
279
+ className = { getClassName ( `${ dPrefix } pagination__button` , `${ dPrefix } pagination__button--jump5` ) }
287
280
title = { t ( 'Pagination' , '5 pages forward' ) }
288
281
>
289
282
< DoubleLeftOutlined className = { `${ dPrefix } pagination__jump5-icon` } />
@@ -299,11 +292,7 @@ export function DPagination(props: DPaginationProps): JSX.Element | null {
299
292
changeActive ( active + 5 ) ;
300
293
} ) }
301
294
key = "next5"
302
- className = { getClassName (
303
- `${ dPrefix } pagination__item` ,
304
- `${ dPrefix } pagination__item--button` ,
305
- `${ dPrefix } pagination__item--jump5`
306
- ) }
295
+ className = { getClassName ( `${ dPrefix } pagination__button` , `${ dPrefix } pagination__button--jump5` ) }
307
296
title = { t ( 'Pagination' , '5 pages backward' ) }
308
297
>
309
298
< DoubleRightOutlined className = { `${ dPrefix } pagination__jump5-icon` } />
@@ -317,10 +306,9 @@ export function DPagination(props: DPaginationProps): JSX.Element | null {
317
306
< li
318
307
key = { n }
319
308
className = { getClassName (
320
- `${ dPrefix } pagination__item` ,
321
- `${ dPrefix } pagination__item--button` ,
322
- `${ dPrefix } pagination__item--border` ,
323
- `${ dPrefix } pagination__item--number` ,
309
+ `${ dPrefix } pagination__button` ,
310
+ `${ dPrefix } pagination__button--border` ,
311
+ `${ dPrefix } pagination__button--number` ,
324
312
{
325
313
'is-active' : active === n ,
326
314
}
@@ -370,7 +358,7 @@ export function DPagination(props: DPaginationProps): JSX.Element | null {
370
358
}
371
359
} ) }
372
360
{ nextNode }
373
- </ ul >
361
+ </ React . Fragment >
374
362
) ;
375
363
}
376
364
@@ -380,7 +368,11 @@ export function DPagination(props: DPaginationProps): JSX.Element | null {
380
368
381
369
if ( item === 'jump' ) {
382
370
return (
383
- < div key = "jump" className = { getClassName ( `${ dPrefix } pagination__item` ) } >
371
+ < div
372
+ key = "jump"
373
+ className = { `${ dPrefix } pagination__jump` }
374
+ style = { { marginRight : dCompose [ dCompose . length - 1 ] === 'jump' ? 0 : undefined } }
375
+ >
384
376
{ jumpNode }
385
377
</ div >
386
378
) ;
0 commit comments