package Ġcom . otal i ast ud ios . elements . pag ers Ċ Ċ import Ġcom . otal i ast ud ios . elements .* Ċ import Ġcom . otal i ast ud ios . elements . extensions . Main Source Ċ Ċ open Ġclass ĠSource Results Pager ( ĊĠĠĠĠĠĠĠ Ġval Ġfraction : ĠFloat Ġ= Ġ 0 . 8 F , ĊĠĠĠĠĠĠĠ Ġval Ġselector : Ġ( source : ĠSource <* >, Ġelement Type : ĠInt ) Ġ-> ĠBoolean Ġ= Ġ{ Ġsource , Ġelement Type Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsource Ġis ĠMain Source ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġelement Type Ġ!= ĠMain Source . ELEMENT _ TYPE _ LOADING ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġelement Type Ġ!= ĠMain Source . ELEMENT _ TYPE _ EMPTY ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġelement Type Ġ!= ĠMain Source . ELEMENT _ TYPE _ ERROR ĊĠĠĠĠĠĠĠ Ġ}): ĠP ager () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġon Element Bound ( page : ĠPage , Ġelement : ĠElement <* >, Ġpresenter : ĠPres enter <* >, Ġabsolute Position : ĠInt , Ġpage Position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= Ġelement . source ĊĠĠĠĠĠĠĠ Ġif Ġ( page . is Last Page () Ġ&& Ġselector ( source , Ġelement . type ) Ġ&& Ġsource . has Results For Page ( page )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsource Results Ġ= Ġsource . get Results For Page ( page ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsource Position Ġ= Ġsource Results . indexOf First Ġ{ Ġit Ġ=== Ġelement Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠElements Logger . v (" Source Results Pager : Ġsource Ġmatches Ġand Ġhas Ġ${ source Results . size } Ġresults . Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" The Ġposition Ġof Ġthis Ġelement Ġis Ġ$ source Position . Ġ( in Ġpage : Ġ$ page Position , Ġabsolute : Ġ$ absolute Position , Ġdata : Ġ${ element . data }) ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( source Position Ġ>= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtrigger Ġ= Ġ( source Results . size Ġ* Ġfraction ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠElements Logger . w (" Source Results Pager : Ġcomparing Ġwith Ġ${ trigger Ġ- Ġ 1 }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( source Position Ġ== Ġmax Of ( trigger Ġ- Ġ 1 , Ġ 0 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Page () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }