diff --git a/modules/oojs-ui/OO.ui.ToolGroup.js b/modules/oojs-ui/OO.ui.ToolGroup.js index 9b81ee9b72..8bc1e8b7b3 100644 --- a/modules/oojs-ui/OO.ui.ToolGroup.js +++ b/modules/oojs-ui/OO.ui.ToolGroup.js @@ -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; }; /** diff --git a/modules/oojs-ui/styles/OO.ui.ToolGroup.css b/modules/oojs-ui/styles/OO.ui.ToolGroup.css index aee7f179aa..0e20b9a36b 100644 --- a/modules/oojs-ui/styles/OO.ui.ToolGroup.css +++ b/modules/oojs-ui/styles/OO.ui.ToolGroup.css @@ -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; }