From cc91a835ff9fbf3e9e33ac5a9ea51432f9f3bf24 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 10 十月 2024 16:11:01 +0800
Subject: [PATCH] #
---
zy-acs-flow/src/map/settings/MapSettings.jsx | 157 ++++++++++++++++++++++++++++++++++------------------
1 files changed, 102 insertions(+), 55 deletions(-)
diff --git a/zy-acs-flow/src/map/settings/MapSettings.jsx b/zy-acs-flow/src/map/settings/MapSettings.jsx
index 1e40325..f482e67 100644
--- a/zy-acs-flow/src/map/settings/MapSettings.jsx
+++ b/zy-acs-flow/src/map/settings/MapSettings.jsx
@@ -12,14 +12,21 @@
InputLabel,
FormControl,
Stack,
+ Divider,
} from '@mui/material';
+import MuiInput from '@mui/material/Input';
+import { styled } from '@mui/material/styles';
import { useTranslate } from 'react-admin';
+
+const Input = styled(MuiInput)`
+ width: 42px;
+`;
const MapSettings = (props) => {
const { sprite, onSubmit } = props;
const translate = useTranslate();
- const { control, handleSubmit, reset, watch, setValue } = useForm({
+ const { control, handleSubmit, reset, watch } = useForm({
defaultValues: {
x: sprite?.position.x || 0,
y: sprite?.position.y || 0,
@@ -79,14 +86,17 @@
return (
<Box component="form" onSubmit={handleSubmit(onFormSubmit)} noValidate sx={{ mt: 0 }}>
- <Grid container spacing={1}>
+ <Grid container spacing={2}>
{/* 浣嶇疆 */}
<Grid item xs={12}>
- <Typography variant="button">
+ <Typography variant="inherit">
{translate('page.map.settings.map.base.position')}
</Typography>
</Grid>
- <Grid item xs={6}>
+ <Grid item xs={6} pt={0} sx={{
+ paddingTop: '8px !important',
+ paddingLeft: '8px !important',
+ }}>
<Controller
name="x"
control={control}
@@ -97,14 +107,20 @@
type="number"
fullWidth
onChange={(e) => {
+ const value = parseFloat(e.target.value);
field.onChange(e);
- updateSprite({ ...watchAllFields, x: parseFloat(e.target.value) });
+ if (!isNaN(value)) {
+ updateSprite({ ...watchAllFields, x: value });
+ }
}}
/>
)}
/>
</Grid>
- <Grid item xs={6}>
+ <Grid item xs={6} sx={{
+ paddingTop: '8px !important',
+ paddingLeft: '8px !important',
+ }}>
<Controller
name="y"
control={control}
@@ -115,8 +131,11 @@
type="number"
fullWidth
onChange={(e) => {
+ const value = parseFloat(e.target.value);
field.onChange(e);
- updateSprite({ ...watchAllFields, y: parseFloat(e.target.value) });
+ if (!isNaN(value)) {
+ updateSprite({ ...watchAllFields, y: value });
+ }
}}
/>
)}
@@ -125,43 +144,55 @@
{/* 缂╂斁 */}
<Grid item xs={12}>
- <Typography variant="button">
+ <Typography variant="inherit">
{translate('page.map.settings.map.base.scale')}
</Typography>
</Grid>
- <Grid item xs={6}>
+ <Grid item xs={6} sx={{
+ paddingTop: '8px !important',
+ paddingLeft: '8px !important',
+ }}>
<Controller
name="scaleX"
control={control}
render={({ field }) => (
<TextField
{...field}
- label="Scale X"
+ label="X"
type="number"
fullWidth
inputProps={{ step: 0.1, min: 0.1, max: 10 }}
onChange={(e) => {
+ const value = parseFloat(e.target.value);
field.onChange(e);
- updateSprite({ ...watchAllFields, scaleX: parseFloat(e.target.value) });
+ if (!isNaN(value)) {
+ updateSprite({ ...watchAllFields, scaleX: value });
+ }
}}
/>
)}
/>
</Grid>
- <Grid item xs={6}>
+ <Grid item xs={6} sx={{
+ paddingTop: '8px !important',
+ paddingLeft: '8px !important',
+ }}>
<Controller
name="scaleY"
control={control}
render={({ field }) => (
<TextField
{...field}
- label="Scale Y"
+ label="Y"
type="number"
fullWidth
inputProps={{ step: 0.1, min: 0.1, max: 10 }}
onChange={(e) => {
+ const value = parseFloat(e.target.value);
field.onChange(e);
- updateSprite({ ...watchAllFields, scaleY: parseFloat(e.target.value) });
+ if (!isNaN(value)) {
+ updateSprite({ ...watchAllFields, scaleY: value });
+ }
}}
/>
)}
@@ -170,58 +201,71 @@
{/* 鏃嬭浆 */}
<Grid item xs={12}>
- <Typography variant="button">
+ <Typography variant="inherit">
{translate('page.map.settings.map.base.rotation')}
</Typography>
</Grid>
- <Grid item xs={8}>
- <Controller
- name="rotation"
- control={control}
- render={({ field }) => (
- <Slider
- {...field}
- min={0}
- max={360}
- step={1}
- marks={rotationMarks}
- valueLabelDisplay="auto"
- valueLabelFormat={(value) => `${value}掳`}
- onChange={(e, value) => {
- field.onChange(value);
- updateSprite({ ...watchAllFields, rotation: value });
- }}
+ <Grid item xs={12}>
+ <Box display="flex" alignItems="center">
+ <Box flex={1} mr={2}>
+ <Controller
+ name="rotation"
+ control={control}
+ render={({ field }) => (
+ <Slider
+ {...field}
+ size="small"
+ min={0}
+ max={360}
+ step={1}
+ valueLabelDisplay="auto"
+ valueLabelFormat={(value) => `${value}掳`}
+ onChange={(e, value) => {
+ field.onChange(value);
+ updateSprite({ ...watchAllFields, rotation: value });
+ }}
+ />
+ )}
/>
- )}
- />
+ </Box>
+ <Box width={80}>
+ <Controller
+ name="rotation"
+ control={control}
+ render={({ field }) => (
+ <TextField
+ {...field}
+ label=""
+ type="number"
+ fullWidth
+ inputProps={{ min: 0, max: 360 }}
+ onChange={(e) => {
+ const value = parseFloat(e.target.value);
+ if (!isNaN(value)) {
+ field.onChange(value);
+ updateSprite({ ...watchAllFields, rotation: value });
+ }
+ }}
+ />
+ )}
+ />
+ </Box>
+ </Box>
</Grid>
- <Grid item xs={4}>
- <Controller
- name="rotation"
- control={control}
- render={({ field }) => (
- <TextField
- {...field}
- label={`${translate('page.map.settings.map.base.rotation')} (掳)`}
- type="number"
- fullWidth
- inputProps={{ min: 0, max: 360 }}
- onChange={(e) => {
- field.onChange(e);
- updateSprite({ ...watchAllFields, rotation: parseFloat(e.target.value) });
- }}
- />
- )}
- />
+ <Grid item xs={12}>
+ <Divider />
</Grid>
{/* 澶嶅埗 */}
<Grid item xs={12}>
- <Typography variant="button">
+ <Typography variant="inherit">
{translate('page.map.settings.map.copy.title')}
</Typography>
</Grid>
- <Grid item xs={6}>
+ <Grid item xs={6} sx={{
+ paddingTop: '8px !important',
+ paddingLeft: '8px !important',
+ }}>
<Controller
name="copyDirection"
control={control}
@@ -251,7 +295,10 @@
)}
/>
</Grid>
- <Grid item xs={6}>
+ <Grid item xs={6} sx={{
+ paddingTop: '8px !important',
+ paddingLeft: '8px !important',
+ }}>
<Controller
name="copyCount"
control={control}
--
Gitblit v1.9.1