Mercurial > hg-stable
changeset 35264:ad0de63e1d6a
hgweb: move common vertex code to Graph.prototype
Just to give some context to the return values: vertex() needs to return two
HTML elements as strings, <li> to be used as a background and a <li> to be
shown in foreground. The latter was made obsolete recently when changesets
started to be rendered server-side, but background elements are still useful
for now.
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Wed, 06 Dec 2017 12:10:16 +0800 |
parents | 9c99541e3d56 |
children | 8fbb2678d8e8 |
files | mercurial/templates/gitweb/graph.tmpl mercurial/templates/monoblue/graph.tmpl mercurial/templates/paper/graph.tmpl mercurial/templates/spartan/graph.tmpl mercurial/templates/static/mercurial.js tests/test-hgweb-commands.t tests/test-hgweb-empty.t |
diffstat | 7 files changed, 27 insertions(+), 95 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/templates/gitweb/graph.tmpl Wed Dec 06 12:01:07 2017 +0800 +++ b/mercurial/templates/gitweb/graph.tmpl Wed Dec 06 12:10:16 2017 +0800 @@ -50,22 +50,8 @@ graph.scale({bg_height}); graph.vertex = function(x, y, radius, 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.bg_height - this.box_size) + (this.columns + 1) * this.box_size; - - var item = document.querySelector('[data-node="' + cur.node + '"]'); - if (item) \{ - item.style.paddingLeft = left + 'px'; - } - - return [bg, '']; - + Graph.prototype.vertex.apply(this, arguments); + return ['<li class="bg parity' + parity + '"></li>', '']; } graph.render(data);
--- a/mercurial/templates/monoblue/graph.tmpl Wed Dec 06 12:01:07 2017 +0800 +++ b/mercurial/templates/monoblue/graph.tmpl Wed Dec 06 12:10:16 2017 +0800 @@ -44,22 +44,8 @@ graph.scale({bg_height}); graph.vertex = function(x, y, radius, 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.bg_height - this.box_size) + (this.columns + 1) * this.box_size; - - var item = document.querySelector('[data-node="' + cur.node + '"]'); - if (item) \{ - item.style.paddingLeft = left + 'px'; - } - - return [bg, '']; - + Graph.prototype.vertex.apply(this, arguments); + return ['<li class="bg parity' + parity + '"></li>', '']; } graph.render(data);
--- a/mercurial/templates/paper/graph.tmpl Wed Dec 06 12:01:07 2017 +0800 +++ b/mercurial/templates/paper/graph.tmpl Wed Dec 06 12:10:16 2017 +0800 @@ -63,22 +63,8 @@ graph.scale({bg_height}); graph.vertex = function(x, y, radius, 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"></li>'; - var left = (this.bg_height - this.box_size) + (this.columns + 1) * this.box_size; - - var item = document.querySelector('[data-node="' + cur.node + '"]'); - if (item) \{ - item.style.paddingLeft = left + 'px'; - } - - return [bg, '']; - + Graph.prototype.vertex.apply(this, arguments); + return ['<li class="bg"></li>', '']; } graph.render(data);
--- a/mercurial/templates/spartan/graph.tmpl Wed Dec 06 12:01:07 2017 +0800 +++ b/mercurial/templates/spartan/graph.tmpl Wed Dec 06 12:10:16 2017 +0800 @@ -44,21 +44,8 @@ graph.scale({bg_height}); graph.vertex = function(x, y, radius, 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.bg_height - this.box_size) + (this.columns + 1) * this.box_size; - var item = document.querySelector('[data-node="' + cur.node + '"]'); - if (item) \{ - item.style.paddingLeft = left + 'px'; - } - - return [bg, '']; - + Graph.prototype.vertex.apply(this, arguments); + return ['<li class="bg parity' + parity + '"></li>', '']; } graph.render(data);
--- a/mercurial/templates/static/mercurial.js Wed Dec 06 12:01:07 2017 +0800 +++ b/mercurial/templates/static/mercurial.js Wed Dec 06 12:10:16 2017 +0800 @@ -92,6 +92,21 @@ }, + vertex: function(x, y, radius, color, parity, cur) { + this.ctx.beginPath(); + this.setColor(color, 0.25, 0.75); + this.ctx.arc(x, y, radius, 0, Math.PI * 2, true); + this.ctx.fill(); + + var left = (this.bg_height - this.box_size) + (this.columns + 1) * this.box_size; + var item = document.querySelector('[data-node="' + cur.node + '"]'); + if (item) { + item.style.paddingLeft = left + 'px'; + } + + return ['', '']; + }, + render: function(data) { var backgrounds = '';
--- a/tests/test-hgweb-commands.t Wed Dec 06 12:01:07 2017 +0800 +++ b/tests/test-hgweb-commands.t Wed Dec 06 12:10:16 2017 +0800 @@ -1821,22 +1821,8 @@ graph.scale(39); graph.vertex = function(x, y, radius, 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.bg_height - this.box_size) + (this.columns + 1) * this.box_size; - - var item = document.querySelector('[data-node="' + cur.node + '"]'); - if (item) { - item.style.paddingLeft = left + 'px'; - } - - return [bg, '']; - + Graph.prototype.vertex.apply(this, arguments); + return ['<li class="bg parity' + parity + '"></li>', '']; } graph.render(data);
--- a/tests/test-hgweb-empty.t Wed Dec 06 12:01:07 2017 +0800 +++ b/tests/test-hgweb-empty.t Wed Dec 06 12:10:16 2017 +0800 @@ -307,22 +307,8 @@ graph.scale(39); graph.vertex = function(x, y, radius, 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"></li>'; - var left = (this.bg_height - this.box_size) + (this.columns + 1) * this.box_size; - - var item = document.querySelector('[data-node="' + cur.node + '"]'); - if (item) { - item.style.paddingLeft = left + 'px'; - } - - return [bg, '']; - + Graph.prototype.vertex.apply(this, arguments); + return ['<li class="bg"></li>', '']; } graph.render(data);