actionZindex.tsx 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import { Action } from "./types";
  2. import {
  3. moveOneLeft,
  4. moveOneRight,
  5. moveAllLeft,
  6. moveAllRight,
  7. } from "../zindex";
  8. import { getSelectedIndices } from "../scene";
  9. import { KEYS } from "../keys";
  10. export const actionSendBackward: Action = {
  11. name: "sendBackward",
  12. perform: (elements, appState) => {
  13. return {
  14. elements: moveOneLeft([...elements], getSelectedIndices(elements)),
  15. appState,
  16. };
  17. },
  18. contextItemLabel: "labels.sendBackward",
  19. keyPriority: 40,
  20. keyTest: event =>
  21. event[KEYS.META] && event.shiftKey && event.altKey && event.code === "KeyB",
  22. };
  23. export const actionBringForward: Action = {
  24. name: "bringForward",
  25. perform: (elements, appState) => {
  26. return {
  27. elements: moveOneRight([...elements], getSelectedIndices(elements)),
  28. appState,
  29. };
  30. },
  31. contextItemLabel: "labels.bringForward",
  32. keyPriority: 40,
  33. keyTest: event =>
  34. event[KEYS.META] && event.shiftKey && event.altKey && event.code === "KeyF",
  35. };
  36. export const actionSendToBack: Action = {
  37. name: "sendToBack",
  38. perform: (elements, appState) => {
  39. return {
  40. elements: moveAllLeft([...elements], getSelectedIndices(elements)),
  41. appState,
  42. };
  43. },
  44. contextItemLabel: "labels.sendToBack",
  45. keyTest: event => event[KEYS.META] && event.shiftKey && event.code === "KeyB",
  46. };
  47. export const actionBringToFront: Action = {
  48. name: "bringToFront",
  49. perform: (elements, appState) => {
  50. return {
  51. elements: moveAllRight([...elements], getSelectedIndices(elements)),
  52. appState,
  53. };
  54. },
  55. contextItemLabel: "labels.bringToFront",
  56. keyTest: event => event[KEYS.META] && event.shiftKey && event.code === "KeyF",
  57. };