Merge "Fix linking to pages in media dialog/media context/internal link context"

This commit is contained in:
jenkins-bot 2019-10-07 15:13:02 +00:00 committed by Gerrit Code Review
commit def3261c49
3 changed files with 8 additions and 6 deletions

View file

@ -47,17 +47,18 @@ ve.ui.MWInternalLinkContextItem.static.modelClasses = [ ve.dm.MWInternalLinkAnno
ve.ui.MWInternalLinkContextItem.static.generateBody = function ( linkCache, model, htmlDoc, context ) {
var icon, $description,
title = model.getAttribute( 'lookupTitle' ),
description = model.getAttribute( 'normalizedTitle' ),
normalizedTitle = model.getAttribute( 'normalizedTitle' ),
href = model.getHref(),
titleObj = mw.Title.newFromText( ve.normalizeParsoidResourceName( href ) ),
fragment = model.getFragment(),
usePageImages = mw.config.get( 'wgVisualEditorConfig' ).usePageImages,
usePageDescriptions = mw.config.get( 'wgVisualEditorConfig' ).usePageDescriptions,
$wrapper = $( '<div>' ),
$link = $( '<a>' )
.addClass( 've-ui-linkContextItem-link' )
.text( description )
.text( normalizedTitle )
.attr( {
href: ve.resolveUrl( href, htmlDoc ),
href: titleObj.getUrl(),
target: '_blank',
rel: 'noopener'
} );

View file

@ -69,12 +69,12 @@ ve.ui.MWMediaContextItem.prototype.getDescription = function () {
* @inheritdoc
*/
ve.ui.MWMediaContextItem.prototype.renderBody = function () {
var htmlDoc = this.context.getSurface().getModel().getDocument().getHtmlDocument();
var title = mw.Title.newFromText( ve.normalizeParsoidResourceName( this.model.getAttribute( 'resource' ) ) );
this.$body.append(
$( '<a>' )
.text( this.getDescription() )
.attr( {
href: ve.resolveUrl( this.model.getAttribute( 'resource' ), htmlDoc ),
href: title.getUrl(),
target: '_blank',
rel: 'noopener'
} )

View file

@ -920,12 +920,13 @@ ve.ui.MWMediaDialog.prototype.confirmSelectedImage = function () {
* Update the filename fieldset (link to media page)
*/
ve.ui.MWMediaDialog.prototype.updateFilenameFieldset = function () {
var title = mw.Title.newFromText( ve.normalizeParsoidResourceName( this.imageModel.getResourceName() ) );
this.filenameFieldset.setLabel(
$( '<span>' ).append(
document.createTextNode( this.imageModel.getFilename() + ' ' ),
$( '<a>' )
.addClass( 've-ui-mwMediaDialog-description-link' )
.attr( 'href', ve.resolveUrl( this.imageModel.getResourceName(), this.getFragment().getDocument().getHtmlDocument() ) )
.attr( 'href', title.getUrl() )
.attr( 'target', '_blank' )
.attr( 'rel', 'noopener' )
.text( ve.msg( 'visualeditor-dialog-media-content-description-link' ) )