@@ -168,35 +168,58 @@ var showFiles = function (category, algorithm, files) {
168168 }
169169 } ) ( file , files [ file ] ) ;
170170 }
171+ $ ( '.files_bar > .wrapper' ) . scroll ( ) ;
171172} ;
172- $ ( '.files_bar > .button -left' ) . click ( function ( ) {
173- var $parent = $ ( '.files_bar > .wrapper' ) ;
174- var clipWidth = $parent . width ( ) ;
175- var scrollLeft = $parent . scrollLeft ( ) ;
176- $ ( $parent . children ( 'button' ) . get ( ) . reverse ( ) ) . each ( function ( ) {
173+ $ ( '.files_bar > .btn -left' ) . click ( function ( ) {
174+ var $wrapper = $ ( '.files_bar > .wrapper' ) ;
175+ var clipWidth = $wrapper . width ( ) ;
176+ var scrollLeft = $wrapper . scrollLeft ( ) ;
177+ $ ( $wrapper . children ( 'button' ) . get ( ) . reverse ( ) ) . each ( function ( ) {
177178 var left = $ ( this ) . position ( ) . left ;
178179 var right = left + $ ( this ) . outerWidth ( ) ;
179180 if ( 0 > left ) {
180- $parent . scrollLeft ( scrollLeft + right - clipWidth ) ;
181+ $wrapper . scrollLeft ( scrollLeft + right - clipWidth ) ;
181182 return false ;
182183 }
183184 } ) ;
184185} ) ;
185- $ ( '.files_bar > .button -right' ) . click ( function ( ) {
186- var $parent = $ ( '.files_bar > .wrapper' ) ;
187- var clipWidth = $parent . width ( ) ;
188- var scrollLeft = $parent . scrollLeft ( ) ;
189- $parent . children ( 'button' ) . each ( function ( ) {
186+ $ ( '.files_bar > .btn -right' ) . click ( function ( ) {
187+ var $wrapper = $ ( '.files_bar > .wrapper' ) ;
188+ var clipWidth = $wrapper . width ( ) ;
189+ var scrollLeft = $wrapper . scrollLeft ( ) ;
190+ $wrapper . children ( 'button' ) . each ( function ( ) {
190191 var left = $ ( this ) . position ( ) . left ;
191192 var right = left + $ ( this ) . outerWidth ( ) ;
192193 console . log ( left ) ;
193194 console . log ( right ) ;
194195 if ( clipWidth < right ) {
195- $parent . scrollLeft ( scrollLeft + left ) ;
196+ $wrapper . scrollLeft ( scrollLeft + left ) ;
196197 return false ;
197198 }
198199 } ) ;
199200} ) ;
201+ $ ( '.files_bar > .wrapper' ) . scroll ( function ( ) {
202+ var definitelyBigger = function ( x , y ) {
203+ return x > y + 2 ;
204+ } ;
205+ var $wrapper = $ ( '.files_bar > .wrapper' ) ;
206+ var clipWidth = $wrapper . width ( ) ;
207+ var $left = $wrapper . children ( 'button:first-child' ) ;
208+ var $right = $wrapper . children ( 'button:last-child' ) ;
209+ var left = $left . position ( ) . left ;
210+ var right = $right . position ( ) . left + $right . outerWidth ( ) ;
211+ if ( definitelyBigger ( clipWidth , right ) ) {
212+ var scrollLeft = $wrapper . scrollLeft ( ) ;
213+ $wrapper . scrollLeft ( scrollLeft + clipWidth - right ) ;
214+ return ;
215+ }
216+ var lefter = definitelyBigger ( 0 , left ) ;
217+ var righter = definitelyBigger ( right , clipWidth ) ;
218+ $wrapper . toggleClass ( 'shadow-left' , lefter ) ;
219+ $wrapper . toggleClass ( 'shadow-right' , righter ) ;
220+ $ ( '.files_bar > .btn-left' ) . attr ( 'disabled' , ! lefter ) ;
221+ $ ( '.files_bar > .btn-right' ) . attr ( 'disabled' , ! righter ) ;
222+ } ) ;
200223var loadAlgorithm = function ( category , algorithm ) {
201224 if ( checkLoading ( ) ) return ;
202225 showAlgorithm ( category , algorithm ) ;
@@ -388,6 +411,7 @@ for (var i = 0; i < dividers.length; i++) {
388411 $second . css ( 'left' , percent + '%' ) ;
389412 x = e . pageX ;
390413 tm . resize ( ) ;
414+ $ ( '.files_bar > .wrapper' ) . scroll ( ) ;
391415 }
392416 } ) ;
393417 $ ( document ) . mouseup ( function ( e ) {
0 commit comments