@@ -306,17 +306,18 @@ export default class extends Controller {
306306 e . preventDefault ( )
307307 const url = e . target . href
308308 const parser = new URL ( url )
309- const start = parser . searchParams . get ( 'start' )
310- const pagesize = parser . searchParams . get ( 'n' )
309+ const start = parseInt ( parser . searchParams . get ( 'start' ) )
310+ const pagesize = parseInt ( parser . searchParams . get ( 'n' ) )
311311 const txntype = parser . searchParams . get ( 'txntype' )
312312 this . fetchTable ( txntype , pagesize , start )
313313 }
314314
315315 toPage ( direction ) {
316316 const params = ctrl . paginationParams
317- const count = ctrl . pageSize
317+ const count = parseInt ( ctrl . pageSize )
318+ const offset = parseInt ( params . offset )
318319 const txType = ctrl . txnType
319- let requestedOffset = params . offset + count * direction
320+ let requestedOffset = offset + count * direction
320321 if ( requestedOffset >= params . count ) return
321322 if ( requestedOffset < 0 ) requestedOffset = 0
322323 ctrl . fetchTable ( txType , count , requestedOffset )
@@ -351,8 +352,9 @@ export default class extends Controller {
351352
352353 setPageability ( ) {
353354 const params = ctrl . paginationParams
354- const rowMax = params . count
355- const count = ctrl . pageSize
355+ const rowMax = parseInt ( params . count )
356+ const count = parseInt ( ctrl . pageSize )
357+ const offset = parseInt ( params . offset )
356358 if ( ctrl . paginationParams . count === 0 ) {
357359 ctrl . paginationheaderTarget . classList . add ( 'd-hide' )
358360 } else {
@@ -370,8 +372,8 @@ export default class extends Controller {
370372 el . classList . add ( 'disabled' )
371373 }
372374 }
373- setAbility ( ctrl . pageplusTarget , params . offset + count < rowMax )
374- setAbility ( ctrl . pageminusTarget , params . offset - count >= 0 )
375+ setAbility ( ctrl . pageplusTarget , offset + count < rowMax )
376+ setAbility ( ctrl . pageminusTarget , offset - count >= 0 )
375377 ctrl . pageSizeOptions . forEach ( ( option ) => {
376378 if ( option . value > 100 ) {
377379 if ( rowMax > 100 ) {
@@ -387,9 +389,9 @@ export default class extends Controller {
387389 } )
388390 setAbility ( ctrl . pagesizeTarget , rowMax > 20 )
389391 const suffix = rowMax > 1 ? 's' : ''
390- let rangeEnd = params . offset + count
392+ let rangeEnd = offset + count
391393 if ( rangeEnd > rowMax ) rangeEnd = rowMax
392- ctrl . rangeTarget . innerHTML = 'showing ' + ( params . offset + 1 ) + ' – ' +
394+ ctrl . rangeTarget . innerHTML = 'showing ' + ( offset + 1 ) + ' – ' +
393395 rangeEnd + ' of ' + rowMax . toLocaleString ( ) + ' transaction' + suffix
394396 }
395397
0 commit comments