मिडियाविकी:Gadget-IndicTechComShortUrl.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 is userscirpt to genreate shortURL from metawiki
    and provide link in front of title on local wiki.

    @Author [[User:Jayprakash12345]]
    Localised by [[User:The Discoverer]]

*/
$( function(){
	if( mw.config.get("wgArticleId") === 0 || 
		mw.config.get("wgAction") !== "view" ){
		return;
	}
	$.when( mw.loader.using( [ 'mediawiki.util', 'mediawiki.ForeignApi'] ), $.ready ).then( function () {
		( new mw.ForeignApi( 'https://meta.wikimedia.org/w/api.php' ) ).post( {
			action: 'shortenurl',
			url: location.href
		} ).done( function ( data ) {
			var lang = mw.config.get('wgUserLanguage');
    		var tooltiptext;
				switch(lang) {
					case 'gom-deva':
					case 'gom':
						tooltiptext = 'धाकटें URL: ' ;
    					break;
					case 'en':
						tooltiptext = 'Short URL: ' ;
    					break;
					default:
						tooltiptext = 'Dhaktem URL: ' ;
				}

			function copyToClipboard() {

				var $temp = $("<input>");
    			$("body").append($temp);
				$temp.val(data.shortenurl.shorturl).select();
    			document.execCommand("copy");
    			$temp.remove();

				navigator.clipboard.writeText(data.shortenurl.shorturl).then(
				    function() {
				    	/* clipboard successfully set */
    					window.alert('Short URL copied to clipboard'); 
    				}, 
    				function() {
    					/* clipboard write failed */
    					window.alert('Copy failed');
    				}
    			 );
			}

			var urlContainter = $("<span>").css({
				"position": "absolute",
				"display": "inline-block",
				"z-index": "11111",
				"min-width": "max-content",
				"background-color": "#fff",
				"color": "black",
				"text-align": "center",
				"padding": "5px",
				"border-radius": "6px",
				"top": "-40%",
				"font-size": "small",
				"left": "90%",
				"border": "solid white 1px",
				"border-color": "#a9a9a9",
				"box-shadow": "2px 2px 2px #d3d3d3",
				"font-family": "sans-serif"
			}).text( tooltiptext + data.shortenurl.shorturl )
			  .append( $( '<a>' )
				.attr( {
					'class': 'copyIcon',
					'onclick': '"copyToClipboard()"'
				} )
			);
			icon = $("<span>").addClass( "shareIcon" ).append( urlContainter.hide() );

			mw.util.addCSS( '.shareIcon { display: inline-block; width: 25px; height: 18px; background-repeat: no-repeat; background-size: 18px;position: relative;background-position: left; margin: 0 0 0 6px; opacity: 0.5; background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAQAAAD9CzEMAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfhCAkVKSrZpFFqAAABu0lEQVRYw+2XTS8DURSGnxIzTSTWBEsWYqtd4AdgbcvOd4sEa3/BVpoOvwG/ANXSxEfSRG0kEqykaNMIaceCNHOndxJxT4PEmd3N5Hkn57zn7S3819+vMMtkKVMmyxJhaXw3F7ie55wu2a9X8S4uZ9hyAot1eBeXmJzAsVYgLSdQ0goUva80GQm8aU+rUgJRFVWrnERzOtiiqm2Qy5wp3GKN5wC4SxbLDD/GVQ1WIelzUpYOE3gvex7YEQNAC9Mc8EiBfWZo+T68lXVeavA7pgwdqFSICe5r8Fc2aPs+zCZOmhIljpjHAqJkPI3ZocfkWzs5U4Z2otjxkhGzVtg+vPd5YsXUgBAPgFdI0i4xzIwW/0BEyi1FrUDBBCno5a8I5ALiV6xFsUYP2ea0sTaFTp+Eumh500X7SPsFUhQpkWIWC4go9t01i4qgsBvnRirsfiSu9T846U/7DpMgRYoEwxIio+QV+zqKKRyJi6PFKk+BdnZkmtWOE3htGZKaSIRrrcCmVNgdc6s975dL02btqSsnkGvc3ZTPDdDNYFBy9Zw6fFJ2t22fRNK/aCEBkSEm6QNybHP4/7/+99U7rhtw2QbeFFoAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTctMDgtMDlUMjE6NDE6NDIrMDA6MDC7TGiTAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE3LTA4LTA5VDIxOjQxOjQyKzAwOjAwyhHQLwAAAABJRU5ErkJggg==);' );
			mw.util.addCSS( '.copyIcon { display: inline-block; width: 15px; height: 15px; background-repeat: no-repeat; background-size: 15px;position: relative;background-position: left; margin: 0 0 0 6px; opacity: 1; vertical-align: middle; background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAQAAAD9CzEMAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfmAhQRHAEl5mUbAAABV0lEQVRYw+2Yv0sDMRiGn7teFRGUKoXiaCcXHVxE3Ooi9i8Qu9wudBH6DxT3griJk0udXLoXFDoUqYugHToq2t7mrx7EqT+EmkvuPATJmynw5nuSL18gCcg0zwldhEbrc0seRU1xoxV81AqjIJYEcEAFuKeFuqbZIUmPJT6CzecIfFLo6QiBYG3QtSXWOoJLPE3AEwAzauaUNIWTVUQg2Bh0HanZI7JsYtb3FcziskJCY7xHlaaqOUs7RM37lGR7MJ6iM7IhcpCgzKZKipbZAmq4KkdkqBxVbPa5DgakAajxqDX/C3wcMipVZIUsE/HHZWoABmAABmAABmAA/xsg4gIssjv2Svh1QIUXtoE6nXgAOQDauD9d36PKZY8HTnmNC9CgYc5BBMA7gOymP1FpnOHYgAfIHT0WOGSVNw3AOhZwpWYuhPz6aJJUnU+eFp9awZ85Zk4W8gu8arwDJ3KSAQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMi0yMFQxNzoyODowMSswMDowMI/0LOsAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDItMjBUMTc6Mjg6MDErMDA6MDD+qZRXAAAAAElFTkSuQmCC);' );

			// Append the element in DOM
			currentSkin = mw.config.get("skin");
			if ( currentSkin === "vector" || currentSkin === "vector-2022" || currentSkin === "minerva" ){
				$( '#firstHeading' ).append( icon );
			}

			icon.mouseover( function() { 
				urlContainter.show(); 
				icon.animate( { opacity: 1 }, 400 );
			} );
			icon.mouseleave( function() {
				urlContainter.fadeOut( 3000 ,
				function () {
					icon.animate( { opacity: 0.5 }, 400 );
				}
			);
			} );
		} );
	} );
});