Mercurial > hg
view mercurial/templates/spartan/graph.tmpl @ 35532:bb5a03dfd7ff
spartan: make actual changeset entries have backgrounds on /graph
This patch removes a separate container for backgrounds only and puts
backgrounds on changeset elements themselves. This makes it so that JS code
doesn't need to create background elements separately anymore.
There's a bit of manipulating positions of elements: every changeset entry has
a "fg" element that gets a higher z-index than <canvas> element. This
prioritizes text information, so that even if it somehow gets close to the
graph drawn on <canvas> (which has z-index of 5), it'll still be on top of it.
This can happen if commit message has a long first line and browser window is
narrow, for example.
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Fri, 05 Jan 2018 19:22:05 +0800 |
parents | 56854848e485 |
children | 45a816361926 |
line wrap: on
line source
{header} <title>{repo|escape}: graph</title> <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-tags" title="Atom feed for {repo|escape}: tags"> <link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-tags" title="RSS feed for {repo|escape}: tags"> <!--[if IE]><script type="text/javascript" src="{staticurl|urlescape}excanvas.js"></script><![endif]--> </head> <body> <div class="buttons"> <a href="{url|urlescape}log/{symrev}{sessionvars%urlparameter}">changelog</a> <a href="{url|urlescape}shortlog/{symrev}{sessionvars%urlparameter}">shortlog</a> <a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> <a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> <a href="{url|urlescape}file/{symrev}/{sessionvars%urlparameter}">files</a> <a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> </div> <h2><a href="/">Mercurial</a> {pathdef%breadcrumb} / graph</h2> <form action="{url|urlescape}log"> {sessionvars%hiddenformentry} <p> <label for="search1">search:</label> <input name="rev" id="search1" type="text" size="30"> navigate: <small class="navigate">{changenav%navgraph}</small> </p> </form> <noscript>The revision graph only works with JavaScript-enabled browsers.</noscript> <div id="wrapper"> <canvas id="graph"></canvas> <ul id="graphnodes">{nodes%graphentry}</ul> </div> <script type="text/javascript"{if(nonce, ' nonce="{nonce}"')}> var data = {jsdata|json}; var graph = new Graph(); graph.scale({bg_height}); graph.render(data); </script> <form action="{url|urlescape}log"> {sessionvars%hiddenformentry} <p> <label for="search1">search:</label> <input name="rev" id="search1" type="text" size="30"> navigate: <small class="navigate">{changenav%navgraph}</small> </p> </form> {footer}