mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-08 00:39:50 +03:00
add writeable checkbox to custom entities
This commit is contained in:
@@ -10,8 +10,8 @@ import {
|
||||
DialogActions,
|
||||
DialogContent,
|
||||
DialogTitle,
|
||||
TextField,
|
||||
MenuItem,
|
||||
Checkbox,
|
||||
InputAdornment
|
||||
} from '@mui/material';
|
||||
|
||||
@@ -26,7 +26,14 @@ import CancelIcon from '@mui/icons-material/Cancel';
|
||||
import DoneIcon from '@mui/icons-material/Done';
|
||||
import AddIcon from '@mui/icons-material/Add';
|
||||
|
||||
import { ValidatedTextField, ButtonRow, FormLoader, SectionContent, BlockNavigation } from 'components';
|
||||
import {
|
||||
ValidatedTextField,
|
||||
ButtonRow,
|
||||
FormLoader,
|
||||
SectionContent,
|
||||
BlockNavigation,
|
||||
BlockFormControlLabel
|
||||
} from 'components';
|
||||
|
||||
import { DeviceValueUOM_s, EntityItem } from './types';
|
||||
import { extractErrorMessage, updateValue } from 'utils';
|
||||
@@ -54,6 +61,7 @@ const SettingsEntities: FC = () => {
|
||||
uom: 0,
|
||||
val_type: 2,
|
||||
name: '',
|
||||
write: false,
|
||||
deleted: false
|
||||
};
|
||||
const [entity, setEntity] = useState<EntityItem[]>([emptyEntity]);
|
||||
@@ -142,6 +150,7 @@ const SettingsEntities: FC = () => {
|
||||
o_uom: ei.uom,
|
||||
o_val_type: ei.val_type,
|
||||
o_name: ei.name,
|
||||
o_write: ei.write,
|
||||
o_deleted: ei.deleted
|
||||
}))
|
||||
);
|
||||
@@ -156,6 +165,7 @@ const SettingsEntities: FC = () => {
|
||||
ei.uom !== ei.o_uom ||
|
||||
ei.factor !== ei.o_factor ||
|
||||
ei.val_type !== ei.o_val_type ||
|
||||
ei.write !== ei.o_write ||
|
||||
ei.deleted !== ei.o_deleted
|
||||
);
|
||||
}
|
||||
@@ -181,7 +191,8 @@ const SettingsEntities: FC = () => {
|
||||
factor: condensed_ei.factor,
|
||||
val_type: condensed_ei.val_type,
|
||||
uom: condensed_ei.uom,
|
||||
name: condensed_ei.name
|
||||
name: condensed_ei.name,
|
||||
write: condensed_ei.write
|
||||
};
|
||||
})
|
||||
});
|
||||
@@ -306,7 +317,7 @@ const SettingsEntities: FC = () => {
|
||||
<Box flexWrap="nowrap" whiteSpace="nowrap"></Box>
|
||||
</Box>
|
||||
<Grid container spacing={2}>
|
||||
<Grid item xs={12}>
|
||||
<Grid item xs={8}>
|
||||
<ValidatedTextField
|
||||
fieldErrors={fieldErrors}
|
||||
name="name"
|
||||
@@ -317,6 +328,14 @@ const SettingsEntities: FC = () => {
|
||||
onChange={updateValue(setEntityItem)}
|
||||
/>
|
||||
</Grid>
|
||||
<Grid item xs={4}>
|
||||
<BlockFormControlLabel
|
||||
control={
|
||||
<Checkbox checked={entityItem.write} onChange={updateValue(setEntityItem)} name="write" />
|
||||
}
|
||||
label={LL.WRITEABLE()}
|
||||
/>
|
||||
</Grid>
|
||||
<Grid item xs={4}>
|
||||
<ValidatedTextField
|
||||
name="device_id"
|
||||
|
||||
@@ -356,6 +356,8 @@ export interface EntityItem {
|
||||
o_val_type?: number;
|
||||
deleted?: boolean; // optional
|
||||
o_deleted?: boolean;
|
||||
write: boolean;
|
||||
o_write?: boolean;
|
||||
}
|
||||
|
||||
export interface Entities {
|
||||
|
||||
Reference in New Issue
Block a user