Mercurial > public > mercurial-scm > hg
diff mercurial/hgweb/webcommands.py @ 35530:acd8a2454b47
monoblue: 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.
'parity' is added to each entry because there's no stripes2 class in monoblue,
only in paper.
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Fri, 05 Jan 2018 19:08:00 +0800 |
parents | 0fe5d99804bb |
children | baca93a47992 |
line wrap: on
line diff
--- a/mercurial/hgweb/webcommands.py Fri Jan 05 18:46:06 2018 +0800 +++ b/mercurial/hgweb/webcommands.py Fri Jan 05 19:08:00 2018 +0800 @@ -1265,6 +1265,7 @@ for (id, type, ctx, vtx, edges) in fulltree()] def nodes(): + parity = paritygen(web.stripecount) for row, (id, type, ctx, vtx, edges) in enumerate(tree): entry = webutil.commonentry(web.repo, ctx) edgedata = [{'col': edge[0], @@ -1276,6 +1277,7 @@ entry.update({'col': vtx[0], 'color': (vtx[1] - 1) % 6 + 1, + 'parity': next(parity), 'edges': edgedata, 'row': row, 'nextrow': row + 1})