chore: update to component utils logic (#8086)
* update to component utils logic * Update data_operations.py * [autofix.ci] apply automated fixes * Update component_utils.py --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This commit is contained in:
parent
777200fab3
commit
d07d1d4bd9
2 changed files with 22 additions and 13 deletions
|
|
@ -7,7 +7,7 @@ from langflow.io import DataInput, Output
|
||||||
from langflow.logging import logger
|
from langflow.logging import logger
|
||||||
from langflow.schema import Data
|
from langflow.schema import Data
|
||||||
from langflow.schema.dotdict import dotdict
|
from langflow.schema.dotdict import dotdict
|
||||||
from langflow.utils.component_utils import set_current_fields
|
from langflow.utils.component_utils import set_current_fields, set_field_display
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from collections.abc import Callable
|
from collections.abc import Callable
|
||||||
|
|
@ -385,6 +385,7 @@ class DataOperationsComponent(Component):
|
||||||
action_fields=self.actions_data,
|
action_fields=self.actions_data,
|
||||||
selected_action=action,
|
selected_action=action,
|
||||||
default_fields=self.default_keys,
|
default_fields=self.default_keys,
|
||||||
|
func=set_field_display,
|
||||||
)
|
)
|
||||||
|
|
||||||
# Handle no operations case
|
# Handle no operations case
|
||||||
|
|
@ -395,6 +396,7 @@ class DataOperationsComponent(Component):
|
||||||
action_fields=self.actions_data,
|
action_fields=self.actions_data,
|
||||||
selected_action=None,
|
selected_action=None,
|
||||||
default_fields=self.default_keys,
|
default_fields=self.default_keys,
|
||||||
|
func=set_field_display,
|
||||||
)
|
)
|
||||||
|
|
||||||
return build_config
|
return build_config
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
from collections.abc import Callable
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from langflow.schema.dotdict import dotdict
|
from langflow.schema.dotdict import dotdict
|
||||||
|
|
@ -52,17 +53,17 @@ def update_input_types(build_config: dotdict) -> dotdict:
|
||||||
return build_config
|
return build_config
|
||||||
|
|
||||||
|
|
||||||
def set_field_display(build_config: dotdict, field: str, is_visible: bool | None = None) -> dotdict:
|
def set_field_display(build_config: dotdict, field: str, value: bool | None = None) -> dotdict:
|
||||||
"""Set whether a field should be displayed in the UI."""
|
"""Set whether a field should be displayed in the UI."""
|
||||||
if field in build_config and isinstance(build_config[field], dict) and "show" in build_config[field]:
|
if field in build_config and isinstance(build_config[field], dict) and "show" in build_config[field]:
|
||||||
build_config[field]["show"] = is_visible
|
build_config[field]["show"] = value
|
||||||
return build_config
|
return build_config
|
||||||
|
|
||||||
|
|
||||||
def set_multiple_field_display(
|
def set_multiple_field_display(
|
||||||
build_config: dotdict,
|
build_config: dotdict,
|
||||||
fields: dict[str, bool] | None = None,
|
fields: dict[str, bool] | None = None,
|
||||||
is_visible: bool | None = None,
|
value: bool | None = None,
|
||||||
field_list: list[str] | None = None,
|
field_list: list[str] | None = None,
|
||||||
) -> dotdict:
|
) -> dotdict:
|
||||||
"""Set display property for multiple fields at once."""
|
"""Set display property for multiple fields at once."""
|
||||||
|
|
@ -71,21 +72,23 @@ def set_multiple_field_display(
|
||||||
build_config = set_field_display(build_config, field, visibility)
|
build_config = set_field_display(build_config, field, visibility)
|
||||||
elif field_list is not None:
|
elif field_list is not None:
|
||||||
for field in field_list:
|
for field in field_list:
|
||||||
build_config = set_field_display(build_config, field, is_visible)
|
build_config = set_field_display(build_config, field, value)
|
||||||
return build_config
|
return build_config
|
||||||
|
|
||||||
|
|
||||||
def set_field_advanced(build_config: dotdict, field: str, is_advanced: bool | None = None) -> dotdict:
|
def set_field_advanced(build_config: dotdict, field: str, value: bool | None = None) -> dotdict:
|
||||||
"""Set whether a field is considered 'advanced' in the UI."""
|
"""Set whether a field is considered 'advanced' in the UI."""
|
||||||
|
if value is None:
|
||||||
|
value = False
|
||||||
if field in build_config and isinstance(build_config[field], dict):
|
if field in build_config and isinstance(build_config[field], dict):
|
||||||
build_config[field]["advanced"] = is_advanced
|
build_config[field]["advanced"] = value
|
||||||
return build_config
|
return build_config
|
||||||
|
|
||||||
|
|
||||||
def set_multiple_field_advanced(
|
def set_multiple_field_advanced(
|
||||||
build_config: dotdict,
|
build_config: dotdict,
|
||||||
fields: dict[str, bool] | None = None,
|
fields: dict[str, bool] | None = None,
|
||||||
is_advanced: bool | None = None,
|
value: bool | None = None,
|
||||||
field_list: list[str] | None = None,
|
field_list: list[str] | None = None,
|
||||||
) -> dotdict:
|
) -> dotdict:
|
||||||
"""Set advanced property for multiple fields at once."""
|
"""Set advanced property for multiple fields at once."""
|
||||||
|
|
@ -94,7 +97,7 @@ def set_multiple_field_advanced(
|
||||||
build_config = set_field_advanced(build_config, field, advanced)
|
build_config = set_field_advanced(build_config, field, advanced)
|
||||||
elif field_list is not None:
|
elif field_list is not None:
|
||||||
for field in field_list:
|
for field in field_list:
|
||||||
build_config = set_field_advanced(build_config, field, is_advanced)
|
build_config = set_field_advanced(build_config, field, value)
|
||||||
return build_config
|
return build_config
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -116,22 +119,26 @@ def set_current_fields(
|
||||||
action_fields: dict[str, list[str]],
|
action_fields: dict[str, list[str]],
|
||||||
selected_action: str | None = None,
|
selected_action: str | None = None,
|
||||||
default_fields: list[str] = DEFAULT_FIELDS,
|
default_fields: list[str] = DEFAULT_FIELDS,
|
||||||
|
func: Callable[[dotdict, str, bool], dotdict] = set_field_display,
|
||||||
|
default_value: bool | None = None,
|
||||||
) -> dotdict:
|
) -> dotdict:
|
||||||
"""Set the current fields for a selected action."""
|
"""Set the current fields for a selected action."""
|
||||||
# action_fields = {action1: [field1, field2], action2: [field3, field4]}
|
# action_fields = {action1: [field1, field2], action2: [field3, field4]}
|
||||||
# we need to show action of one field and disable the rest
|
# we need to show action of one field and disable the rest
|
||||||
|
if default_value is None:
|
||||||
|
default_value = False
|
||||||
if selected_action in action_fields:
|
if selected_action in action_fields:
|
||||||
for field in action_fields[selected_action]:
|
for field in action_fields[selected_action]:
|
||||||
build_config = set_field_display(build_config=build_config, field=field, is_visible=True)
|
build_config = func(build_config, field, not default_value)
|
||||||
for key, value in action_fields.items():
|
for key, value in action_fields.items():
|
||||||
if key != selected_action:
|
if key != selected_action:
|
||||||
for field in value:
|
for field in value:
|
||||||
build_config = set_field_display(build_config=build_config, field=field, is_visible=False)
|
build_config = func(build_config, field, default_value)
|
||||||
if selected_action is None:
|
if selected_action is None:
|
||||||
for value in action_fields.values():
|
for value in action_fields.values():
|
||||||
for field in value:
|
for field in value:
|
||||||
build_config = set_field_display(build_config=build_config, field=field, is_visible=False)
|
build_config = func(build_config, field, default_value)
|
||||||
if default_fields is not None:
|
if default_fields is not None:
|
||||||
for field in default_fields:
|
for field in default_fields:
|
||||||
build_config = set_field_display(build_config=build_config, field=field, is_visible=True)
|
build_config = func(build_config, field, not default_value)
|
||||||
return build_config
|
return build_config
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue