Skip to content
This repository was archived by the owner on Oct 8, 2021. It is now read-only.

Commit cbe643f

Browse files
author
Gabriel Schulhof
committed
Widgets: Move initSelector out of the prototype.
1 parent 919a10f commit cbe643f

17 files changed

+40
-29
lines changed

js/jquery.mobile.widget.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ $.widget( "mobile.widget", {
4040
},
4141

4242
enhanceWithin: function( target, useKeepNative ) {
43-
this.enhance( $( this.options.initSelector, $( target )), useKeepNative );
43+
this.enhance( $( $[ this.namespace ][ this.widgetName ].initSelector, $( target ) ), useKeepNative );
4444
},
4545

4646
enhance: function( targets, useKeepNative ) {

js/widgets/collapsible.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ $.widget( "mobile.collapsible", $.mobile.widget, {
2222
contentTheme: null,
2323
inset: true,
2424
corners: true,
25-
mini: false,
26-
initSelector: ":jqmData(role='collapsible')"
25+
mini: false
2726
},
2827
_create: function() {
2928

@@ -157,6 +156,8 @@ $.widget( "mobile.collapsible", $.mobile.widget, {
157156
}
158157
});
159158

159+
$.mobile.collapsible.initSelector = ":jqmData(role='collapsible')";
160+
160161
//auto self-init widgets
161162
$.mobile._enhancer.add( "mobile.collapsible" );
162163

js/widgets/collapsibleSet.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,6 @@ define( [ "jquery", "../jquery.mobile.widget", "./collapsible", "./addFirstLastC
1010
(function( $, undefined ) {
1111

1212
$.widget( "mobile.collapsibleset", $.mobile.widget, $.extend( {
13-
options: {
14-
initSelector: ":jqmData(role='collapsible-set')"
15-
},
1613
_create: function() {
1714
var $el = this.element.addClass( "ui-collapsible-set" ),
1815
o = this.options;
@@ -80,6 +77,8 @@ $.widget( "mobile.collapsibleset", $.mobile.widget, $.extend( {
8077
}
8178
}, $.mobile.behaviors.addFirstLastClasses ) );
8279

80+
$.mobile.collapsibleset.initSelector = ":jqmData(role='collapsible-set')";
81+
8382
//auto self-init widgets
8483
$.mobile._enhancer.add( "mobile.collapsibleset" );
8584

js/widgets/controlgroup.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@ define( [ "jquery",
1919
corners: true,
2020
excludeInvisible: true,
2121
type: "vertical",
22-
mini: false,
23-
initSelector: ":jqmData(role='controlgroup')"
22+
mini: false
2423
},
2524

2625
_create: function() {
@@ -98,6 +97,8 @@ define( [ "jquery",
9897
}
9998
}, $.mobile.behaviors.addFirstLastClasses ) );
10099

100+
$.mobile.controlgroup.initSelector = ":jqmData(role='controlgroup')";
101+
101102
$.mobile._enhancer.add( "mobile.controlgroup", {
102103
dependencies: [ "mobile.selectmenu", "mobile.button", "mobile.buttonmarkup", "mobile.checkboxradio" ]
103104
});

js/widgets/dialog.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@ $.widget( "mobile.dialog", $.mobile.widget, {
1414
closeBtn: "left",
1515
closeBtnText: "Close",
1616
overlayTheme: "a",
17-
corners: true,
18-
initSelector: ":jqmData(role='dialog')"
17+
corners: true
1918
},
2019

2120
// Override the theme set by the page plugin on pageshow
@@ -157,8 +156,9 @@ $.widget( "mobile.dialog", $.mobile.widget, {
157156
}
158157
});
159158

159+
$.mobile.dialog.initSelector = ":jqmData(role='dialog')";
160160
//auto self-init widgets
161-
$.mobile.document.delegate( $.mobile.dialog.prototype.options.initSelector, "pagecreate", function() {
161+
$.mobile.document.delegate( $.mobile.dialog.initSelector, "pagecreate", function() {
162162
$.mobile.dialog.prototype.enhance( this );
163163
});
164164

js/widgets/fixedToolbar.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@ define( [ "jquery", "../jquery.mobile.widget", "../jquery.mobile.core", "../jque
3030
// This is a plugin option like any other, so feel free to improve or overwrite it
3131
supportBlacklist: function() {
3232
return !$.support.fixedPosition;
33-
},
34-
initSelector: ":jqmData(position='fixed')"
33+
}
3534
},
3635

3736
_create: function() {
@@ -269,6 +268,8 @@ define( [ "jquery", "../jquery.mobile.widget", "../jquery.mobile.core", "../jque
269268

270269
});
271270

271+
$.mobile.fixedtoolbar.initSelector = ":jqmData(position='fixed')";
272+
272273
//auto self-init widgets
273274
// NOTE: The implementation via $.mobile._enhancer removes support for
274275
// data-fullscreen=true|false on the page element. This support was

js/widgets/forms/button.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@ $.widget( "mobile.button", $.mobile.widget, {
3636
shadow: true,
3737
iconshadow: true,
3838
inline: null,
39-
mini: null,
40-
initSelector: "button, [type='button'], [type='submit'], [type='reset']"
39+
mini: null
4140
},
4241

4342
_create: function() {
@@ -156,6 +155,8 @@ $.widget( "mobile.button", $.mobile.widget, {
156155
}
157156
});
158157

158+
$.mobile.button.initSelector = "button, [type='button'], [type='submit'], [type='reset']";
159+
159160
//auto self-init widgets
160161
$.mobile._enhancer.add( "mobile.button" );
161162

js/widgets/forms/checkboxradio.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@ define( [ "jquery", "../../jquery.mobile.core", "../../jquery.mobile.widget", ".
1616
$.widget( "mobile.checkboxradio", $.mobile.widget, $.extend( {
1717
options: {
1818
theme: null,
19-
mini: false,
20-
initSelector: "input[type='checkbox'],input[type='radio']"
19+
mini: false
2120
},
2221
_create: function() {
2322
var input = this.element,
@@ -208,6 +207,8 @@ $.widget( "mobile.checkboxradio", $.mobile.widget, $.extend( {
208207
}
209208
}, $.mobile.behaviors.formReset ) );
210209

210+
$.mobile.checkboxradio.initSelector = "input[type='checkbox'],input[type='radio']";
211+
211212
//auto self-init widgets
212213
$.mobile._enhancer.add( "mobile.checkboxradio" );
213214

js/widgets/forms/rangeslider.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ define( [ "jquery", "../../jquery.mobile.core", "../../jquery.mobile.widget", ".
1414
theme: null,
1515
trackTheme: null,
1616
disabled: false,
17-
initSelector: ":jqmData(role='rangeslider')",
1817
mini: false,
1918
highlight: true
2019
},
@@ -195,6 +194,8 @@ define( [ "jquery", "../../jquery.mobile.core", "../../jquery.mobile.widget", ".
195194

196195
}, $.mobile.behaviors.formReset ) );
197196

197+
$.mobile.rangeslider.initSelector = ":jqmData(role='rangeslider')";
198+
198199
//auto self-init widgets
199200
$.mobile._enhancer.add( "mobile.rangeslider", { dependencies: [ "mobile.slider" ] } );
200201

js/widgets/forms/select.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ $.widget( "mobile.selectmenu", $.mobile.widget, $.extend( {
2626
nativeMenu: true,
2727
// This option defaults to true on iOS devices.
2828
preventFocusZoom: /iPhone|iPad|iPod/.test( navigator.platform ) && navigator.userAgent.indexOf( "AppleWebKit" ) > -1,
29-
initSelector: "select:not( :jqmData(role='slider') )",
3029
mini: false
3130
},
3231

@@ -286,6 +285,8 @@ $.widget( "mobile.selectmenu", $.mobile.widget, $.extend( {
286285
}
287286
}, $.mobile.behaviors.formReset ) );
288287

288+
$.mobile.selectmenu.initSelector = "select:not( :jqmData(role='slider') )";
289+
289290
//auto self-init widgets
290291
$.mobile._enhancer.add( "mobile.selectmenu" );
291292
})( jQuery );

0 commit comments

Comments
 (0)