Files @ 2963f2894a7a
Branch filter:

Location: kallithea/pylons_app/templates/monoblue_plain/graph.tmpl - annotation

2963f2894a7a 3.7 KiB application/x-cheetah Show Source Show as Raw Download as Raw
Marcin Kuzminski
Tempalting change, bugfix for serving raw files, and diffs. Now raw files are not parsed thruough mako, and diffs are mako safe (not parsed also)
## -*- coding: utf-8 -*-
{header}
<!--[if IE]><script type="text/javascript" src="{staticurl}excanvas.js"></script><![endif]-->
<div id="container">
    <div class="page-header">
        <h1><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / graph</h1>

        <ul class="object-tools">
            <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
            <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
            <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
            <li class="current"><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
            <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
            <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
        </ul>
    </div>


    <div id="noscript">The revision graph only works with JavaScript-enabled browsers.</div>
    <div id="wrapper">
        <ul id="nodebgs"></ul>
        <canvas id="graph" width="224" height="{canvasheight}"></canvas>
        <ul id="graphnodes"></ul>
        <div>
    </div>

    <script type="text/javascript" src="{staticurl}graph.js"></script>
    <script>
    <!-- hide script content

    document.getElementById('noscript').style.display = 'none';

    var data = {jsdata|json};
    var graph = new Graph();
    graph.scale({bg_height});

    graph.edge = function(x0, y0, x1, y1, color) {

        this.setColor(color, 0.0, 0.65);
        this.ctx.beginPath();
        this.ctx.moveTo(x0, y0);
        this.ctx.lineTo(x1, y1);
        this.ctx.stroke();

    }

    var revlink = '<li style="_STYLE"><span class="desc">';
    revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>';
    revlink += '</span>_TAGS<span class="info">_DATE ago, by _USER</span></li>';

    graph.vertex = function(x, y, color, parity, cur) {

        this.ctx.beginPath();
        color = this.setColor(color, 0.25, 0.75);
        this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
        this.ctx.fill();

        var bg = '<li class="bg parity' + parity + '"></li>';
        var left = (this.columns + 1) * this.bg_height;
        var nstyle = 'padding-left: ' + left + 'px;';
        var item = revlink.replace(/_STYLE/, nstyle);
        item = item.replace(/_PARITY/, 'parity' + parity);
        item = item.replace(/_NODEID/, cur[0]);
        item = item.replace(/_NODEID/, cur[0]);
        item = item.replace(/_DESC/, cur[3]);
        item = item.replace(/_USER/, cur[4]);
        item = item.replace(/_DATE/, cur[5]);

        var tagspan = '';
        if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) {
            tagspan = '<span class="logtags">';
            if (cur[6][1]) {
                tagspan += '<span class="branchtag" title="' + cur[6][0] + '">';
                tagspan += cur[6][0] + '</span> ';
            } else if (!cur[6][1] && cur[6][0] != 'default') {
                tagspan += '<span class="inbranchtag" title="' + cur[6][0] + '">';
                tagspan += cur[6][0] + '</span> ';
            }
            if (cur[7].length) {
                for (var t in cur[7]) {
                    var tag = cur[7][t];
                    tagspan += '<span class="tagtag">' + tag + '</span> ';
                }
            }
            tagspan += '</span>';
        }

        item = item.replace(/_TAGS/, tagspan);
        return [bg, item];

    }

    graph.render(data);

    // stop hiding script -->
    </script>

    <div class="page-path">
        <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a>
        <a href="{url}graph/{rev}{morevars%urlparameter}">more</a>
        | {changenav%navgraphentry}
    </div>

{footer}