Make tools disable correctly

* Respect disabled state when handling clicks
* Style disabled tools in lists correctly

Change-Id: I14dffa3248ffa5d32403c6145381cfabdc2d7ff1
This commit is contained in:
Trevor Parscal 2013-11-12 11:53:38 -08:00
parent 65a2f41268
commit 22287cd3d3
2 changed files with 11 additions and 4 deletions

View file

@ -186,11 +186,14 @@ OO.ui.ToolGroup.prototype.onMouseOut = function ( e ) {
* @returns {OO.ui.Tool|null} Tool, `null` if none was found
*/
OO.ui.ToolGroup.prototype.getTargetTool = function ( e ) {
var $item = this.$( e.target ).closest( '.oo-ui-tool-link' );
var tool,
$item = this.$( e.target ).closest( '.oo-ui-tool-link' );
if ( $item.length ) {
return $item.parent().data( 'oo-ui-tool' );
tool = $item.parent().data( 'oo-ui-tool' );
}
return null;
return tool && !tool.isDisabled() ? tool : null;
};
/**

View file

@ -236,10 +236,14 @@
border-color: rgba(0,0,0,0.2);
}
.oo-ui-listToolGroup .oo-ui-tool.oo-ui-widget-disabled {
.oo-ui-listToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link {
cursor: default;
}
.oo-ui-listToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-labeledElement-label {
color: #ccc;
}
.oo-ui-listToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-iconedElement-icon {
opacity: 0.2;
}