Skip to content

Commit 29effb3

Browse files
committed
Selectmenu: removed Button widget dependency
1 parent 6957f9f commit 29effb3

File tree

9 files changed

+22
-32
lines changed

9 files changed

+22
-32
lines changed

demos/selectmenu/custom_render.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
<script src="../../ui/jquery.ui.core.js"></script>
99
<script src="../../ui/jquery.ui.widget.js"></script>
1010
<script src="../../ui/jquery.ui.position.js"></script>
11-
<script src="../../ui/jquery.ui.button.js"></script>
1211
<script src="../../ui/jquery.ui.menu.js"></script>
1312
<script src="../../ui/jquery.ui.selectmenu.js"></script>
1413
<link rel="stylesheet" href="../demos.css">

demos/selectmenu/default.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
<script src="../../ui/jquery.ui.core.js"></script>
99
<script src="../../ui/jquery.ui.widget.js"></script>
1010
<script src="../../ui/jquery.ui.position.js"></script>
11-
<script src="../../ui/jquery.ui.button.js"></script>
1211
<script src="../../ui/jquery.ui.menu.js"></script>
1312
<script src="../../ui/jquery.ui.selectmenu.js"></script>
1413
<link rel="stylesheet" href="../demos.css">

tests/unit/selectmenu/selectmenu.html

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,12 @@
55
<title>jQuery UI Selectmenu Test Suite</title>
66

77
<link rel="stylesheet" href="../../../themes/base/jquery.ui.core.css">
8-
<link rel="stylesheet" href="../../../themes/base/jquery.ui.button.css">
98
<link rel="stylesheet" href="../../../themes/base/jquery.ui.menu.css">
109
<link rel="stylesheet" href="../../../themes/base/jquery.ui.selectmenu.css">
1110

1211
<script src="../../jquery.js"></script>
1312
<script src="../../../ui/jquery.ui.core.js"></script>
1413
<script src="../../../ui/jquery.ui.widget.js"></script>
15-
<script src="../../../ui/jquery.ui.button.js"></script>
1614
<script src="../../../ui/jquery.ui.menu.js"></script>
1715
<script src="../../../ui/jquery.ui.selectmenu.js"></script>
1816

tests/visual/selectmenu/compatibility.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
<script src="../../../ui/jquery.ui.tabs.js"></script>
1212
<script src="../../../ui/jquery.ui.dialog.js"></script>
1313
<script src="../../../ui/jquery.ui.autocomplete.js"></script>
14-
<script src="../../../ui/jquery.ui.button.js"></script>
1514
<script src="../../../ui/jquery.ui.menu.js"></script>
1615
<script src="../../../ui/jquery.ui.selectmenu.js"></script>
1716
<link rel="stylesheet" href="../../../demos/demos.css">

tests/visual/selectmenu/disabled.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
<script src="../../../ui/jquery.ui.core.js"></script>
99
<script src="../../../ui/jquery.ui.widget.js"></script>
1010
<script src="../../../ui/jquery.ui.position.js"></script>
11-
<script src="../../../ui/jquery.ui.button.js"></script>
1211
<script src="../../../ui/jquery.ui.menu.js"></script>
1312
<script src="../../../ui/jquery.ui.selectmenu.js"></script>
1413
<link rel="stylesheet" href="../../../demos/demos.css">

tests/visual/selectmenu/events.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
<script src="../../../ui/jquery.ui.core.js"></script>
99
<script src="../../../ui/jquery.ui.widget.js"></script>
1010
<script src="../../../ui/jquery.ui.position.js"></script>
11-
<script src="../../../ui/jquery.ui.button.js"></script>
1211
<script src="../../../ui/jquery.ui.menu.js"></script>
1312
<script src="../../../ui/jquery.ui.selectmenu.js"></script>
1413
<link rel="stylesheet" href="../../../demos/demos.css">

tests/visual/selectmenu/methods.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
<script src="../../../ui/jquery.ui.core.js"></script>
99
<script src="../../../ui/jquery.ui.widget.js"></script>
1010
<script src="../../../ui/jquery.ui.position.js"></script>
11-
<script src="../../../ui/jquery.ui.button.js"></script>
1211
<script src="../../../ui/jquery.ui.menu.js"></script>
1312
<script src="../../../ui/jquery.ui.selectmenu.js"></script>
1413
<link rel="stylesheet" href="../../../demos/demos.css">

themes/base/jquery.ui.selectmenu.css

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,5 @@
1313
.ui-selectmenu-menu .ui-menu li.ui-state-disabled { padding: 0.3em 1em 0.3em 1em; }
1414
.ui-selectmenu-menu .ui-menu li.ui-selectmenu-optgroup { font-weight: bold; line-height: 1.5; padding: 2px 0.4em; margin: 0.5em 0 0 0; }
1515
.ui-selectmenu-open { display: block; }
16-
17-
.ui-selectmenu-button span.ui-icon { right: 0.5em; left: auto; }
18-
.ui-selectmenu-button span.ui-button-text { text-align: left; padding: 0.4em 2.1em 0.4em 1em }
16+
.ui-selectmenu-button span.ui-icon { right: 0.5em; left: auto; margin-top: -8px; position: absolute; top: 50%; }
17+
.ui-selectmenu-button span.ui-selectmenu-text { text-align: left; padding: 0.4em 2.1em 0.4em 1em; display: block; line-height: 1.4; }

ui/jquery.ui.selectmenu.js

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
* jquery.ui.widget.js
1313
* jquery.ui.position.js
1414
* jquery.ui.menu.js
15-
* jquery.ui.button.js
1615
*/
1716
(function( $, undefined ) {
1817

@@ -68,23 +67,25 @@ $.widget( "ui.selectmenu", {
6867

6968
// create button
7069
this.button = $( '<a />', {
71-
href: '#' + this.ids.id,
72-
html: this.element.find( "option:selected" ).text() || '&nbsp;',
73-
tabindex: ( tabindex ? tabindex : this.options.disabled ? -1 : 0 ),
74-
id: this.ids.button,
75-
width: this.element.outerWidth(),
76-
'aria-expanded': false,
77-
'aria-autocomplete': 'list',
78-
'aria-owns': this.ids.menu,
79-
'aria-haspopup': true
70+
'class': 'ui-button ui-widget ui-state-default ui-corner-all',
71+
href: '#' + this.ids.id,
72+
tabindex: ( tabindex ? tabindex : this.options.disabled ? -1 : 0 ),
73+
id: this.ids.button,
74+
width: this.element.outerWidth(),
75+
role: 'combobox',
76+
'aria-expanded': false,
77+
'aria-autocomplete': 'list',
78+
'aria-owns': this.ids.menu,
79+
'aria-haspopup': true
80+
});
81+
82+
this.button.prepend( $( '<span class="ui-icon ' + ( this.options.dropdown ? 'ui-icon-triangle-1-s' : 'ui-icon-triangle-2-n-s' ) + '"/>' ) );
83+
84+
this.buttonText = $( '<span />', {
85+
'class': 'ui-selectmenu-text' ,
86+
html: this.element.find( "option:selected" ).text() || '&nbsp;'
8087
})
81-
.button({
82-
icons: {
83-
primary: ( this.options.dropdown ? 'ui-icon-triangle-1-s' : 'ui-icon-triangle-2-n-s' )
84-
}
85-
})
86-
// change ARIA role
87-
.attr( 'role', 'combobox' );
88+
.appendTo( this.button );
8889

8990
// wrap and insert new button
9091
this.buttonWrap = $( '<span />', {
@@ -108,8 +109,7 @@ $.widget( "ui.selectmenu", {
108109
if ( this.options.dropdown ) {
109110
var setWidth = this.button.outerWidth();
110111
} else {
111-
var text = this.button.find( "span.ui-button-text"),
112-
setWidth = text.width() + parseFloat( text.css( "padding-left" ) ) || 0 + parseFloat( text.css( "margin-left" ) || 0 );
112+
var setWidth = this.buttonText.width() + parseFloat( this.buttonText.css( "padding-left" ) ) || 0 + parseFloat( this.buttonText.css( "margin-left" ) || 0 );
113113
}
114114

115115
// wrap menu
@@ -391,7 +391,7 @@ $.widget( "ui.selectmenu", {
391391

392392
_setSelected: function( item ) {
393393
// update button text
394-
this.button.find( "span.ui-button-text" ).html( item.label );
394+
this.buttonText.html( item.label );
395395
// change ARIA attr
396396
this.menuItems.find("a").attr( "aria-selected", false );
397397
this._getSelectedItem().find("a").attr( "aria-selected", true );
@@ -407,7 +407,6 @@ $.widget( "ui.selectmenu", {
407407
this.menu.toggleClass( 'ui-corner-bottom', value ).toggleClass( 'ui-corner-all', !value );
408408
}
409409
if ( key === "disabled" ) {
410-
this.button.button( "option", "disabled", value );
411410
this.menu.menu( "option", "disabled", value );
412411
if ( value ) {
413412
this.element.attr( "disabled", "disabled" );

0 commit comments

Comments
 (0)