diff --git a/frontend/src/Editor/Components/Toggle.jsx b/frontend/src/Editor/Components/Toggle.jsx index 60a4a19d2e..b20d306bd4 100644 --- a/frontend/src/Editor/Components/Toggle.jsx +++ b/frontend/src/Editor/Components/Toggle.jsx @@ -1,5 +1,4 @@ -import React from 'react'; -import { resolveReferences, resolveWidgetFieldValue } from '@/_helpers/utils'; +import React, { useEffect } from 'react'; class Switch extends React.Component { render() { @@ -24,58 +23,35 @@ class Switch extends React.Component { } } -export const ToggleSwitch = ({ - id, - height, - component, - onComponentClick, - currentState, - onComponentOptionChanged, - onEvent, -}) => { +export const ToggleSwitch = ({ height, properties, styles, fireEvent, setExposedVariable }) => { const [on, setOn] = React.useState(false); - const label = component.definition.properties.label.value; - const textColorProperty = component.definition.styles.textColor; - const toggleSwitchColorProperty = component.definition.styles.toggleSwitchColor; - const toggleSwitchColor = toggleSwitchColorProperty ? toggleSwitchColorProperty.value : '#3c92dc'; - const textColor = textColorProperty ? textColorProperty.value : '#000'; - const widgetVisibility = component.definition.styles.visibility?.value ?? true; - const disabledState = component.definition.styles.disabledState?.value ?? false; + const label = properties.label; - const parsedDisabledState = - typeof disabledState !== 'boolean' ? resolveWidgetFieldValue(disabledState, currentState) : disabledState; - - let parsedWidgetVisibility = widgetVisibility; - - try { - parsedWidgetVisibility = resolveReferences(parsedWidgetVisibility, currentState, []); - } catch (err) { - console.log(err); - } + const { visibility, disabledState, toggleSwitchColor, textColor } = styles; function toggleValue(e) { const toggled = e.target.checked; - onComponentOptionChanged(component, 'value', toggled); - onEvent('onChange', { component }); + setExposedVariable('value', toggled); + fireEvent('onChange'); } + // Exposing the initially set false value once on load + useEffect(() => { + console.log('shashi'); + setExposedVariable('value', false); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + const toggle = () => setOn(!on); return ( -
{ - event.stopPropagation(); - onComponentClick(id, component, event); - }} - > +
{label}