r2781 - whitespace / formatting
Author: scottjehl
Date: Tue Jun 16 11:40:49 2009
New Revision: 2781
Modified:
branches/labs/selectmenu/ui.selectmenu.js
Log:
whitespace / formatting
Modified: branches/labs/selectmenu/ui.selectmenu.js
==============================================================================
--- branches/labs/selectmenu/ui.selectmenu.js (original)
+++ branches/labs/selectmenu/ui.selectmenu.js Tue Jun 16 11:40:49 2009
@@ -84,7 +84,9 @@
}
return ret;
})
- .bind('mouseover focus', function(){
$(this).addClass('ui-selectmenu-focus ui-state-hover'); })
+ .bind('mouseover focus', function(){
+ $(this).addClass('ui-selectmenu-focus ui-state-hover');
+ })
.bind('mouseout blur', function(){
$(this).removeClass('ui-selectmenu-focus ui-state-hover');
});
@@ -108,9 +110,9 @@
//get selectmenu element option data
var s_options = this._selectOptions();
var activeClass = (self.options.style == "popup") ? "
ui-state-active" : "";
+
//write li's
for(var i in s_options){
-
var thisLi = $('<li><a href="#" tabindex="-1" role="option"
aria-selected="false">'+ s_options[i].text +'</a></li>')
.data('index',i)
.addClass(s_options[i].classes)
@@ -139,51 +141,45 @@
$(this).removeClass('ui-selectmenu-item-focus ui-state-hover');
});
- //optgroup or not...
- if(s_options[i].parentOptGroup){
- var optGroupName = 'ui-selectmenu-group-' +
s_options[i].parentOptGroup;
- if(this.list.find('li.'+optGroupName).size()){
- this.list.find('li.'+optGroupName + ':last ul').append(thisLi);
- }
- else{
- var newOptGroup = $('<li
class="ui-selectmenu-group '+optGroupName+'"><span
class="ui-selectmenu-group-label">'+s_options[i].parentOptGroup+'</span><ul></ul></li>')
- .appendTo(this.list)
- .find('ul')
- .append(thisLi);
- }
+ //optgroup or not...
+ if(s_options[i].parentOptGroup){
+ var optGroupName = 'ui-selectmenu-group-' +
s_options[i].parentOptGroup;
+ if(this.list.find('li.'+optGroupName).size()){
+ this.list.find('li.'+optGroupName + ':last ul').append(thisLi);
}
else{
- thisLi.appendTo(this.list);
+ var newOptGroup = $('<li
class="ui-selectmenu-group '+optGroupName+'"><span
class="ui-selectmenu-group-label">'+s_options[i].parentOptGroup+'</span><ul></ul></li>')
+ .appendTo(this.list)
+ .find('ul')
+ .append(thisLi);
}
-
- this.list.bind('mousedown mouseup', function(){return false;});
-
- //append icon if option is specified
- if(o.icons){
- for(var j in o.icons){
- if(thisLi.is(o.icons[j].find)){
- thisLi
- .data('optionClasses', s_options[i].classes + '
ui-selectmenu-hasIcon')
- .addClass('ui-selectmenu-hasIcon');
- var iconClass = o.icons[j].icon || "";
-
- thisLi
- .find('a:eq(0)')
- .prepend('<span class="ui-selectmenu-item-icon ui-icon '+iconClass
+ '"></span>');
- }
+ }
+ else{
+ thisLi.appendTo(this.list);
+ }
+
+ this.list.bind('mousedown mouseup', function(){return false;});
+
+ //append icon if option is specified
+ if(o.icons){
+ for(var j in o.icons){
+ if(thisLi.is(o.icons[j].find)){
+ thisLi
+ .data('optionClasses', s_options[i].classes + '
ui-selectmenu-hasIcon')
+ .addClass('ui-selectmenu-hasIcon');
+ var iconClass = o.icons[j].icon || "";
+
+ thisLi
+ .find('a:eq(0)')
+ .prepend('<span class="ui-selectmenu-item-icon ui-icon '+iconClass
+ '"></span>');
}
}
-
+ }
}
-
-
-
//add corners to top and bottom menu items
this.list.find('li:last').addClass("ui-corner-bottom");
- if(o.style == 'popup'){
- this.list.find('li:first').addClass("ui-corner-top");
- }
+ if(o.style == 'popup'){
this.list.find('li:first').addClass("ui-corner-top"); }
//transfer classes to selectmenu and list
if(o.transferClasses){
@@ -193,74 +189,73 @@
//original selectmenu width
var selectWidth = this.element.width();
+
//set menu button width
this.newelement.width( (o.width) ? o.width : selectWidth);
+
//set menu width to either menuWidth option value, width option value,
or select width
if(o.style == 'dropdown'){ this.list.width( (o.menuWidth) ?
o.menuWidth : ((o.width) ? o.width : selectWidth)); }
else { this.list.width( (o.menuWidth) ? o.menuWidth : ((o.width) ?
o.width - o.handleWidth : selectWidth - o.handleWidth)); }
//set max height from option
- if(o.maxHeight && o.maxHeight < this.list.height()){
- this.list.height(o.maxHeight);
- }
+ if(o.maxHeight && o.maxHeight < this.list.height()){
this.list.height(o.maxHeight); }
//save reference to actionable li's (not group label li's)
this._optionLis = this.list.find('li:not(.ui-selectmenu-group)');
//transfer menu click to menu button
this.list
- .keydown(function(event){
- var ret = true;
-
- switch (event.keyCode) {
- case $.ui.keyCode.UP:
- case $.ui.keyCode.LEFT:
- ret = false;
- self._moveFocus(-1);
- break;
- case $.ui.keyCode.DOWN:
- case $.ui.keyCode.RIGHT:
- ret = false;
- self._moveFocus(1);
- break;
- case $.ui.keyCode.HOME:
- ret = false;
- self._moveFocus(':first');
- break;
- case $.ui.keyCode.PAGE_UP:
- ret = false;
- self._scrollPage('up');
- break;
- case $.ui.keyCode.PAGE_DOWN:
- ret = false;
- self._scrollPage('down');
- break;
- case $.ui.keyCode.END:
- ret = false;
- self._moveFocus(':last');
- break;
- case $.ui.keyCode.ENTER:
- case $.ui.keyCode.SPACE:
- ret = false;
- self.close(true);
- $(event.target).parents('li:eq(0)').trigger('mouseup');
- break;
- case $.ui.keyCode.TAB:
- ret = true;
- self.close();
- break;
- case $.ui.keyCode.ESCAPE:
- ret = false;
- self.close(true);
- break;
- default:
- ret = false;
- self._typeAhead(event.keyCode,'focus');
- break;
- }
- return ret;
- });
-
+ .keydown(function(event){
+ var ret = true;
+ switch (event.keyCode) {
+ case $.ui.keyCode.UP:
+ case $.ui.keyCode.LEFT:
+ ret = false;
+ self._moveFocus(-1);
+ break;
+ case $.ui.keyCode.DOWN:
+ case $.ui.keyCode.RIGHT:
+ ret = false;
+ self._moveFocus(1);
+ break;
+ case $.ui.keyCode.HOME:
+ ret = false;
+ self._moveFocus(':first');
+ break;
+ case $.ui.keyCode.PAGE_UP:
+ ret = false;
+ self._scrollPage('up');
+ break;
+ case $.ui.keyCode.PAGE_DOWN:
+ ret = false;
+ self._scrollPage('down');
+ break;
+ case $.ui.keyCode.END:
+ ret = false;
+ self._moveFocus(':last');
+ break;
+ case $.ui.keyCode.ENTER:
+ case $.ui.keyCode.SPACE:
+ ret = false;
+ self.close(true);
+ $(event.target).parents('li:eq(0)').trigger('mouseup');
+ break;
+ case $.ui.keyCode.TAB:
+ ret = true;
+ self.close();
+ break;
+ case $.ui.keyCode.ESCAPE:
+ ret = false;
+ self.close(true);
+ break;
+ default:
+ ret = false;
+ self._typeAhead(event.keyCode,'focus');
+ break;
+ }
+ return ret;
+ });
+
//selectmenu style
if(o.style == 'dropdown'){
this.newelement
@@ -285,61 +280,49 @@
else { this._refreshValue(); }
this._setData("value", this._selectedIndex());
},
-
destroy: function() {
this.newelement.remove();
this.element.show();
+
//unbind click on label, reset its for attr
$('label[for='+this.newelement.attr('id')+']')
.attr('for',this.element.attr('id'))
.unbind('click');
},
-
_safemouseup: true,
-
_prevChar: ['',0],
-
_typeAhead: function(code, eventType){
var self = this;
var C = String.fromCharCode(code);
c = C.toLowerCase();
var focusFound = false;
-
function focusOpt(elem, ind){
focusFound = true;
$(elem).trigger(eventType);
self._prevChar[1] = ind;
};
-
this.list.find('li a').each(function(i){
if(!focusFound){
var thisText = $(this).text();
if( thisText.indexOf(C) == 0 || thisText.indexOf(c) == 0){
if(self._prevChar[0] == C){
- if(self._prevChar[1] < i){
- focusOpt(this,i);
- }
+ if(self._prevChar[1] < i){ focusOpt(this,i); }
}
- else{
- focusOpt(this,i);
- }
+ else{ focusOpt(this,i); }
}
}
});
this._prevChar[0] = C;
},
-
_closeOthers: function(){
$('.ui-selectmenu.ui-state-active').not(this.newelement).each(function(){
$(this).data('selectelement').selectmenu('close');
})
},
-
_genId: function(type){
var num = Math.round(Math.random() * 1000);
return [this.element.attr('id') + '_' + 'button' + '_' + num,
this.element.attr('id') + '_' + 'menu' + '_' + num];
},
-
open: function(){
this._refreshPosition();
this._closeOthers();
@@ -348,12 +331,10 @@
.appendTo('body')
.addClass('ui-selectmenu-open')
.find('li:not(.ui-selectmenu-group):eq('+ this._selectedIndex() +')
a').focus();
-
if(this.options.style == "dropdown"){
this.newelement.removeClass('ui-corner-all').addClass('ui-corner-top'); }
this._refreshPosition();
return this.element;
},
-
close: function(retainFocus){
this.newelement.removeClass('ui-state-active');
this.list.removeClass('ui-selectmenu-open');
@@ -361,12 +342,10 @@
if(retainFocus){this.newelement.focus();}
return this.element;
},
-
_toggle: function(retainFocus){
&n