r2751 - - bug correction on parsing inline class settings unde ie browsers
Author: malk0.phpgtk
Date: Sun Jun 14 15:59:34 2009
New Revision: 2751
Modified:
branches/labs/button/previousAttempts/malko/jquery-ui-button.css
branches/labs/button/previousAttempts/malko/jquery-ui-button.js
Log:
- bug correction on parsing inline class settings unde ie browsers
- selectbuttonset now always have one element selected (if not multiple)
- better rendering of small font size buttons with no icons
Modified: branches/labs/button/previousAttempts/malko/jquery-ui-button.css
==============================================================================
--- branches/labs/button/previousAttempts/malko/jquery-ui-button.css
(original)
+++ branches/labs/button/previousAttempts/malko/jquery-ui-button.css Sun
Jun 14 15:59:34 2009
@@ -75,18 +75,18 @@
margin:0 auto;
}
-.ui-button-orientation-t .ui-button-icon { display:block !important;
margin:0 auto;width:100%;}
-.ui-button-orientation-b .ui-button-icon { display:block !important;
margin:0 auto;width:100%;}
+.ui-button-orientation-t .ui-button-icon { display:block !important;
margin:0 auto;}
+.ui-button-orientation-b .ui-button-icon { display:block !important;
margin:0 auto;}
.ui-button-orientation-l .ui-button-icon {
display:inline-block !important;}
.ui-button-orientation-r .ui-button-icon {
display:inline-block !important;}
.ui-button-orientation-t .ui-icon, .ui-button-orientation-b .ui-icon{
margin:0 auto;}
.ui-button-orientation-b .ui-icon-none, .ui-button-orientation-t .ui-icon-none
{
background:none !important;}
-.ui-button-orientation-r .ui-icon-none, .ui-button-orientation-l .ui-icon-none
{
display:none;}
+.ui-button-orientation-r .ui-icon-none, .ui-button-orientation-l .ui-icon-none
{
width:0;background:none;}
.ui-button-inlineBlockFix.ui-button-orientation-t .ui-button-icon {
width:1;}
-.ui-button-inlineBlockFix.ui-button-orientation-b .ui-button-icon {
width:1; }
-.ui-button-inlineBlockFix.ui-button-orientation-t .ui-button-label{
width:1; }
-.ui-button-inlineBlockFix.ui-button-orientation-b .ui-button-label{
width:1; }
+.ui-button-inlineBlockFix.ui-button-orientation-b .ui-button-icon {
width:1;}
+.ui-button-inlineBlockFix.ui-button-orientation-t .ui-button-label{
width:1;}
+.ui-button-inlineBlockFix.ui-button-orientation-b .ui-button-label{
width:1;}
/*
.ui-button-size-tiny .ui-icon {zoom:0.5;}
Modified: branches/labs/button/previousAttempts/malko/jquery-ui-button.js
==============================================================================
--- branches/labs/button/previousAttempts/malko/jquery-ui-button.js
(original)
+++ branches/labs/button/previousAttempts/malko/jquery-ui-button.js Sun Jun
14 15:59:34 2009
@@ -35,7 +35,7 @@
//prepare options objects from matches
var id=1;
for(optName in optionsList){
- if(undefined!==matches[id]){
+ if( matches[id]){
opts[optName] = matches[id];
}
id++;
@@ -422,21 +422,31 @@
$('<button type="button"
class="ui-button-'+size+('auto'===orientation?'':'-'+orientation)+(optionIcon?'-'+optionIcon:'')+'
toggle'+(option.is(':selected')?' active':'')+'">'+label+'</button>')
.appendTo(self.buttonset)
.button({
-
'corners':(i==0?'left':(i+1<self.element.attr('options').length?'none':'right')),
- toggle:function(e,ui){
- self._toggle(e,ui,option);
- }
- });
+
'corners':(i==0?'left':(i+1<self.element.attr('options').length?'none':'right'))
+ })
+ .click(function(e){self._toggle(e,this,option)});
});
},
- _toggle:function(event,button,option){
+ _toggle:function(event,buttonElmt,option){
var self = this;
- option.attr('selected',button.isActive()?'selected':'');
if(! self.multiple){
-
self.buttonset.find('.ui-button').not(button.element).button('option','active',false);
+ // if no other buttons are activated we can't unselect that option.
+ var siblingOptions =
self.buttonset.find('.ui-button').not(buttonElmt);
+ var canContinue=false;
+ siblingOptions.each(function(){
+ if($(this).button('option','active')){
+ canContinue = true;
+ return false;
+ }
+ });
+ if( ! canContinue){
+ $(buttonElmt).button('option','active',true);
+ return self;
+ }
+ siblingOptions.button('option','active',false);
}
+ option.attr('selected',$(buttonElmt).button('isActive')?'selected':'');
self.element.change();
- self._trigger('toggle',event,[self.element,button.element]);
}
}));
$.extend($.ui.selectbuttonset, {