mercurial/templates/static/mercurial.js
changeset 19430 5ec5097b4c0f
parent 19428 c3cdba6e5d7f
child 19530 a63d3ff0d765
--- 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());
+}