diff --git a/modules/ve-mw/ui/widgets/ve.ui.MWTransclusionOutlineContainerWidget.js b/modules/ve-mw/ui/widgets/ve.ui.MWTransclusionOutlineContainerWidget.js index 6cef1f1071..9e7d32384e 100644 --- a/modules/ve-mw/ui/widgets/ve.ui.MWTransclusionOutlineContainerWidget.js +++ b/modules/ve-mw/ui/widgets/ve.ui.MWTransclusionOutlineContainerWidget.js @@ -153,10 +153,17 @@ ve.ui.MWTransclusionOutlineContainerWidget.prototype.addPartWidget = function ( * parameter ids like "part_1/param1". */ ve.ui.MWTransclusionOutlineContainerWidget.prototype.selectPartById = function ( partId ) { + var changed = false; for ( var id in this.partWidgets ) { - this.partWidgets[ id ].setSelected( id === partId ); + var selected = id === partId; + if ( this.partWidgets[ id ].isSelected() !== selected ) { + this.partWidgets[ id ].setSelected( selected ); + changed = true; + } + } + if ( changed ) { + this.emit( 'updateOutlineControlButtons', partId ); } - this.emit( 'updateOutlineControlButtons', partId ); }; /**