Bartosz Dziewoński has uploaded a new change for review. https://gerrit.wikimedia.org/r/251165
Change subject: mediawiki.jqueryMsg: Extend mw.Message with new #parseDom method ...................................................................... mediawiki.jqueryMsg: Extend mw.Message with new #parseDom method Unlike #parse, this one returns a jQuery set of DOM nodes and not a HTML string, for two benefits: * Allows to skip unnecessary HTML serialization and reconstruction when we just want to insert the message contents somewhere. Old way: $( '#foo' ).html( mw.message( 'foo' ).parse() ); New way: $( '#foo' ).append( mw.message( 'foo' ).parseDom() ); This is roughly equivalent to the old alternative: $( '#foo' ).msg( 'foo' ); But that way can't be used if you start with a mw.Message object, or don't yet know where the elements will be inserted. * Allows to preserve the event handlers when a function is passed as message parameter. mw.messages.set( 'foo', '[$1 Click me!]' ); $( '#foo' ).append( mw.message( 'foo', function () { console.log( 'Button clicked!' ); } ).parseDom() ); Change-Id: Ia09131c2ffc1d149ca6b1c32dcd918a539c3a719 --- M resources/src/mediawiki/mediawiki.jqueryMsg.js 1 file changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/65/251165/1 diff --git a/resources/src/mediawiki/mediawiki.jqueryMsg.js b/resources/src/mediawiki/mediawiki.jqueryMsg.js index bf0884b..c5733fe 100644 --- a/resources/src/mediawiki/mediawiki.jqueryMsg.js +++ b/resources/src/mediawiki/mediawiki.jqueryMsg.js @@ -1270,4 +1270,20 @@ return messageFunction( this.key, this.parameters ); }; + /** + * Parse the message to DOM nodes, rather than HTML string like #parse. + * + * This method is only available when jqueryMsg is loaded. + * + * @method parseDom + * @member mw.Message + * @return {jQuery} + */ + mw.Message.prototype.parseDom = ( function () { + var reusableParent = $( '<div>' ); + return function () { + return reusableParent.msg( this.key, this.parameters ).contents().detach(); + }; + } )(); + }( mediaWiki, jQuery ) ); -- To view, visit https://gerrit.wikimedia.org/r/251165 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ia09131c2ffc1d149ca6b1c32dcd918a539c3a719 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Bartosz Dziewoński <matma....@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits