@@ -20,6 +20,7 @@ $.widget( "mobile.slider", $.mobile.widget, $.extend( {
2020 options : {
2121 theme : null ,
2222 trackTheme : null ,
23+ corners : true ,
2324 mini : false ,
2425 highlight : false
2526 } ,
@@ -31,6 +32,8 @@ $.widget( "mobile.slider", $.mobile.widget, $.extend( {
3132 control = this . element ,
3233 trackTheme = this . options . trackTheme || $ . mobile . getAttribute ( control [ 0 ] , "theme" , true ) ,
3334 trackThemeClass = trackTheme ? " ui-body-" + trackTheme : "" ,
35+ cornerClass = ( this . options . corners || control . jqmData ( "corners" ) ) ? " ui-corner-all" : "" ,
36+ miniClass = ( this . options . mini || control . jqmData ( "mini" ) ) ? " ui-mini" : "" ,
3437 cType = control [ 0 ] . nodeName . toLowerCase ( ) ,
3538 isToggleSwitch = ( cType === "select" ) ,
3639 isRangeslider = control . parent ( ) . is ( ":jqmData(role='rangeslider')" ) ,
@@ -42,7 +45,6 @@ $.widget( "mobile.slider", $.mobile.widget, $.extend( {
4245 min = ! isToggleSwitch ? parseFloat ( control . attr ( "min" ) ) : 0 ,
4346 max = ! isToggleSwitch ? parseFloat ( control . attr ( "max" ) ) : control . find ( "option" ) . length - 1 ,
4447 step = window . parseFloat ( control . attr ( "step" ) || 1 ) ,
45- miniClass = ( this . options . mini || control . jqmData ( "mini" ) ) ? " ui-mini" : "" ,
4648 domHandle = document . createElement ( "a" ) ,
4749 handle = $ ( domHandle ) ,
4850 domSlider = document . createElement ( "div" ) ,
@@ -62,7 +64,7 @@ $.widget( "mobile.slider", $.mobile.widget, $.extend( {
6264
6365 domHandle . setAttribute ( "href" , "#" ) ;
6466 domSlider . setAttribute ( "role" , "application" ) ;
65- domSlider . className = [ this . isToggleSwitch ? "ui-slider ui-slider-track ui-shadow-inset " : "ui-slider-track ui-shadow-inset " , selectClass , trackThemeClass , " ui-corner-all" , miniClass ] . join ( "" ) ;
67+ domSlider . className = [ this . isToggleSwitch ? "ui-slider ui-slider-track ui-shadow-inset " : "ui-slider-track ui-shadow-inset " , selectClass , trackThemeClass , cornerClass , miniClass ] . join ( "" ) ;
6668 domHandle . className = "ui-slider-handle" ;
6769 domSlider . appendChild ( domHandle ) ;
6870
@@ -79,6 +81,7 @@ $.widget( "mobile.slider", $.mobile.widget, $.extend( {
7981 $ . extend ( this , {
8082 slider : slider ,
8183 handle : handle ,
84+ control : control ,
8285 type : cType ,
8386 step : step ,
8487 max : max ,
@@ -357,14 +360,16 @@ $.widget( "mobile.slider", $.mobile.widget, $.extend( {
357360 themeClass = theme ? " ui-btn-" + theme : "" ,
358361 trackTheme = this . options . trackTheme || parentTheme ,
359362 trackThemeClass = trackTheme ? " ui-body-" + trackTheme : "" ,
363+ cornerClass = this . options . corners ? " ui-corner-all" : "" ,
364+ miniClass = this . options . mini ? " ui-mini" : "" ,
360365 left , width , data , tol ,
361366 pxStep , percent ,
362367 control , isInput , optionElements , min , max , step ,
363368 newval , valModStep , alignValue , percentPerStep ,
364369 handlePercent , aPercent , bPercent ,
365370 valueChanged ;
366371
367- self . slider [ 0 ] . className = [ this . isToggleSwitch ? "ui-slider ui-slider-switch ui-slider-track ui-shadow-inset" : "ui-slider-track ui-shadow-inset" , trackThemeClass , " ui-corner-all" , ( this . options . mini ) ? " ui-mini" : "" ] . join ( "" ) ;
372+ self . slider [ 0 ] . className = [ this . isToggleSwitch ? "ui-slider ui-slider-switch ui-slider-track ui-shadow-inset" : "ui-slider-track ui-shadow-inset" , trackThemeClass , cornerClass , miniClass ] . join ( "" ) ;
368373 if ( this . options . disabled || this . element . prop ( "disabled" ) ) {
369374 this . disable ( ) ;
370375 }
@@ -508,6 +513,28 @@ $.widget( "mobile.slider", $.mobile.widget, $.extend( {
508513 }
509514 } ,
510515
516+ _setTheme : function ( value ) {
517+ this . handle
518+ . removeClass ( "ui-btn-" + this . options . theme )
519+ . addClass ( "ui-btn-" + value ) ;
520+
521+ var currentTheme = this . options . theme ? this . options . theme : "inherit" ,
522+ newTheme = value ? value : "inherit" ;
523+
524+ this . control
525+ . removeClass ( "ui-body-" + currentTheme )
526+ . addClass ( "ui-body-" + newTheme ) ;
527+ } ,
528+
529+ _setTrackTheme : function ( value ) {
530+ var currentTrackTheme = this . options . trackTheme ? this . options . trackTheme : "inherit" ,
531+ newTrackTheme = value ? value : "inherit" ;
532+
533+ this . slider
534+ . removeClass ( "ui-body-" + currentTrackTheme )
535+ . addClass ( "ui-body-" + newTrackTheme ) ;
536+ } ,
537+
511538 _setMini : function ( value ) {
512539 value = ! ! value ;
513540 if ( ! this . isToggleSwitch && ! this . isRangeslider ) {
@@ -516,18 +543,13 @@ $.widget( "mobile.slider", $.mobile.widget, $.extend( {
516543 }
517544 this . slider . toggleClass ( "ui-mini" , value ) ;
518545 } ,
519-
520- _setTheme : function ( value ) {
521- this . handle . removeClass ( "ui-btn-" + this . options . theme ) . addClass ( "ui-btn-" + value ) ;
522- } ,
523-
524- _setTrackTheme : function ( value ) {
525- var currentTheme = this . options . trackTheme ? this . options . trackTheme : "inherit" ,
526- newTheme = value ? value : "inherit" ;
527-
528- this . slider
529- . removeClass ( "ui-fill-" + currentTheme )
530- . addClass ( "ui-fill-" + newTheme ) ;
546+
547+ _setCorners : function ( value ) {
548+ this . slider . toggleClass ( "ui-corner-all" , value ) ;
549+
550+ if ( ! this . isToggleSwitch ) {
551+ this . control . toggleClass ( "ui-corner-all" , value ) ;
552+ }
531553 } ,
532554
533555 _setDisabled : function ( value ) {
0 commit comments