--- a/mercurial/templates/static/mercurial.js Tue Jul 09 02:08:24 2013 +0400
+++ b/mercurial/templates/static/mercurial.js Fri Jul 12 15:58:13 2013 +0400
@@ -271,3 +271,29 @@
document.getElementById('diffstatdetails').style.display = curexpand;
document.getElementById('diffstatexpand').style.display = curdetails;
}
+
+function toggleLinewrap() {
+ function getLinewrap() {
+ var nodes = document.getElementsByClassName('sourcelines');
+ // if there are no such nodes, error is thrown here
+ return nodes[0].classList.contains('wrap');
+ }
+
+ function setLinewrap(enable) {
+ var nodes = document.getElementsByClassName('sourcelines');
+ for (var i = 0; i < nodes.length; i++) {
+ if (enable) {
+ nodes[i].classList.add('wrap');
+ } else {
+ nodes[i].classList.remove('wrap');
+ }
+ }
+
+ var links = document.getElementsByClassName('linewraplink');
+ for (var i = 0; i < links.length; i++) {
+ links[i].innerHTML = enable ? 'on' : 'off';
+ }
+ }
+
+ setLinewrap(!getLinewrap());
+}