|
19 | 19 | ScrollMode, |
20 | 20 | ) |
21 | 21 | from flet.control_event import ControlEvent |
| 22 | +from flet.event_handler import EventHandler |
22 | 23 | from flet.floating_action_button import FloatingActionButton |
23 | 24 | from flet.protocol import Command |
24 | 25 | from flet.pubsub import PubSub |
@@ -57,6 +58,15 @@ def __init__(self, conn: Connection, session_id): |
57 | 58 | self.__dark_theme = None |
58 | 59 | self.__pubsub = PubSub(conn.pubsubhub, session_id) |
59 | 60 |
|
| 61 | + self.__on_close = EventHandler() |
| 62 | + self._add_event_handler("close", self.__on_close.handler) |
| 63 | + self.__on_resize = EventHandler() |
| 64 | + self._add_event_handler("resize", self.__on_resize.handler) |
| 65 | + self.__on_connect = EventHandler() |
| 66 | + self._add_event_handler("connect", self.__on_connect.handler) |
| 67 | + self.__on_disconnect = EventHandler() |
| 68 | + self._add_event_handler("disconnect", self.__on_disconnect.handler) |
| 69 | + |
60 | 70 | def __enter__(self): |
61 | 71 | return self |
62 | 72 |
|
@@ -505,38 +515,38 @@ def window_height(self): |
505 | 515 | # on_close |
506 | 516 | @property |
507 | 517 | def on_close(self): |
508 | | - return self._get_event_handler("close") |
| 518 | + return self.__on_close |
509 | 519 |
|
510 | 520 | @on_close.setter |
511 | 521 | def on_close(self, handler): |
512 | | - self._add_event_handler("close", handler) |
| 522 | + self.__on_close.subscribe(handler) |
513 | 523 |
|
514 | 524 | # on_resize |
515 | 525 | @property |
516 | 526 | def on_resize(self): |
517 | | - return self._get_event_handler("resize") |
| 527 | + return self.__on_resize |
518 | 528 |
|
519 | 529 | @on_resize.setter |
520 | 530 | def on_resize(self, handler): |
521 | | - self._add_event_handler("resize", handler) |
| 531 | + self.__on_resize.subscribe(handler) |
522 | 532 |
|
523 | 533 | # on_connect |
524 | 534 | @property |
525 | 535 | def on_connect(self): |
526 | | - return self._get_event_handler("connect") |
| 536 | + return self.__on_connect |
527 | 537 |
|
528 | 538 | @on_connect.setter |
529 | 539 | def on_connect(self, handler): |
530 | | - self._add_event_handler("connect", handler) |
| 540 | + self.__on_connect.subscribe(handler) |
531 | 541 |
|
532 | 542 | # on_disconnect |
533 | 543 | @property |
534 | 544 | def on_disconnect(self): |
535 | | - return self._get_event_handler("disconnect") |
| 545 | + return self.__on_disconnect |
536 | 546 |
|
537 | 547 | @on_disconnect.setter |
538 | 548 | def on_disconnect(self, handler): |
539 | | - self._add_event_handler("disconnect", handler) |
| 549 | + self.__on_disconnect.subscribe(handler) |
540 | 550 |
|
541 | 551 |
|
542 | 552 | class Offstage(Control): |
|
0 commit comments