Improve changelog loader.
authorJan Schneider <jan@horde.org>
Tue, 24 Aug 2010 16:13:54 +0000 (18:13 +0200)
committerJan Schneider <jan@horde.org>
Tue, 24 Aug 2010 16:13:54 +0000 (18:13 +0200)
chora/js/annotate.js
chora/templates/annotate/header.inc
chora/templates/annotate/line.inc

index e4bd30c..a8641c2 100644 (file)
@@ -14,10 +14,16 @@ var Chora_Annotate = {
             return;
         }
         e.stop();
-        rev = elt.hide().up('td').down('a').readAttribute('rev');
-        newelt = new Element('td', { colspan: 5 }).insert(Chora.loading_text);
-        elt.up('tr').insert({ after: new Element('tr', { className: 'logentry' }).insert(newelt) });
-        new Ajax.Updater(newelt, Chora.ANNOTATE_URL + '=' + rev);
+        if (elt.retrieve('expanded')) {
+            elt.up('tr').next('tr').remove();
+            elt.store('expanded', false);
+        } else {
+            rev = elt.readAttribute('rev');
+            newelt = new Element('td', { colspan: 6 }).insert(Chora.loading_text);
+            elt.up('tr').insert({ after: new Element('tr', { className: 'logentry' }).insert(newelt) });
+            elt.store('expanded', true);
+            new Ajax.Updater(newelt, Chora.ANNOTATE_URL + '=' + rev);
+        }
     }
 };
 
index 9036d2c..2e6aea2 100644 (file)
@@ -4,6 +4,7 @@
   <th class="rightAlign"><?php echo _("#") ?></th>
   <th><?php echo _("Author") ?></th>
   <th><?php echo _("Rev") ?></th>
+  <th></th>
   <th><?php echo _("Prev") ?></th>
   <th><?php echo _("Line") ?></th>
  </tr>
index 3e3dbbb..86c1bc7 100644 (file)
@@ -6,15 +6,17 @@
     <?php echo $author ?>
   </td>
   <td class="rev">
-    <a rev="<?php echo htmlspecialchars($rev) ?>" href="<?php echo Chora::url('co', $where, array('r' => $rev)) ?>" title="<?php echo htmlspecialchars($rev) ?>"><?php echo htmlspecialchars($VC->abbrev($rev)) ?></a>
+    <a href="<?php echo Chora::url('co', $where, array('r' => $rev)) ?>" title="<?php echo htmlspecialchars($rev) ?>"><?php echo htmlspecialchars($VC->abbrev($rev)) ?></a>
+  </td>
+  <td class="rev">
 <?php if ($prev): ?>
     <a href="<?php echo Chora::url('diff', $where, array('r1' => $prev, 'r2' => $rev)) ?>" title="<?php echo sprintf(_("Diff to %s"), htmlspecialchars($prev)) ?>"><?php echo Horde::img('diff.png') ?></a>
-    <span class="logdisplay"><?php echo Horde::img('log.png') ?></span>
+    <span class="logdisplay" rev="<?php echo htmlspecialchars($rev) ?>"><?php echo Horde::img('log.png') ?></span>
 <?php endif; ?>
   </td>
   <td class="rev">
 <?php if ($prev): ?>
-    <a rev="<?php echo htmlspecialchars($prev) ?>" href="<?php echo Chora::url('annotate', $where, array('rev' => $prev)) . '#l' . $lineno ?>" title="<?php echo htmlspecialchars($prev) ?>"><?php echo htmlspecialchars($VC->abbrev($prev)) ?></a>
+    <a href="<?php echo Chora::url('annotate', $where, array('rev' => $prev)) . '#l' . $lineno ?>" title="<?php echo htmlspecialchars($prev) ?>"><?php echo htmlspecialchars($VC->abbrev($prev)) ?></a>
 <?php endif; ?>
   </td>
   <td class="item<?php echo $style ?>">