1jQuery(function() { 2 "use strict"; 3 var $groupInput = jQuery('#plugin__approve_group_input'); 4 if ($groupInput.length === 0) return; 5 6 var $form = $groupInput.closest('form'); 7 var $select = $form.find('select'); 8 9 //Add option to select a group 10 var label = LANG['plugins']['approve']['group_option_label']; 11 if (label === '') { 12 label = 'Group:'; 13 } 14 var $groupOption = jQuery('<option value="">' + label + '</option>') 15 .insertAfter($select.find('option:first-child')); 16 17 $groupInput.hide(); 18 $select.on('change', function() { 19 var $option = $select.find(':selected'); 20 if ($option.is($groupOption)) { 21 $groupInput.val('@'); 22 $groupInput.show(); 23 } else { 24 $groupInput.val(''); 25 $groupInput.hide(); 26 } 27 }); 28 29}); 30 31jQuery(function() { 32 "use strict"; 33 if (! ('approve' in JSINFO)) return false; 34 if (JSINFO['approve']['prettyprint'] !== true) return false; 35 36 //hide in print 37 jQuery('#dokuwiki__header').addClass('plugin__approve_noprint'); 38 39 var $h1 = jQuery("#dokuwiki__content h1:first"); 40 if ($h1.length > 0) { 41 var h1 = $h1[0].childNodes[0].nodeValue; 42 $h1.addClass('plugin__approve_noprint'); 43 } else { 44 //if no header use page title 45 var h1 = jQuery("#dokuwiki__header h1:first span").text(); 46 } 47 48 var $img = jQuery("#dokuwiki__header img").clone(); 49 var $table = jQuery('<table id="plugin__approve_printheader">') 50 .css({ 51 'table-layout': 'fixed', 52 'border-collapse': 'collapse', 53 'border': '0',//eliminate default border 54 'width':'100%', 55 'margin-bottom': '10px' 56 }); 57 58 var $tr = jQuery("<tr>").appendTo($table); 59 60 var cells = []; 61 62 cells.push(jQuery("<td>").append($img)); 63 64 var $print_header = jQuery('<h1>').text(h1); 65 cells.push(jQuery("<td>").append($print_header)); 66 67 if ('status' in JSINFO['approve']) { 68 var status = JSINFO['approve']['status']; 69 var lang = JSINFO['approve']['lang']; 70 71 72 var date = JSINFO['approve']['date']; 73 var author = JSINFO['approve']['author']; 74 var approver = JSINFO['approve']['approver']; 75 76 if (status === 'approved') { 77 var version = JSINFO['approve']['version']; 78 var status_html = lang['approved'] + ' (' + lang['version'] + ': ' + version + ')'; 79 } else if (status === 'ready for approval') { 80 var status_html = lang['marked_ready_for_approval']; 81 } else { 82 var status_html = lang['draft']; 83 } 84 85 var author_html = ''; 86 if (author) { 87 author_html = author+'<br>'; 88 } 89 90 var approver_html = ''; 91 if (approver) { 92 approver_html = JSINFO['approve']['lang']['approver'] + ': ' + approver + '<br>'; 93 } 94 95 cells.push(jQuery("<td>") 96 .html('<p style="text-align:left">'+ 97 status_html+'<br>'+ 98 author_html+ 99 date.replace(' ', ' ')+'<br>'+ 100 approver_html + 101 '</p>')); 102 103 104 cells[0].css('width', '25%'); 105 cells[1].css('width', '50%'); 106 cells[2].css('width', '25%'); 107 108 } else { 109 cells[0].css('width', '25%'); 110 cells[1].css('width', '75%'); 111 } 112 113 114 for (var cell in cells) { 115 var $td = cells[cell]; 116 $td.css({ 117 'border':'1px solid #000', 118 'border-top':'0', 119 'text-align': 'center', 120 'vertical-align': 'middle' 121 }); 122 $tr.append($td); 123 } 124 125 $tr.children().first().css('border-left', '0'); 126 $tr.children().last().css('border-right', '0'); 127 128 $table.prependTo("body"); 129}); 130