All files / src/components/world renderWorldContextMenu.tsx

0% Statements 0/13
0% Branches 0/2
0% Functions 0/4
0% Lines 0/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50                                                                                                   
import React, { Dispatch } from "react";
import { UnknownAction } from "redux";
import l10n from "shared/lib/lang/l10n";
import editorActions from "store/features/editor/editorActions";
import entitiesActions from "store/features/entities/entitiesActions";
import { MenuDivider, MenuItem } from "ui/menu/Menu";
 
interface WorldContextMenuProps {
  dispatch: Dispatch<UnknownAction>;
  selectedIds: string[];
}
 
const renderWorldContextMenu = ({
  dispatch,
  selectedIds,
}: WorldContextMenuProps) => {
  return [
    <MenuItem
      key="scene"
      onClick={() => dispatch(editorActions.setTool({ tool: "scene" }))}
    >
      {l10n("TOOL_ADD_SCENE_LABEL")}
    </MenuItem>,
    <MenuDivider key="div-note" />,
    <MenuItem
      key="note"
      onClick={() => dispatch(editorActions.setTool({ tool: "note" }))}
    >
      {l10n("TOOL_ADD_NOTE_LABEL")}
    </MenuItem>,
    ...(selectedIds.length > 0
      ? [
          <MenuDivider key="div-delete" />,
          <MenuItem
            key="delete"
            onClick={() => {
              dispatch(entitiesActions.removeScenes({ sceneIds: selectedIds }));
              dispatch(entitiesActions.removeNotes({ noteIds: selectedIds }));
              dispatch(editorActions.selectWorld());
            }}
          >
            {l10n("MENU_DELETE_SELECTION")}
          </MenuItem>,
        ]
      : []),
  ];
};
 
export default renderWorldContextMenu;