script.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. function changetarget(baseurl, thistree) {
  2. if (!document.getElementById)
  3. return;
  4. var form;
  5. var target = document.getElementById('tree');
  6. if (form = document.getElementById('source')) {
  7. var parent = baseurl.substr(0, baseurl.length - thistree.length);
  8. var path = document.location.href;
  9. if (parent == path.substr(0, parent.length)) {
  10. path = path.substring(baseurl.length);
  11. var newtree = target.value + '/';
  12. if (thistree != newtree)
  13. document.location = parent + newtree + path;
  14. }
  15. } else if (form = document.getElementById('search')) {
  16. form.action='../'+target.value+'/search';
  17. } else if (form = document.getElementById('find')) {
  18. form.action='../'+target.value+'/find';
  19. } else if (form = document.getElementById('ident')) {
  20. form.action='../'+target.value+'/ident';
  21. }
  22. }
  23. function changefindpreset() {
  24. if (document.getElementById) {
  25. var find = document.getElementById('find');
  26. var findi = document.getElementById('findi');
  27. if (findi.selectedIndex > 0)
  28. find.value = findi.value;
  29. }
  30. }
  31. function changerev() {
  32. var form = document.getElementById('revs');
  33. var target = document.getElementById('rev');
  34. var newrev = target.value;
  35. var oldquery = document.location.search;
  36. var newquery = oldquery.replace(/^\?/, '').replace(/((?:^|[&;])rev=)(?:[^&;]*(?:[&;]+|$))/, '');
  37. newquery = 'rev='+newrev + (newquery != '' ? '&' + newquery : '');
  38. document.location.search = newquery;
  39. }
  40. function updateBonsaiBlameHash(node, event) {
  41. if (!document.location.hash)
  42. return;
  43. var marks = [];
  44. if (/[?&;]mark=([-,0-9]+)(?:[&;]|$)/.test(document.location.search))
  45. marks.push(RegExp.$1);
  46. marks.push(document.location.hash.replace("#",''));
  47. marks = "&mark="+marks.join(',');
  48. var anchor = document.location.hash;
  49. node.href =
  50. node.href.replace(/&mark=\d*|$/, marks)
  51. .replace(/#.*|$/, anchor);
  52. }
  53. function updateHgBlameHash(node, event) {
  54. if (!document.location.hash)
  55. return;
  56. var anchor = document.location.hash;
  57. anchor = anchor.replace("#", "#l");
  58. node.href =
  59. node.href.replace(/#.*|$/, anchor);
  60. }