מדיה ויקי:PdfPresentation.js: הבדלים בין גרסאות
מתוך ויקיתרופות

ערן רוזנטל (שיחה | תרומות) |
ערן רוזנטל (שיחה | תרומות) (new version with bxslider) |
||
שורה 1: | שורה 1: | ||
$(function(){ | $(function(){ | ||
− | + | if ($('.presentationsGallery').length == 0) return; | |
− | + | // create PdfPresentation handler | |
− | + | ||
− | + | mw.loader.load('jquery.bxSlider') | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | $('.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 ); | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | mw. | + | 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' | ||
}); | }); | ||
+ | |||
}); | }); | ||
− | |||
}); | }); | ||
+ | }); | ||
+ | |||
}); | }); |
גרסה מתאריך 21:09, 6 בנובמבר 2014
$(function(){ if ($('.presentationsGallery').length == 0) return; // create PdfPresentation handler mw.loader.load('jquery.bxSlider') $('.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' }); }); }); }); });