מדיה ויקי:PdfPresentation.js
מתוך ויקיתרופות
גרסה מתאריך 21:15, 6 בנובמבר 2014 מאת ערן רוזנטל (שיחה | תרומות)
הערה: לאחר השמירה, עליכם לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: לחצו על Shift בעת לחיצתכם על העלה מחדש (Reload), או הקישו על Ctrl-F5 או על Ctrl-R (או על ⌘-R במחשב מק)
- גוגל כרום: לחצו על Ctrl-Shift-R (או על ⌘-Shift-R במק)
- אינטרנט אקספלורר: לחצו על Ctrl בעת לחיצתכם על רענן (Refresh), או הקישו על Ctrl-F5
- אופרה: נקו את המטמון ב־Tools ← Preferences
$(function(){
if ($('.presentationsGallery').length == 0) return;
// create PdfPresentation handler
mw.loader.load(['jquery.bxSlider', 'jquery.spinner']);
$('.presentationsGallery .thumb a').click(function(e){
e.preventDefault();
var galleryFile = $(this).prop('href').split(':',3)[2];
var $spinner = $.createSpinner( {
size: 'large',
type: 'block'
} );
$('.presentationDisplay').append( $spinner );
var api = new mw.Api();
api.get({
action: 'query',
titles: 'File:'+galleryFile,
prop: 'imageinfo',
iiprop: 'metadata',
}).done(function( data ){
var pages = data && data.query && data.query.pages;
if (!pages || pages.hasOwnProperty('-1')) return;
var imgPage;
for ( var p in pages ) imgPage = pages[p];
var thumbURL = imgPage.imageinfo[0].thumburl;
var metadata = imgPage.imageinfo[0].metadata;
//extract number of pages
var numberOfPages = 1;
for(var metadata_i=0; metadata_i<metadata.length;metadata_i++) {
if ( metadata[metadata_i].name === 'Pages' ) {
numberOfPages = metadata[metadata_i].value;
}
}
var gallyWikitext='';
var gallerySize = '1000px';
for(var i=1;i<numberOfPages+1;i++){
gallyWikitext+='\n* [[File:'+galleryFile+'|page='+i+'|'+gallerySize+'|link=]]';
}
gallyWikitext+='\n';
var api=new mw.Api();
api.get({
action:'parse',
text: gallyWikitext,
prop:'text'
}).done(function(data){
$('.presentationDisplay').html(data.parse.text['*'])
$('.presentationDisplay ul').bxSlider({
auto: false,
controls: true,
slideWidth: gallerySize,
mode:'vertical'
});
});
});
});
});