From 82499fa38f718c3c48002d425a73067ab93fcabd Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bartosz=20Dziewo=C5=84ski?= Date: Mon, 23 May 2016 19:38:17 +0200 Subject: [PATCH] mw.ForeignStructuredUpload.BookletLayout: Make licensing links clickable again Plus some code duplication cleanup. Bug: T136008 Change-Id: Ic3fbb4edd5042b81488cb19b149bec0a94948ce5 --- ...i.ForeignStructuredUpload.BookletLayout.js | 29 +++++++++++++------ 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.js b/resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.js index 16fec73344..0f61d975f1 100644 --- a/resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.js +++ b/resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.js @@ -83,15 +83,26 @@ // Update license messages return msgPromise.then( function () { - booklet.$ownWorkMessage - .msg( 'upload-form-label-own-work-message-' + msgs ) - .find( 'a' ).attr( 'target', '_blank' ); - booklet.$notOwnWorkMessage - .msg( 'upload-form-label-not-own-work-message-' + msgs ) - .find( 'a' ).attr( 'target', '_blank' ); - booklet.$notOwnWorkLocal - .msg( 'upload-form-label-not-own-work-local-' + msgs ) - .find( 'a' ).attr( 'target', '_blank' ); + var $labels; + booklet.$ownWorkMessage.msg( 'upload-form-label-own-work-message-' + msgs ); + booklet.$notOwnWorkMessage.msg( 'upload-form-label-not-own-work-message-' + msgs ); + booklet.$notOwnWorkLocal.msg( 'upload-form-label-not-own-work-local-' + msgs ); + + $labels = $( [ + booklet.$ownWorkMessage[ 0 ], + booklet.$notOwnWorkMessage[ 0 ], + booklet.$notOwnWorkLocal[ 0 ] + ] ); + + // Improve the behavior of links inside these labels, which may point to important + // things like licensing requirements or terms of use + $labels.find( 'a' ) + .attr( 'target', '_blank' ) + .on( 'click', function ( e ) { + // OO.ui.FieldLayout#onLabelClick is trying to prevent default on all clicks, + // which causes the links to not be openable. Don't let it do that. + e.stopPropagation(); + } ); } ); } ) ); -- 2.20.1