Erweiterungen
This commit is contained in:
Binary file not shown.
@@ -785,28 +785,43 @@ window.initProfileInvoiceGenerator = function() {
|
|||||||
canvas.setAttribute('tabindex', '0');
|
canvas.setAttribute('tabindex', '0');
|
||||||
canvas.addEventListener('keydown', function(e) {
|
canvas.addEventListener('keydown', function(e) {
|
||||||
if (!selectedElement) return;
|
if (!selectedElement) return;
|
||||||
|
|
||||||
var step = gridSize;
|
|
||||||
var moved = false;
|
var moved = false;
|
||||||
|
|
||||||
switch(e.key) {
|
switch(e.key) {
|
||||||
case 'ArrowUp':
|
case 'ArrowUp':
|
||||||
selectedElement.y = Math.max(0, selectedElement.y - step);
|
if (e.shiftKey) {
|
||||||
|
selectedElement.y = Math.max(0, selectedElement.y - 1);
|
||||||
|
} else {
|
||||||
|
selectedElement.y = Math.max(0, Math.floor((selectedElement.y - 1) / gridSize) * gridSize);
|
||||||
|
}
|
||||||
moved = true;
|
moved = true;
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
break;
|
break;
|
||||||
case 'ArrowDown':
|
case 'ArrowDown':
|
||||||
selectedElement.y = Math.min(basePageHeight - (selectedElement.height || 30), selectedElement.y + step);
|
if (e.shiftKey) {
|
||||||
|
selectedElement.y = Math.min(basePageHeight - (selectedElement.height || 30), selectedElement.y + 1);
|
||||||
|
} else {
|
||||||
|
selectedElement.y = Math.min(basePageHeight - (selectedElement.height || 30), Math.ceil((selectedElement.y + 1) / gridSize) * gridSize);
|
||||||
|
}
|
||||||
moved = true;
|
moved = true;
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
break;
|
break;
|
||||||
case 'ArrowLeft':
|
case 'ArrowLeft':
|
||||||
selectedElement.x = Math.max(0, selectedElement.x - step);
|
if (e.shiftKey) {
|
||||||
|
selectedElement.x = Math.max(0, selectedElement.x - 1);
|
||||||
|
} else {
|
||||||
|
selectedElement.x = Math.max(0, Math.floor((selectedElement.x - 1) / gridSize) * gridSize);
|
||||||
|
}
|
||||||
moved = true;
|
moved = true;
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
break;
|
break;
|
||||||
case 'ArrowRight':
|
case 'ArrowRight':
|
||||||
selectedElement.x = Math.min(basePageWidth - (selectedElement.width || 100), selectedElement.x + step);
|
if (e.shiftKey) {
|
||||||
|
selectedElement.x = Math.min(basePageWidth - (selectedElement.width || 100), selectedElement.x + 1);
|
||||||
|
} else {
|
||||||
|
selectedElement.x = Math.min(basePageWidth - (selectedElement.width || 100), Math.ceil((selectedElement.x + 1) / gridSize) * gridSize);
|
||||||
|
}
|
||||||
moved = true;
|
moved = true;
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
break;
|
break;
|
||||||
@@ -821,7 +836,7 @@ window.initProfileInvoiceGenerator = function() {
|
|||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (moved) {
|
if (moved) {
|
||||||
draw();
|
draw();
|
||||||
notifyElementSelected(selectedElement);
|
notifyElementSelected(selectedElement);
|
||||||
|
|||||||
Reference in New Issue
Block a user