actionToggleGridMode.tsx 688 B

12345678910111213141516171819202122
  1. import { CODES, KEYS } from "../keys";
  2. import { register } from "./register";
  3. import { GRID_SIZE } from "../constants";
  4. import { AppState } from "../types";
  5. import { trackEvent } from "../analytics";
  6. export const actionToggleGridMode = register({
  7. name: "gridMode",
  8. perform(elements, appState) {
  9. trackEvent("view", "mode", "grid");
  10. return {
  11. appState: {
  12. ...appState,
  13. gridSize: this.checked!(appState) ? null : GRID_SIZE,
  14. },
  15. commitToHistory: false,
  16. };
  17. },
  18. checked: (appState: AppState) => appState.gridSize !== null,
  19. contextItemLabel: "labels.showGrid",
  20. keyTest: (event) => event[KEYS.CTRL_OR_CMD] && event.code === CODES.QUOTE,
  21. });