mirror of
https://github.com/kennethreitz-archive/gitx.git
synced 2026-06-05 23:40:18 +00:00
bd097b0eff
This changes the HTML part of GitX to be more consistent -- we now use a "views" directory where every web view has it's own directory. Furthermore, GitX-wide Javascript is added in the "lib" directory. The same is true for CSS in the "css" directory. Every view can have its own custom CSS and JS, and those are put in the views directory (without JS or CSS prefix directories).
62 lines
1.2 KiB
JavaScript
62 lines
1.2 KiB
JavaScript
var scrollToCenter = function(element) {
|
|
window.scrollTo(0, element.offsetTop);
|
|
}
|
|
|
|
var handleKeys = function(event) {
|
|
if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey)
|
|
return;
|
|
if (event.keyCode == 74)
|
|
return changeHunk(true);
|
|
else if (event.keyCode == 75)
|
|
return changeHunk(false);
|
|
else if (event.keyCode == 86) {// 'v'
|
|
showDiffs();
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
var handleKeyFromCocoa = function(key) {
|
|
if (key == 'j')
|
|
changeHunk(true);
|
|
else if (key == 'k')
|
|
changeHunk(false);
|
|
else if (key == 'v')
|
|
showDiffs();
|
|
else if (key == 'c')
|
|
Controller.copySource();
|
|
}
|
|
|
|
var changeHunk = function(next) {
|
|
var hunks = document.getElementsByClassName("hunkheader");
|
|
|
|
if (hunks.length == 0)
|
|
return;
|
|
|
|
var currentHunk = document.getElementById("CurrentHunk");
|
|
var newHunk;
|
|
|
|
var index = -1;
|
|
for (; index < hunks.length; ++index) {
|
|
if (hunks[index] == currentHunk)
|
|
break;
|
|
}
|
|
|
|
if (currentHunk && index >= 0) {
|
|
currentHunk.id = null;
|
|
if (next)
|
|
newHunk = hunks[index + 1];
|
|
else
|
|
newHunk = hunks[index - 1];
|
|
}
|
|
if (!newHunk)
|
|
newHunk = hunks[0];
|
|
|
|
newHunk.id = 'CurrentHunk';
|
|
scrollToCenter(newHunk);
|
|
return false;
|
|
}
|
|
|
|
document.onkeydown = function(event) {
|
|
return handleKeys(event);
|
|
}; |