[MediaWiki-commits] [Gerrit] mediawiki...VisualEditor[master]: DesktopArticleTarget: Rebuild the category links when they'r...
jenkins-bot has submitted this change and it was merged. Change subject: DesktopArticleTarget: Rebuild the category links when they're edited .. DesktopArticleTarget: Rebuild the category links when they're edited This has to go to the API, because it's skinnable. Also, separates out a few of the initial page setup functions so they can be re-applied to the new content inserted. Bug: T151651 Change-Id: I8d5a6504edc2e0486a0b4f016d8ee6d9a6228de9 --- M modules/ve-mw/init/targets/ve.init.mw.DesktopArticleTarget.js 1 file changed, 124 insertions(+), 49 deletions(-) Approvals: Esanders: Looks good to me, approved jenkins-bot: Verified diff --git a/modules/ve-mw/init/targets/ve.init.mw.DesktopArticleTarget.js b/modules/ve-mw/init/targets/ve.init.mw.DesktopArticleTarget.js index 7860bba..783ba95 100644 --- a/modules/ve-mw/init/targets/ve.init.mw.DesktopArticleTarget.js +++ b/modules/ve-mw/init/targets/ve.init.mw.DesktopArticleTarget.js @@ -597,6 +597,7 @@ // Move original content back out of the target target.$element.parent().append( target.$originalContent.children() ); + $( '#catlinks' ).replaceWith( target.$originalCategories ); $( '.ve-init-mw-desktopArticleTarget-uneditableContent' ) .off( '.ve-target' ) .removeClass( 've-init-mw-desktopArticleTarget-uneditableContent' ); @@ -742,45 +743,51 @@ * @param {boolean} [loading=false] Whether VE is loading. */ ve.init.mw.DesktopArticleTarget.prototype.onMetaItemInserted = function ( metaItem, loading ) { - var title, target, $link; - if ( metaItem.getType() === 'mwRedirect' ) { - target = this; - title = metaItem.getAttribute( 'title' ); - $link = $( '' ) - .attr( 'title', mw.msg( 'visualeditor-redirect-description', title ) ) - .text( title ); - ve.init.platform.linkCache.styleElement( title, $link ); + var title, target, $link, + metaList = this.surface.getModel().getMetaList(); + switch ( metaItem.getType() ) { + case 'mwRedirect': + target = this; + title = metaItem.getAttribute( 'title' ); + $link = $( '' ) + .attr( 'title', mw.msg( 'visualeditor-redirect-description', title ) ) + .text( title ); + ve.init.platform.linkCache.styleElement( title, $link ); - if ( loading ) { - this.$originalRedirectMsg = $( '.redirectMsg' ).clone(); - this.$originalRedirectSub = $( '#redirectsub, #redirectsub + br' ).clone(); - } - // Add redirect target header - if ( !$( '#redirectsub' ).length ) { - $( '#contentSub' ).append( - $( '' ) - .text( mw.msg( 'redirectpagesub' ) ) - .attr( 'id', 'redirectsub' ), - $( '' ) - ); - } - $( '' ) - // Bit of a hack: Make sure any redirect note is styled - .addClass( 'redirectMsg mw-content-' + $( 'html' ).attr( 'dir' ) ) + if ( loading ) { + this.$originalRedirectMsg = $( '.redirectMsg' ).clone(); + this.$originalRedirectSub = $( '#redirectsub, #redirectsub + br' ).clone(); + } + // Add redirect target header + if ( !$( '#redirectsub' ).length ) { + $( '#contentSub' ).append( + $( '' ) + .text( mw.msg( 'redirectpagesub' ) ) + .attr( 'id', 'redirectsub' ), + $( '' ) + ); + } + $( '' ) + // Bit of a hack: Make sure any redirect note is styled + .addClass( 'redirectMsg mw-content-' + $( 'html' ).attr( 'dir' ) ) - .addClass( 've-redirect-header' ) - .append( - $( '' ).text( mw.msg( 'redirectto' ) ), - $( '' ) - .addClass( 'redirectText' ) - .append( $( '' ).append( $link ) ) - ) - .click( function ( e ) { - var windowAction = ve.ui.actionFactory.create( 'window',
[MediaWiki-commits] [Gerrit] mediawiki...VisualEditor[master]: DesktopArticleTarget: Rebuild the category links when they'r...
DLynch has uploaded a new change for review. https://gerrit.wikimedia.org/r/324786 Change subject: DesktopArticleTarget: Rebuild the category links when they're edited .. DesktopArticleTarget: Rebuild the category links when they're edited This has to go to the API, because it's skinnable. Also, separates out a few of the initial page setup functions so they can be re-applied to the new content inserted. Bug: T151651 Change-Id: I8d5a6504edc2e0486a0b4f016d8ee6d9a6228de9 --- M modules/ve-mw/init/targets/ve.init.mw.DesktopArticleTarget.js 1 file changed, 107 insertions(+), 47 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor refs/changes/86/324786/1 diff --git a/modules/ve-mw/init/targets/ve.init.mw.DesktopArticleTarget.js b/modules/ve-mw/init/targets/ve.init.mw.DesktopArticleTarget.js index 29c9e80..163de27 100644 --- a/modules/ve-mw/init/targets/ve.init.mw.DesktopArticleTarget.js +++ b/modules/ve-mw/init/targets/ve.init.mw.DesktopArticleTarget.js @@ -733,45 +733,51 @@ * @param {boolean} [loading=false] Whether VE is loading. */ ve.init.mw.DesktopArticleTarget.prototype.onMetaItemInserted = function ( metaItem, loading ) { - var title, target, $link; - if ( metaItem.getType() === 'mwRedirect' ) { - target = this; - title = metaItem.getAttribute( 'title' ); - $link = $( '' ) - .attr( 'title', mw.msg( 'visualeditor-redirect-description', title ) ) - .text( title ); - ve.init.platform.linkCache.styleElement( title, $link ); + var title, target, $link, + metaList = this.surface.getModel().getMetaList(); + switch ( metaItem.getType() ) { + case 'mwRedirect': + target = this; + title = metaItem.getAttribute( 'title' ); + $link = $( '' ) + .attr( 'title', mw.msg( 'visualeditor-redirect-description', title ) ) + .text( title ); + ve.init.platform.linkCache.styleElement( title, $link ); - if ( loading ) { - this.$originalRedirectMsg = $( '.redirectMsg' ).clone(); - this.$originalRedirectSub = $( '#redirectsub, #redirectsub + br' ).clone(); - } - // Add redirect target header - if ( !$( '#redirectsub' ).length ) { - $( '#contentSub' ).append( - $( '' ) - .text( mw.msg( 'redirectpagesub' ) ) - .attr( 'id', 'redirectsub' ), - $( '' ) - ); - } - $( '' ) - // Bit of a hack: Make sure any redirect note is styled - .addClass( 'redirectMsg mw-content-' + $( 'html' ).attr( 'dir' ) ) + if ( loading ) { + this.$originalRedirectMsg = $( '.redirectMsg' ).clone(); + this.$originalRedirectSub = $( '#redirectsub, #redirectsub + br' ).clone(); + } + // Add redirect target header + if ( !$( '#redirectsub' ).length ) { + $( '#contentSub' ).append( + $( '' ) + .text( mw.msg( 'redirectpagesub' ) ) + .attr( 'id', 'redirectsub' ), + $( '' ) + ); + } + $( '' ) + // Bit of a hack: Make sure any redirect note is styled + .addClass( 'redirectMsg mw-content-' + $( 'html' ).attr( 'dir' ) ) - .addClass( 've-redirect-header' ) - .append( - $( '' ).text( mw.msg( 'redirectto' ) ), - $( '' ) - .addClass( 'redirectText' ) - .append( $( '' ).append( $link ) ) - ) - .click( function ( e ) { - var windowAction = ve.ui.actionFactory.create( 'window', target.getSurface() ); - windowAction.open( 'meta', { page: 'settings' } ); - e.preventDefault(); - } ) - .insertAfter( $( '.mw-jump' ) ); + .addClass( 've-redirect-header' ) + .append( + $( '' ).text( mw.msg(