ব্যবহারকারী:Jayprakash12345/common.js: সংশোধিত সংস্করণের মধ্যে পার্থক্য

বিষয়বস্তু বিয়োগ হয়েছে বিষয়বস্তু যোগ হয়েছে
Jayprakash12345 (আলোচনা | অবদান)
পাতাকে 'console.log( mw.config.get('wgDBname') );' দিয়ে প্রতিস্থাপিত করা হল
ট্যাগ: প্রতিস্থাপিত
Jayprakash12345 (আলোচনা | অবদান)
সম্পাদনা সারাংশ নেই
১ নং লাইন:
Viewer = {
console.log( mw.config.get('wgDBname') );
baseName: "",
baseNumber: "",
pageList: [],
start: function(){
this.build();
 
var pageName="";
switch( mw.config.get("wgCanonicalNamespace") ) {
case "Page": pageName = mw.config.get("wgPageName");
break;
case "Index": pageName = "Page:" + mw.config.get("wgPageName").split(":")[1] + "/";
try {
pageName += /\/page(\d+)-/.exec( $( "img[alt=\""+ mw.config.get('wgPageName').replace( /_/g, ' ').split(":")[1] +"\"]" ).attr("src"))[1];
} catch (e) {
console.log("No cover thumb image found");
}
break;
case "": pageName = decodeURIComponent( $(".ws-pagenum").eq(0).attr("title") );
}
if ( pageName === undefined ) return;
pageName = pageName.replace(/ /g,"_");
 
this.baseName = pageName.substring( 0, pageName.lastIndexOf("/")+1);
this.baseNumber = this.convertNum( pageName.substring( pageName.lastIndexOf("/")+1 ) ) * 1;
 
api = new mw.Api();
api.get({
format: 'json',
action: 'parse',
prop:"text",
page: this.baseName.substring(0,this.baseName.length-1).replace("Page:","Index:")
}).done(function(data) {
var anchors = $( ".index-pagelist", $((data.parse.text["*"])) ).find( "a" );
anchors.each( function() {
$(this).children().filter("span").remove();
var href= decodeURIComponent( $(this).attr("href") );
if ($(this).attr("class")==="new"){
Viewer.pageList[/\/(\d+)&action/.exec($(this).attr("href"))[1]*1]=$.trim($(this).text());
} else{
Viewer.pageList[/\d+$/.exec($(this).attr("href"))[0]*1]=$.trim($(this).text());
}
});
console.log( Viewer.pageList );
Viewer.show( Viewer.baseName + Viewer.baseNumber, "r");
Viewer.show( Viewer.baseName + (Viewer.baseNumber+1), "f");
});
},
build: function(){
var logo=$('<img src="//upload.wikimedia.org/wikipedia/commons/thumb/f/fb/Wikisource-logo.png/80px-Wikisource-logo.png" class="logo" >');
$("body").append( $("<div>").attr("class","viewer") );
$(".viewer").append(logo);
arrow = $("<div class='arrow'>");
arrow.clone().css( {"left": "50px", "cursor": "pointer"} ).attr("id","prevArrow").attr('title', 'Previous page')
.append('<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/a8/Arrleft.svg/36px-Arrleft.svg.png">')
.click( function() {
Viewer.previous();
}).appendTo( $(".viewer") );
arrow.clone().css( {"right": "50px", "cursor": "pointer"} ).attr("id","nextArrow").attr('title', 'Next page')
.append('<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/Arrright.svg/36px-Arrright.svg.png">')
.click( function() {
Viewer.next();
}).appendTo( $(".viewer") );
arrow.clone().css({"right": "30px", "top": "0px", "color": "red", "cursor": "pointer"}).attr("id","closeIcon").attr('title', 'Exit')
.append('<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Dialog-error-round.svg/36px-Dialog-error-round.svg.png"/>')
.click( function() {
$(".viewer").remove();
$("body").css("overflow","scroll");
}).appendTo( $(".viewer") );
var fontSize = 100;
var d = $( "<div>" ).attr( "class", "noprint" ).css( { "position": "fixed", "right": "30px", "top": "70px" } ).append(
'<img id="btnZoomIn" style="cursor: pointer" src="//upload.wikimedia.org/wikipedia/commons/3/30/Farm-Fresh_magnifier_zoom_in.png" title="Zoom in" alt="Zoom in" />',
'<img id="btnZoomOut" style="cursor: pointer" src="//upload.wikimedia.org/wikipedia/commons/e/ea/Farm-Fresh_magnifier_zoom_out.png" title="Zoom out" alt="Zoom out" />'
);
var table = $("<table>").attr( "class", "book").attr( "align", "center").append(
'<tr><td id="header_r">header retro</td><td id="header_f">header fronte</td></tr>',
'<tr><td id="body_r"></td><td id="body_f"></td></tr>',
'<tr><td id="footer_r">footer retro</td><td id="footer_f">footer fronte</td></tr>'
);
$(".viewer").append( d );
$(".viewer").append( table );
$("#header_r,#header_f,footer_r,footer_f").addClass("pagetext");
$('#btnZoomIn').click(function() {
if (fontSize < 200) {
fontSize += 5;
}
$(".book").css("font-size", fontSize + "%");
});
$('#btnZoomOut').click(function() {
if (fontSize > 50) {
fontSize -= 5;
}
$(".book").css("font-size", fontSize + "%");
});
},
show: function( title, pos){
if( pos === "") return;
 
api = new mw.Api();
api.get( {
format: 'json',
action: 'parse',
prop:"text|wikitext",
page: title,
contentmodel: "proofread-page"
} ).done( function(res){
wikitext=res.parse.wikitext["*"];
html = $(res.parse.text["*"])[0].outerHTML;
 
html = html.replace(/(cite_note-\d+)/g,"$1"+ pos).replace(/(cite_ref-\d+)/g,"$1"+ pos);
html = $(html).css("font-size","100%");
$(".prp-page-qualityheader",html).css("display","none");
 
$("#body_"+ pos +",#header_"+ pos +",#footer_"+ pos +"").html("").css("visibility","initial");
$("#body_"+ pos +"").append( html );
$( "#header_" + pos ).append($("#body_" + pos + " table[title='RigaIntestazione']").eq(0));
$( "#footer_" + pos ).append($("#body_" + pos + " table[title='PieDiPagina']").eq(0));
 
}).fail( function(e){
if(e === "missingtitle"){
var pageNumber=/(\d+)$/.exec(title)[1]*1;
if( pageNumber <1 || pageNumber > (Viewer.pageList.length-1) ){
$("#body_"+ pos +",#header_"+ pos +",#footer_"+ pos +"").html("").css("visibility","hidden");
} else {
$("#body_"+ pos +",#header_"+ pos +",#footer_"+ pos +"").html("").css("visibility","initial");
$("#header_"+ pos ).append( $('<table width="100%"><td align="center" style="color:#dddddd">'+ Viewer.pageList[pageNumber] +'</td></table>') );
$.get( mw.config.get("wgServer") + "/w/index.php?title=" + title + "&action=edit&redlink=1", function( resp ) {
ocr = $( "#wpTextbox1", $(resp) ).val();
console.log(ocr === "");
ocr = ocr.split("\n");
for( i=0; i < ocr.length; i+=1 ) {
ocr[i]=$.trim(ocr[i])+"<br/>";
}
ocr = '<span style="color:red;">Viewing OCR</span><br/></br>' + ocr.join("\n");
$("#body_"+pos).html(ocr);
});
}
}
});
},
convertNum: function( number ) {
var lang = mw.config.get("wgContentLanguage");
if( lang === "en" ){
return number;
}
 
// Contact User:Jayprakash12345 to add your lang numerals
var mapData = {
bn: {
"০": "0",
"১": "1",
"২": "2",
"৩": "3",
"৪": "4",
"৫": "5",
"৬": "6",
"৭": "7",
"৮": "8",
"৯": "9"
}
};
 
var output = '';
String(number).split('').forEach( function(i){
output += mapData[lang][i];
} );
return output;
},
next: function() {
if( this.baseNumber < (this.pageList.length-2) ) {
this.baseNumber = this.baseNumber*1+2;
this.show( this.baseName+this.baseNumber, "r" );
this.show( this.baseName+(this.baseNumber*1+1), "f" );
//this.updateForm();
}
},
previous: function() {
if( this.baseNumber>0 ) {
this.baseNumber = this.baseNumber * 1 - 2;
this.show( this.baseName+this.baseNumber, "r" );
this.show( this.baseName+(this.baseNumber*1+1), "f" );
//this.updateForm();
}
},
updateForm: function() {
$(".vis input[name='numeroDjvu-retro']").val( this.baseNumber*1 );
$(".vis input[name='numeroLibro-retro']").val( this.pageList[this.baseNumber*1] );
$(".vis input[name='numeroDjvu-fronte']").val( this.baseNumber*1+1 );
$(".vis input[name='numeroLibro-fronte']").val( this.pageList[this.baseNumber*1+1] );
}
};
 
pageNamespace = mw.config.get("wgCanonicalNamespace");
if( ( pageNamespace === "Index" || pageNamespace === "Page" || pageNamespace === "" ) && mw.config.get("wgAction")==="view" ) {
mw.loader.using( [ 'mediawiki.util', 'mediawiki.api', 'jquery.ui' ], function () {
var link = mw.util.addPortletLink(
'p-tb',
"#",
'Viewer'
);
// Event handler for Portlet Link
$( link ).on( 'click', function(e) {
e.preventDefault();
Viewer.start();
});
// Find if there is argument pass in URL
if( window.location.href.toLowerCase().indexOf("viewer=true") !==-1 ){
Viewer.start();
}
});
}