1jQuery(function() { 2 "use strict"; 3 if (! ('approve' in JSINFO)) return false; 4 if (JSINFO['approve']['prettyprint'] !== true) return false; 5 6 //hide in print 7 jQuery('#dokuwiki__header').addClass('plugin__approve_noprint'); 8 9 var $h1 = jQuery("#dokuwiki__content h1:first"); 10 if ($h1.length > 0) { 11 var h1 = $h1[0].childNodes[0].nodeValue; 12 $h1.addClass('plugin__approve_noprint'); 13 } else { 14 //if no header use page title 15 var h1 = jQuery("#dokuwiki__header h1:first span").text(); 16 } 17 18 var $img = jQuery("#dokuwiki__header img").clone(); 19 var $table = jQuery('<table id="plugin__approve_printheader">') 20 .css({ 21 'table-layout': 'fixed', 22 'border-collapse': 'collapse', 23 'border': '0',//eliminate default border 24 'width':'100%', 25 'margin-bottom': '10px' 26 }); 27 28 var $tr = jQuery("<tr>").appendTo($table); 29 30 var cells = []; 31 32 cells.push(jQuery("<td>").append($img)); 33 34 var $print_header = jQuery('<h1>').text(h1); 35 cells.push(jQuery("<td>").append($print_header)); 36 37 if ('status' in JSINFO['approve']) { 38 var status = JSINFO['approve']['status']; 39 var lang = JSINFO['approve']['lang']; 40 41 42 var date = JSINFO['approve']['date']; 43 var author = JSINFO['approve']['author']; 44 var approver = JSINFO['approve']['approver']; 45 46 if (status === 'approved') { 47 var version = JSINFO['approve']['version']; 48 var status_html = lang['approved'] + ' (' + lang['version'] + ': ' + version + ')'; 49 } else if (status === 'ready for approval') { 50 var status_html = lang['marked_ready_for_approval']; 51 } else { 52 var status_html = lang['draft']; 53 } 54 55 var author_html = ''; 56 if (author) { 57 author_html = author+'<br>'; 58 } 59 60 var approver_html = ''; 61 if (approver) { 62 approver_html = JSINFO['approve']['lang']['approver'] + ': ' + approver + '<br>'; 63 } 64 65 cells.push(jQuery("<td>") 66 .html('<p style="text-align:left">'+ 67 status_html+'<br>'+ 68 author_html+ 69 date.replace(' ', ' ')+'<br>'+ 70 approver_html + 71 '</p>')); 72 73 74 cells[0].css('width', '25%'); 75 cells[1].css('width', '50%'); 76 cells[2].css('width', '25%'); 77 78 } else { 79 cells[0].css('width', '25%'); 80 cells[1].css('width', '75%'); 81 } 82 83 84 for (var cell in cells) { 85 var $td = cells[cell]; 86 $td.css({ 87 'border':'1px solid #000', 88 'border-top':'0', 89 'text-align': 'center', 90 'vertical-align': 'middle' 91 }); 92 $tr.append($td); 93 } 94 95 $tr.children().first().css('border-left', '0'); 96 $tr.children().last().css('border-right', '0'); 97 98 $table.prependTo("body"); 99}); 100