xref: /plugin/approve/script.js (revision c7d53eaba29e207f5d28ea550cd66a04c154a49d)
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
45
46
47        if (status === 'Approved') {
48            var version = JSINFO['approve']['version'];
49            var cont =	lang['approved'] + ' (' + lang['version'] + ': ' + version + ')<br>' + author;
50        } else {
51            var cont =	lang['draft'] + '<br>' + author;
52        }
53
54
55        cells.push(jQuery("<td>")
56            .html('<p style="text-align:left">'+
57                cont+'<br>'+
58                date.replace(' ', '&nbsp;')+'<br>'+
59
60                '</p>'));
61
62
63        cells[0].css('width', '25%');
64        cells[1].css('width', '50%');
65        cells[2].css('width', '25%');
66
67    } else {
68        cells[0].css('width', '25%');
69        cells[1].css('width', '75%');
70    }
71
72
73    for (var cell in cells) {
74        var $td = cells[cell];
75        $td.css({
76            'border':'1px solid #000',
77            'border-top':'0',
78            'text-align': 'center',
79            'vertical-align': 'middle'
80        });
81        $tr.append($td);
82    }
83
84    $tr.children().first().css('border-left', '0');
85    $tr.children().last().css('border-right', '0');
86
87    $table.prependTo("body");
88});
89