Remove unused full_control
related code (#1624)
* remove full_control related code * remove more unused code
This commit is contained in:
parent
0be5d670ed
commit
fd4a6257c3
@ -3,7 +3,6 @@
|
|||||||
from jinja2 import Environment, FileSystemLoader, Template
|
from jinja2 import Environment, FileSystemLoader, Template
|
||||||
|
|
||||||
from reflex import constants
|
from reflex import constants
|
||||||
from reflex.utils import path_ops
|
|
||||||
from reflex.utils.format import json_dumps
|
from reflex.utils.format import json_dumps
|
||||||
|
|
||||||
|
|
||||||
@ -79,13 +78,3 @@ COMPONENTS = get_template("web/pages/custom_component.js.jinja2")
|
|||||||
|
|
||||||
# Sitemap config file.
|
# Sitemap config file.
|
||||||
SITEMAP_CONFIG = "module.exports = {config}".format
|
SITEMAP_CONFIG = "module.exports = {config}".format
|
||||||
|
|
||||||
FULL_CONTROL = path_ops.join(
|
|
||||||
[
|
|
||||||
"{{setState(prev => ({{",
|
|
||||||
"...prev,{state_name}: {arg}",
|
|
||||||
"}}), ",
|
|
||||||
"()=>Event([{chain}])",
|
|
||||||
")}}",
|
|
||||||
]
|
|
||||||
).format
|
|
||||||
|
@ -160,12 +160,8 @@ class Component(Base, ABC):
|
|||||||
|
|
||||||
# Check if the key is an event trigger.
|
# Check if the key is an event trigger.
|
||||||
if key in triggers:
|
if key in triggers:
|
||||||
state_name = kwargs["value"].name if kwargs.get("value", False) else ""
|
|
||||||
# Temporarily disable full control for event triggers.
|
# Temporarily disable full control for event triggers.
|
||||||
full_control = False
|
kwargs["event_triggers"][key] = self._create_event_chain(key, value)
|
||||||
kwargs["event_triggers"][key] = self._create_event_chain(
|
|
||||||
key, value, state_name, full_control
|
|
||||||
)
|
|
||||||
|
|
||||||
# Remove any keys that were added as events.
|
# Remove any keys that were added as events.
|
||||||
for key in kwargs["event_triggers"]:
|
for key in kwargs["event_triggers"]:
|
||||||
@ -200,16 +196,12 @@ class Component(Base, ABC):
|
|||||||
value: Union[
|
value: Union[
|
||||||
Var, EventHandler, EventSpec, List[Union[EventHandler, EventSpec]], Callable
|
Var, EventHandler, EventSpec, List[Union[EventHandler, EventSpec]], Callable
|
||||||
],
|
],
|
||||||
state_name: str = "",
|
|
||||||
full_control: bool = False,
|
|
||||||
) -> Union[EventChain, Var]:
|
) -> Union[EventChain, Var]:
|
||||||
"""Create an event chain from a variety of input types.
|
"""Create an event chain from a variety of input types.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
event_trigger: The event trigger to bind the chain to.
|
event_trigger: The event trigger to bind the chain to.
|
||||||
value: The value to create the event chain from.
|
value: The value to create the event chain from.
|
||||||
state_name: The state to be fully controlled.
|
|
||||||
full_control: Whether full controlled or not.
|
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
The event chain.
|
The event chain.
|
||||||
@ -278,13 +270,8 @@ class Component(Base, ABC):
|
|||||||
for e in events
|
for e in events
|
||||||
]
|
]
|
||||||
|
|
||||||
# set state name when fully controlled input
|
|
||||||
state_name = state_name if full_control else ""
|
|
||||||
|
|
||||||
# Return the event chain.
|
# Return the event chain.
|
||||||
return EventChain(
|
return EventChain(events=events)
|
||||||
events=events, state_name=state_name, full_control=full_control
|
|
||||||
)
|
|
||||||
|
|
||||||
def get_triggers(self) -> Set[str]:
|
def get_triggers(self) -> Set[str]:
|
||||||
"""Get the event triggers for the component.
|
"""Get the event triggers for the component.
|
||||||
@ -601,27 +588,6 @@ class Component(Base, ABC):
|
|||||||
"""
|
"""
|
||||||
return ImportVar(tag=self.tag, is_default=self.is_default, alias=self.alias)
|
return ImportVar(tag=self.tag, is_default=self.is_default, alias=self.alias)
|
||||||
|
|
||||||
def is_full_control(self, kwargs: dict) -> bool:
|
|
||||||
"""Return if the component is fully controlled input.
|
|
||||||
|
|
||||||
Args:
|
|
||||||
kwargs: The component kwargs.
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
Whether fully controlled.
|
|
||||||
"""
|
|
||||||
value = kwargs.get("value")
|
|
||||||
if value is None or type(value) != BaseVar:
|
|
||||||
return False
|
|
||||||
|
|
||||||
on_change = kwargs.get("on_change")
|
|
||||||
if on_change is None or type(on_change) != EventHandler:
|
|
||||||
return False
|
|
||||||
|
|
||||||
value = value.full_name
|
|
||||||
on_change = on_change.fn.__qualname__
|
|
||||||
return value == on_change.replace(constants.SETTER_PREFIX, "")
|
|
||||||
|
|
||||||
|
|
||||||
# Map from component to styling.
|
# Map from component to styling.
|
||||||
ComponentStyle = Dict[Union[str, Type[Component]], Any]
|
ComponentStyle = Dict[Union[str, Type[Component]], Any]
|
||||||
|
@ -78,14 +78,7 @@ class Tag(Base):
|
|||||||
|
|
||||||
# Handle event props.
|
# Handle event props.
|
||||||
elif isinstance(prop, EventChain):
|
elif isinstance(prop, EventChain):
|
||||||
if prop.full_control:
|
chain = ",".join([format.format_event(event) for event in prop.events])
|
||||||
# Full control component events.
|
|
||||||
event = format.format_full_control_event(prop)
|
|
||||||
else:
|
|
||||||
# All other events.
|
|
||||||
chain = ",".join(
|
|
||||||
[format.format_event(event) for event in prop.events]
|
|
||||||
)
|
|
||||||
event = f"Event([{chain}], {EVENT_ARG})"
|
event = f"Event([{chain}], {EVENT_ARG})"
|
||||||
prop = f"{EVENT_ARG} => {event}"
|
prop = f"{EVENT_ARG} => {event}"
|
||||||
|
|
||||||
|
@ -107,12 +107,6 @@ class EventChain(Base):
|
|||||||
|
|
||||||
events: List[EventSpec]
|
events: List[EventSpec]
|
||||||
|
|
||||||
# Whether events are in fully controlled input.
|
|
||||||
full_control: bool = False
|
|
||||||
|
|
||||||
# State name when fully controlled.
|
|
||||||
state_name: str = ""
|
|
||||||
|
|
||||||
|
|
||||||
class Target(Base):
|
class Target(Base):
|
||||||
"""A Javascript event target."""
|
"""A Javascript event target."""
|
||||||
|
@ -19,7 +19,7 @@ from reflex.utils import types
|
|||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from reflex.components.component import ComponentStyle
|
from reflex.components.component import ComponentStyle
|
||||||
from reflex.event import EventChain, EventHandler, EventSpec
|
from reflex.event import EventHandler, EventSpec
|
||||||
|
|
||||||
WRAP_MAP = {
|
WRAP_MAP = {
|
||||||
"{": "}",
|
"{": "}",
|
||||||
@ -311,25 +311,6 @@ def format_event(event_spec: EventSpec) -> str:
|
|||||||
return f"E({', '.join(event_args)})"
|
return f"E({', '.join(event_args)})"
|
||||||
|
|
||||||
|
|
||||||
def format_full_control_event(event_chain: EventChain) -> str:
|
|
||||||
"""Format a fully controlled input prop.
|
|
||||||
|
|
||||||
Args:
|
|
||||||
event_chain: The event chain for full controlled input.
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
The compiled event.
|
|
||||||
"""
|
|
||||||
from reflex.compiler import templates
|
|
||||||
|
|
||||||
event_spec = event_chain.events[0]
|
|
||||||
arg = event_spec.args[0][1] if event_spec.args else None
|
|
||||||
state_name = event_chain.state_name
|
|
||||||
chain = ",".join([format_event(event) for event in event_chain.events])
|
|
||||||
event = templates.FULL_CONTROL(state_name=state_name, arg=arg, chain=chain)
|
|
||||||
return event
|
|
||||||
|
|
||||||
|
|
||||||
def format_query_params(router_data: Dict[str, Any]) -> Dict[str, str]:
|
def format_query_params(router_data: Dict[str, Any]) -> Dict[str, str]:
|
||||||
"""Convert back query params name to python-friendly case.
|
"""Convert back query params name to python-friendly case.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user