diff --git a/front/src/components/boxs/device-in-room/DeviceRow.jsx b/front/src/components/boxs/device-in-room/DeviceRow.jsx index 7f631e4e1c..842cf68e5f 100644 --- a/front/src/components/boxs/device-in-room/DeviceRow.jsx +++ b/front/src/components/boxs/device-in-room/DeviceRow.jsx @@ -14,6 +14,8 @@ import SetpointDeviceFeature from './device-features/SetpointDeviceFeature'; import AirConditioningModeDeviceFeature from './device-features/AirConditioningModeDeviceFeature'; import PilotWireModeDeviceFeature from './device-features/PilotWireModeDeviceFeature'; import LMHVolumeDeviceFeature from './device-features/LMHVolumeDeviceFeature'; +import SirenModeDeviceFeature from './device-features/SirenModeDeviceFeature'; +import SirenLevelDeviceFeature from './device-features/SirenLevelDeviceFeature'; import PushDeviceFeature from './device-features/PushDeviceFeature'; const ROW_TYPE_BY_FEATURE_TYPE = { @@ -34,6 +36,11 @@ const ROW_TYPE_BY_FEATURE_TYPE = { [DEVICE_FEATURE_TYPES.HEATER.PILOT_WIRE_MODE]: PilotWireModeDeviceFeature, [DEVICE_FEATURE_TYPES.LOCK.BINARY]: BinaryDeviceFeature, [DEVICE_FEATURE_TYPES.SIREN.LMH_VOLUME]: LMHVolumeDeviceFeature, + [DEVICE_FEATURE_TYPES.SIREN.MODE]: SirenModeDeviceFeature, + [DEVICE_FEATURE_TYPES.SIREN.LEVEL]: SirenLevelDeviceFeature, + [DEVICE_FEATURE_TYPES.SIREN.STROBE_LEVEL]: SirenLevelDeviceFeature, + [DEVICE_FEATURE_TYPES.SIREN.STROBE]: BinaryDeviceFeature, + [DEVICE_FEATURE_TYPES.SIREN.STROBE_DUTY_CYCLE]: NumberDeviceFeature, [DEVICE_FEATURE_TYPES.SIREN.MELODY]: NumberDeviceFeature, [DEVICE_FEATURE_TYPES.DURATION.DECIMAL]: MultiLevelDeviceFeature, [DEVICE_FEATURE_TYPES.BUTTON.PUSH]: PushDeviceFeature, diff --git a/front/src/components/boxs/device-in-room/device-features/SirenLevelDeviceFeature.jsx b/front/src/components/boxs/device-in-room/device-features/SirenLevelDeviceFeature.jsx new file mode 100644 index 0000000000..164cf8389e --- /dev/null +++ b/front/src/components/boxs/device-in-room/device-features/SirenLevelDeviceFeature.jsx @@ -0,0 +1,46 @@ +import get from 'get-value'; +import { Text } from 'preact-i18n'; + +import { DeviceFeatureCategoriesIcon } from '../../../../utils/consts'; +import { SIREN_LMH_VOLUME } from '../../../../../../server/utils/constants'; + +const SirenLevelDeviceFeature = ({ children, ...props }) => { + const { deviceFeature } = props; + const { category, type } = deviceFeature; + + function updateValue(e) { + props.updateValueWithDebounce(deviceFeature, e.currentTarget.value); + } + + return ( +