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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | 1x 1x 1x 1x 1x 7x 7x 7x 7x 4x 7x 1x 1x 1x 1x 2x 1x 1x 1x | import React, { Dispatch } from "react";
import { UnknownAction } from "redux";
import l10n from "shared/lib/lang/l10n";
import entitiesActions from "store/features/entities/entitiesActions";
import { MenuDivider, MenuItem, MenuItemDisabled } from "ui/menu/Menu";
interface TilemapLayerContextMenuProps {
dispatch: Dispatch<UnknownAction>;
sceneId: string;
layerId: string;
layerIndex: number;
layerCount: number;
visible: boolean;
onRename: () => void;
}
const renderTilemapLayerContextMenu = ({
dispatch,
sceneId,
layerId,
layerIndex,
layerCount,
visible,
onRename,
}: TilemapLayerContextMenuProps) => {
const canMoveUp = layerIndex < layerCount - 1;
const canMoveDown = layerIndex > 0;
const canDelete = layerCount > 1;
const moveLayer = (direction: -1 | 1 | "top" | "bottom") =>
dispatch(entitiesActions.moveTilemapLayer({ sceneId, layerId, direction }));
return [
<MenuItem key="rename" onClick={onRename}>
{l10n("FIELD_RENAME")}
</MenuItem>,
<MenuDivider key="div-rename" />,
canMoveUp ? (
<MenuItem key="move-top" onClick={() => moveLayer("top")}>
{l10n("FIELD_MOVE_TOP")}
</MenuItem>
) : (
<MenuItemDisabled key="move-top">
{l10n("FIELD_MOVE_TOP")}
</MenuItemDisabled>
),
canMoveUp ? (
<MenuItem key="move-up" onClick={() => moveLayer(1)}>
{l10n("FIELD_MOVE_UP")}
</MenuItem>
) : (
<MenuItemDisabled key="move-up">{l10n("FIELD_MOVE_UP")}</MenuItemDisabled>
),
canMoveDown ? (
<MenuItem key="move-down" onClick={() => moveLayer(-1)}>
{l10n("FIELD_MOVE_DOWN")}
</MenuItem>
) : (
<MenuItemDisabled key="move-down">
{l10n("FIELD_MOVE_DOWN")}
</MenuItemDisabled>
),
canMoveDown ? (
<MenuItem key="move-bottom" onClick={() => moveLayer("bottom")}>
{l10n("FIELD_MOVE_BOTTOM")}
</MenuItem>
) : (
<MenuItemDisabled key="move-bottom">
{l10n("FIELD_MOVE_BOTTOM")}
</MenuItemDisabled>
),
<MenuDivider key="div-move" />,
<MenuItem
key="visibility"
onClick={() =>
dispatch(
entitiesActions.editTilemapLayer({
sceneId,
layerId,
changes: { visible: !visible },
}),
)
}
>
{visible ? l10n("FIELD_HIDE_LAYER") : l10n("FIELD_SHOW_LAYER")}
</MenuItem>,
canMoveDown ? (
<MenuItem
key="merge-down"
onClick={() =>
dispatch(entitiesActions.mergeTilemapLayerDown({ sceneId, layerId }))
}
>
{l10n("FIELD_MERGE_DOWN")}
</MenuItem>
) : (
<MenuItemDisabled key="merge-down">
{l10n("FIELD_MERGE_DOWN")}
</MenuItemDisabled>
),
<MenuDivider key="div-delete" />,
canDelete ? (
<MenuItem
key="delete"
onClick={() =>
dispatch(entitiesActions.removeTilemapLayer({ sceneId, layerId }))
}
>
{l10n("FIELD_DELETE_LAYER")}
</MenuItem>
) : (
<MenuItemDisabled key="delete">
{l10n("FIELD_DELETE_LAYER")}
</MenuItemDisabled>
),
];
};
export default renderTilemapLayerContextMenu;
|