Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Determine in which direction the Dismissible was dismissed #2330

Merged
merged 2 commits into from
Jan 8, 2024

Conversation

ndonkoHenri
Copy link
Contributor

Closes #2329

Code:

import flet as ft

def main(page):
    page.window_height, page.window_width = 370, 400
    page.theme_mode = ft.ThemeMode.LIGHT

    def handle_dismiss(e):
        lv.controls.remove(e.control)
        print(e.data)
        page.show_snack_bar(
            ft.SnackBar(
                content=ft.Text(f"Tile was dismissed in the {'right' if e.data == ft.DismissDirection.START_TO_END.value else 'left'} direction!"),
                behavior=ft.SnackBarBehavior.FLOATING,
            )
        )
        page.update()

    page.add(
        lv := ft.ListView(
            controls=[
                ft.Dismissible(
                    content=ft.ListTile(title=ft.Text(f"Item {i}")),
                    dismiss_direction=ft.DismissDirection.HORIZONTAL,
                    background=ft.Container(bgcolor=ft.colors.GREEN),
                    secondary_background=ft.Container(bgcolor=ft.colors.RED),
                    on_dismiss=handle_dismiss,
                    dismiss_thresholds={
                        ft.DismissDirection.HORIZONTAL: 0.1,
                        ft.DismissDirection.START_TO_END: 0.1
                    }
                )
                for i in range(5)
            ]
        )
    )


ft.app(target=main)

@FeodorFitsner
Copy link
Contributor

Would you like to implement a "strongly-typed" event handler like, for example, Container.on_click: https://github.com/flet-dev/flet/blob/main/sdk/python/packages/flet-core/src/flet_core/container.py#L160-L165

so we have DismissibleDismissEvent with direction property of DismissDirection enum type, instead of working with string in e.data?

@FeodorFitsner FeodorFitsner merged commit 04de385 into main Jan 8, 2024
@ndonkoHenri ndonkoHenri deleted the dismissible-fix branch January 9, 2024 22:53
zrr1999 pushed a commit to zrr1999/flet that referenced this pull request Jul 17, 2024
…v#2330)

* pass DismissDirection as e.data

* add DismissibleDismissEvent
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Direction in which the Dismissible is dismissed
2 participants