Merge "Optimize .selectPartById() to fire less events"

This commit is contained in:
jenkins-bot 2021-09-15 09:07:18 +00:00 committed by Gerrit Code Review
commit 3b78f40e7a

View file

@ -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 );
};
/**