मिडियाविकी:Gadget-URLShortener-sidebar.js

चत्राय: सांबाळ्ळ्या उपरांत, तुका घडयेक तुज्या ब्रावसराचो कॅश कडसरावंक पडत बदल पळोंवचे खातीर.

  • Firefox / Safari: Shift > धर Reload क्लीक करताना, वा दाम Ctrl-F5 वा Ctrl-R (⌘-R मॅक-आचेर)
  • Google Chrome: Ctrl-Shift-R दाम (⌘-Shift-R एका मॅक-आचेर)
  • Internet Explorer: Ctrl dhor Refresh क्लीक करताना, वा दाम Ctrl-F5
  • Opera: हांगा वच: Menu → Settings (Opera → Preferences मॅक-आचेर) आनी उपरांत Privacy & security → Clear browsing data → Cached images and files.‎
/*

This script generates a link in the left sidebar in desktop mode and in the menu in mobile view.
The link can be used to create and share a short URL using the MEdiawiki URLShortener extension.

See: https://meta.wikimedia.org/wiki/Wikimedia_URL_Shortener

Sources:
https://w.wiki/665
https://w.wiki/Vny

*/

			var lang = mw.config.get('wgUserLanguage');
    		var tooltiptext;
				switch(lang) {
					case 'gom-deva':
					case 'gom':
						shortURL_text = 'धाकटें URL' ;
						getURL_text = 'ह्या पानाचें धाकटें URL तयार कर' ;
						deliverURL_text = 'ह्या पानाचें धाकटें URL' ;
						break;
					case 'en':
						shortURL_text = 'Short URL' ;
						getURL_text = 'Get the short URL for this page' ;
						deliverURL_text = 'Here is the short URL for this page' ;
    					break;
					default:
						shortURL_text = 'Dhaktem URL' ;
						getURL_text = 'Hea panachem dhaktem URL toiar kor' ;
						deliverURL_text = 'Hea panachem dhaktem URL' ;
				}

if
( mw.config.get("skin") === "minerva"){
var portletLink = mw.util.addPortletLink('p-personal', '#', shortURL_text, 't-urlshortener', getURL_text);
} else {
var portletLink = mw.util.addPortletLink('p-tb', '#', shortURL_text, 't-urlshortener', getURL_text);
}

$(portletLink).click(function(e) {
	e.preventDefault();
	var uri = new mw.Uri();
	var api = new mw.ForeignApi('//meta.wikimedia.org/w/api.php');
	api.post({
		action: 'shortenurl',
		url: uri.toString()
	}).then(function(data) {
		OO.ui.alert(
			new mw.widgets.CopyTextLayout({ title: deliverURL_text, copyText: data.shortenurl.shorturl }).$element
		);
	}).fail(function() {
		if ('error' in arguments[1]) {
			mw.notify(arguments[1]['error']['info'], { title: arguments[1]['error']['code'], type: 'error' })
		} else {
			mw.notify(arguments[0], { title: 'error', type: 'error' })
		}
	});
});