Gadget-VeDirectionMarkTool.js

mw.libs.ve.addPlugin(function(){ /**

* Adds direction mark tool to VE (for adding RLM) 
*/

(function () { // localization for button name if(!mw.messages.exists('DirectionTool-toolname')){ mw.messages.set('DirectionTool-toolname', 'Add rlm template'); // translate it! } // localization for rlm template name if(!mw.config.exists('rlmTemplateName')){ // translate it! if ( wgContentLanguage == "fa" ) { mw.config.set('rlmTemplateName', 'رچ'); } else if ( wgContentLanguage == "he" ) { mw.config.set('rlmTemplateName', 'כ'); } else if ( wgContentLanguage == "yi" ) { mw.config.set('rlmTemplateName', 'ר'); } else { mw.config.set('rlmTemplateName', 'Rlm'); }

} //end of localization

function DirectionTool( toolGroup, config ) { OO.ui.Tool.call( this, toolGroup, config ); } OO.inheritClass( DirectionTool, OO.ui.Tool );

DirectionTool.static.name = 'DirectionTool'; DirectionTool.static.title = mw.msg('DirectionTool-toolname');

DirectionTool.prototype.onSelect = function () { this.toolbar.getSurface().getModel().getFragment().collapseRangeToEnd().insertContent([{ 'type': 'mwTransclusionInline', 'attributes': { 'mw': { parts: [ { template: { target: { href: wgFormattedNamespaces[10]+ ':'+ mw.config.get('rlmTemplateName'), wt: mw.config.get('rlmTemplateName') }, params: {} } }] } } }]); };

DirectionTool.prototype.onUpdateState = function () { this.setActive( false ); };

ve.ui.toolFactory.register( DirectionTool );

})();

});