fufuShih commented on issue #65007:
URL: https://github.com/apache/airflow/issues/65007#issuecomment-4230852136
I used a minimal fake provider to try to reproduce this issue.
```text
dev/fake_dropdown_provider/
└── src/airflow/providers/fake_dropdown/
├── __init__.py
├── get_provider_info.py
└── hooks/
├── __init__.py
└── fake_hook.py
```
`fake_hook.py`
```python
from __future__ import annotations
from typing import Any
from airflow.hooks.base import BaseHook
MANY_OPTIONS = [
"option_1",
"option_2",
"option_3",
"option_4",
"option_5",
"option_6",
"option_7",
"option_8",
"option_9",
"option_10",
"option_11",
"option_12",
]
class FakeDropdownHook(BaseHook):
conn_name_attr = "fake_conn_id"
default_conn_name = "fake_default"
conn_type = "fake_dropdown"
hook_name = "Fake Dropdown (Bug Repro)"
def get_conn(self):
pass
@classmethod
def get_ui_field_behaviour(cls) -> dict[str, Any]:
return {
"hidden_fields": ["schema", "extra"],
"relabeling": {},
}
@classmethod
def get_connection_form_widgets(cls) -> dict[str, Any]:
from flask_appbuilder.fieldwidgets import BS3TextFieldWidget
from flask_babel import lazy_gettext
from wtforms import StringField
from wtforms.validators import any_of
return {
"dropdown_field": StringField(
lazy_gettext("Pick an option"),
validators=[any_of(MANY_OPTIONS)],
widget=BS3TextFieldWidget(),
default=MANY_OPTIONS[0],
),
}
```
`get_provider_info.py`
```python
def get_provider_info():
return {
"package-name": "airflow-provider-fake-dropdown",
"name": "Fake Dropdown",
"description": "Fake provider to reproduce dropdown clipping bug.",
"connection-types": [
{
"hook-class-name":
"airflow.providers.fake_dropdown.hooks.fake_hook.FakeDropdownHook",
"connection-type": "fake_dropdown",
}
],
"versions": ["1.0.0"],
}
```
https://github.com/user-attachments/assets/84ada2ef-0cc3-4690-8e98-0a8bdbd64daf
It looks like it was caused by overflow/clipping inside the Accordion
content area.
> I have two possible ideas for fixing it. I think the second one might be
better, since it gives us more control over where the change applies:
>
> 1. Handle it in `ItemContent` with CSS, checking for `data-state="open"`
and adjusting the overflow
> 2. Expose an extra prop on the component so specific cases can choose to
use `overflow: visible`
Would it be possible to assign this issue to me? I’d like to give fixing it
a try.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]