mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/DiscussionTools
synced 2024-09-24 02:48:18 +00:00
Move the '@' prefix into the PingNode, rather than plain text
Depends-On: I49733aa6aa2c1e61a88e7c88e84f1f4338acfac1 Change-Id: I9586d07ded0e41afdcfbd6e46364bb1f837cf1c0
This commit is contained in:
parent
f4106e8dc7
commit
bca14cbe03
|
@ -38,7 +38,9 @@ OO.mixinClass( CeMWPingNode, ve.ce.FocusableNode );
|
|||
|
||||
CeMWPingNode.static.name = 'mwPing';
|
||||
|
||||
CeMWPingNode.static.tagName = 'a';
|
||||
CeMWPingNode.static.tagName = 'span';
|
||||
|
||||
CeMWPingNode.static.deleteCommandName = 'insertAndOpenMWUsernameCompletions';
|
||||
|
||||
CeMWPingNode.static.getDescription = function ( model ) {
|
||||
return model.getAttribute( 'user' );
|
||||
|
@ -51,14 +53,16 @@ CeMWPingNode.static.getDescription = function ( model ) {
|
|||
*/
|
||||
CeMWPingNode.prototype.initialize = function () {
|
||||
var model = this.getModel(),
|
||||
prefix = mw.msg( 'discussiontools-replywidget-mention-prefix' ),
|
||||
user = model.getAttribute( 'user' ),
|
||||
title = mw.Title.makeTitle( mw.config.get( 'wgNamespaceIds' ).user, user );
|
||||
title = mw.Title.makeTitle( mw.config.get( 'wgNamespaceIds' ).user, user ),
|
||||
$link;
|
||||
|
||||
// Parent method
|
||||
CeMWPingNode.super.prototype.initialize.call( this );
|
||||
|
||||
// DOM changes
|
||||
this.$element
|
||||
$link = $( '<a>' )
|
||||
.addClass( 'dt-ce-mwPingNode' )
|
||||
.attr( {
|
||||
href: title.getUrl(),
|
||||
|
@ -68,9 +72,13 @@ CeMWPingNode.prototype.initialize = function () {
|
|||
|
||||
ve.init.platform.linkCache.styleElement(
|
||||
title.getPrefixedText(),
|
||||
this.$element
|
||||
$link
|
||||
);
|
||||
|
||||
this.$element.append(
|
||||
prefix,
|
||||
$link
|
||||
);
|
||||
};
|
||||
|
||||
/* Registration */
|
||||
|
|
|
@ -48,6 +48,7 @@ DmMWPingNode.static.disallowedAnnotationTypes = [ 'link' ];
|
|||
|
||||
DmMWPingNode.static.toDomElements = function ( dataElement, doc, converter ) {
|
||||
var domElements,
|
||||
prefix = mw.msg( 'discussiontools-replywidget-mention-prefix' ),
|
||||
title = mw.Title.makeTitle( mw.config.get( 'wgNamespaceIds' ).user, dataElement.attributes.user );
|
||||
|
||||
dataElement = ve.dm.MWInternalLinkAnnotation.static.dataElementFromTitle( title );
|
||||
|
@ -56,7 +57,7 @@ DmMWPingNode.static.toDomElements = function ( dataElement, doc, converter ) {
|
|||
doc.createTextNode( title.getMainText() )
|
||||
);
|
||||
|
||||
return domElements;
|
||||
return [ document.createTextNode( prefix ) ].concat( domElements );
|
||||
};
|
||||
|
||||
// toDataElement should never be called for this node
|
||||
|
|
|
@ -137,7 +137,7 @@ MWUsernameCompletionAction.prototype.insertCompletion = function ( word, range )
|
|||
{ type: '/mwPing' }
|
||||
] );
|
||||
|
||||
fragment.collapseToStart().insertContent( prefix );
|
||||
fragment.collapseToEnd();
|
||||
|
||||
return fragment;
|
||||
};
|
||||
|
@ -164,10 +164,10 @@ ve.ui.commandRegistry.register(
|
|||
)
|
||||
);
|
||||
ve.ui.sequenceRegistry.register(
|
||||
new ve.ui.Sequence( 'autocompleteMWUsernames', 'openMWUsernameCompletions', '@', 0, false, false, true, true )
|
||||
new ve.ui.Sequence( 'autocompleteMWUsernames', 'openMWUsernameCompletions', '@', 0 )
|
||||
);
|
||||
ve.ui.wikitextSequenceRegistry.register(
|
||||
new ve.ui.Sequence( 'autocompleteMWUsernamesWikitext', 'openMWUsernameCompletions', '@', 0, false, false, true, true )
|
||||
new ve.ui.Sequence( 'autocompleteMWUsernamesWikitext', 'openMWUsernameCompletions', '@', 0 )
|
||||
);
|
||||
|
||||
module.exports = MWUsernameCompletionAction;
|
||||
|
|
Loading…
Reference in a new issue