Long-press menu: Move up / Move down / Edit / Delete.
(header: str, index: int)
| 389 | print("move_task error:", ex) |
| 390 | |
| 391 | def open_task_actions(header: str, index: int): |
| 392 | """Long-press menu: Move up / Move down / Edit / Delete.""" |
| 393 | total = len(system_data.get(header, [])) |
| 394 | is_first = index == 0 |
| 395 | is_last = index == total - 1 |
| 396 | |
| 397 | def do_clone(ev): |
| 398 | close_current_dialog() |
| 399 | clone_task(header, index) |
| 400 | show_system(system_name) |
| 401 | |
| 402 | def do_move_up(ev): |
| 403 | close_current_dialog() |
| 404 | move_task(header, index, -1) |
| 405 | show_system(system_name) |
| 406 | |
| 407 | def do_move_down(ev): |
| 408 | close_current_dialog() |
| 409 | move_task(header, index, +1) |
| 410 | show_system(system_name) |
| 411 | |
| 412 | def do_edit(ev): |
| 413 | close_current_dialog() |
| 414 | edit_task(header, index) |
| 415 | |
| 416 | def do_delete(ev): |
| 417 | close_current_dialog() |
| 418 | delete_task(header, index) |
| 419 | |
| 420 | def do_cancel(ev): |
| 421 | close_current_dialog() |
| 422 | |
| 423 | dlg = ft.AlertDialog( |
| 424 | modal=True, |
| 425 | title=ft.Text("Task actions"), |
| 426 | actions=[ |
| 427 | ft.TextButton( |
| 428 | "Move up", |
| 429 | icon=ft.Icons.ARROW_UPWARD, |
| 430 | on_click=do_move_up, |
| 431 | disabled=is_first, |
| 432 | ), |
| 433 | ft.TextButton( |
| 434 | "Move down", |
| 435 | icon=ft.Icons.ARROW_DOWNWARD, |
| 436 | on_click=do_move_down, |
| 437 | disabled=is_last, |
| 438 | ), |
| 439 | ft.TextButton("Edit", on_click=do_edit), |
| 440 | ft.TextButton( |
| 441 | "Clone", |
| 442 | icon=ft.Icons.CONTENT_COPY, |
| 443 | on_click=do_clone, |
| 444 | ), |
| 445 | ft.TextButton( |
| 446 | "Delete", |
| 447 | icon=ft.Icons.DELETE_OUTLINE, |
| 448 | on_click=do_delete, |
no test coverage detected
searching dependent graphs…