forked from shesha-io/shesha-framework
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcanvasConfig.tsx
More file actions
38 lines (33 loc) · 1.49 KB
/
canvasConfig.tsx
File metadata and controls
38 lines (33 loc) · 1.49 KB
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
import React, { FC } from "react";
import { useStyles } from "../styles/styles";
import { Button, Space, Tooltip } from "antd";
import { ExpandOutlined, MinusOutlined, PlusOutlined } from "@ant-design/icons";
import { useCanvas } from "@/providers";
import { DeviceOptions } from "./mobileDropdown";
import { DEFAULT_OPTIONS } from "@/providers/canvas/utils";
export interface ICanvasConfigProps {
}
export const CanvasConfig: FC<ICanvasConfigProps> = () => {
const { styles } = useStyles();
const { setCanvasZoom, setCanvasAutoZoom, autoZoom, zoom } = useCanvas();
return (
<div className={styles.shaDesignerCanvasConfig}>
<DeviceOptions />
<Space direction="horizontal" size={0} style={{ flexWrap: "nowrap" }}>
<Tooltip title={`${zoom}%`}>
<Button
size="small"
type={autoZoom ? "link" : "text"}
icon={<ExpandOutlined size={14} />}
title="Auto"
onClick={() => {
setCanvasAutoZoom();
}}
/>
</Tooltip>
<Tooltip title={`${zoom}%`}><Button size="small" disabled={autoZoom} type="text" icon={<MinusOutlined />} title="Zoom out" onClick={() => setCanvasZoom(zoom - (zoom > DEFAULT_OPTIONS.minZoom ? 2 : 0))} /></Tooltip>
<Tooltip title={`${zoom}%`}><Button size="small" disabled={autoZoom} type="text" icon={<PlusOutlined />} title="Zoom in" onClick={() => setCanvasZoom(zoom + (zoom < DEFAULT_OPTIONS.maxZoom ? 2 : 0))} /></Tooltip>
</Space>
</div>
);
};