5
5
//>>css.structure: ../css/structure/jquery.mobile.listview.css
6
6
//>>css.theme: ../css/themes/default/jquery.mobile.theme.css
7
7
8
- define ( [ "jquery" , "../widget" , "./addFirstLastClasses" ] , function ( jQuery ) {
8
+ define ( [
9
+ "jquery" ,
10
+ "../widget" ,
11
+ "./optionsToClasses" ,
12
+ "./addFirstLastClasses" ] , function ( jQuery ) {
9
13
//>>excludeEnd("jqmBuildExclude");
10
14
( function ( $ , undefined ) {
11
15
12
- var getAttr = $ . mobile . getAttribute ;
16
+ var getAttr = $ . mobile . getAttribute ,
17
+ styleOptions = {
18
+ corners : true ,
19
+ shadow : true ,
20
+ inset : false
21
+ } ;
13
22
14
23
$ . widget ( "mobile.listview" , $ . extend ( {
15
24
16
- options : {
25
+ options : $ . extend ( {
17
26
classes : {
18
27
"ui-listview" : null ,
19
28
"ui-listview-item" : null
@@ -22,27 +31,39 @@ $.widget( "mobile.listview", $.extend( {
22
31
dividerTheme : null ,
23
32
icon : "carat-r" ,
24
33
splitIcon : "carat-r" ,
25
- splitTheme : null ,
26
- corners : true ,
27
- shadow : true ,
28
- inset : false
29
- } ,
34
+ splitTheme : null
35
+ } , styleOptions ) ,
30
36
31
37
_create : function ( ) {
32
- var t = this ,
33
- listviewClasses = "" ;
34
-
35
- listviewClasses += t . options . inset ? " ui-listview-inset" : "" ;
36
38
37
- if ( ! ! t . options . inset ) {
38
- listviewClasses += t . options . corners ? " ui-corner-all" : "" ;
39
- listviewClasses += t . options . shadow ? " ui-shadow" : "" ;
40
- }
39
+ // DEPRECATED as of 1.5.0. Will be removed in 1.6.0
40
+ // Update classes option to reflect style option values
41
+ this . _updateClassesOption ( styleOptions , this . options ) ;
41
42
42
43
// create listview markup
43
- t . element . addClass ( t . _classes ( "ui-listview" ) + listviewClasses ) ;
44
+ this . element . addClass ( this . _classes ( "ui-listview" ) ) ;
44
45
45
- t . refresh ( true ) ;
46
+ this . refresh ( true ) ;
47
+ } ,
48
+
49
+ // DEPRECATED as of 1.5.0. Will be removed in 1.6.0
50
+ // Update classes option to reflect style option values
51
+ _optionsToClasses : function ( oldOptions , newOptions ) {
52
+ var isInset = oldOptions . inset || newOptions . inset ,
53
+ newClasses = { } ,
54
+ oldClasses = { } ;
55
+
56
+ if ( this . _booleanOptionToClass ( newOptions . corners , "ui-corner-all" ,
57
+ oldClasses , newClasses , newOptions . corners && isInset ) ||
58
+ this . _booleanOptionToClass ( newOptions . shadow , "ui-shadow" ,
59
+ oldClasses , newClasses , newOptions . shadow && isInset ) ||
60
+ this . _booleanOptionToClass ( newOptions . inset , "ui-listview-inset" ,
61
+ oldClasses , newClasses ) ) {
62
+
63
+ this . options . classes [ "ui-listview" ] =
64
+ this . _calculateClassKeyValue ( this . options . classes [ "ui-listview" ] ,
65
+ oldClasses , newClasses ) ;
66
+ }
46
67
} ,
47
68
48
69
_getChildrenByTagName : function ( ele , lcName , ucName ) {
@@ -178,7 +199,7 @@ $.widget( "mobile.listview", $.extend( {
178
199
179
200
this . _addFirstLastClasses ( li , this . _getVisibles ( li , create ) , create ) ;
180
201
}
181
- } , $ . mobile . behaviors . addFirstLastClasses ) ) ;
202
+ } , $ . mobile . behaviors . addFirstLastClasses , $ . mobile . behaviors . _optionsToClasses ) ) ;
182
203
183
204
} ) ( jQuery ) ;
184
205
//>>excludeStart("jqmBuildExclude", pragmas.jqmBuildExclude);
0 commit comments