Merge "Update docs/hooks.txt for ShowSearchHitTitle"
[mediawiki.git] / resources / src / mediawiki / mediawiki.template.mustache.js
blob9f5e5c4e9f13744871890e07d0e88b855675ec9d
1 /* global Mustache */
2 ( function ( mw, $ ) {
3         // Register mustache compiler
4         mw.template.registerCompiler( 'mustache', {
5                 compile: function ( src ) {
6                         return {
7                                 /**
8                                  * @ignore
9                                  * @return {string} The raw source code of the template
10                                  */
11                                 getSource: function () {
12                                         return src;
13                                 },
14                                 /**
15                                  * @ignore
16                                  * @param {Object} data Data to render
17                                  * @param {Object} partialTemplates Map partial names to Mustache template objects
18                                  *  returned by mw.template.get()
19                                  * @return {jQuery} Rendered HTML
20                                  */
21                                 render: function ( data, partialTemplates ) {
22                                         var partials = {};
23                                         if ( partialTemplates ) {
24                                                 $.each( partialTemplates, function ( name, template ) {
25                                                         partials[ name ] = template.getSource();
26                                                 } );
27                                         }
28                                         return $( $.parseHTML( Mustache.render( src, data, partials ) ) );
29                                 }
30                         };
31                 }
32         } );
34 }( mediaWiki, jQuery ) );