Mercurial > libervia-web
changeset 1628:84e287565fab
browser (chat): show origin in message, and activate suitable side panel on click:
Message origin is show with a tag below message header. If the message is from a bot,
another "bot" tag is added.
rel 459
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 08 Jun 2025 17:29:10 +0200 |
parents | 61449c5ddd70 |
children | 961468588131 |
files | libervia/web/pages/chat/_browser/__init__.py |
diffstat | 1 files changed, 21 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/libervia/web/pages/chat/_browser/__init__.py Sun Jun 08 17:27:44 2025 +0200 +++ b/libervia/web/pages/chat/_browser/__init__.py Sun Jun 08 17:29:10 2025 +0200 @@ -958,6 +958,17 @@ sub_messages_check_cb ) + async def _on_origin_click(self, origin_elt) -> None: + origin = origin_elt.dataset["type"] + label = origin_elt.text + def sub_messages_check_cb(extra: dict) -> bool: + return origin in extra.get("origins", []) + await self.show_filtered_messages( + {"origin": origin}, + {"title": f"{label} messages."}, + sub_messages_check_cb + ) + async def get_message_tuple(self, message_elt) -> tuple|None: """Retrieve message tuple from as sent by [message_new] @@ -1127,6 +1138,16 @@ ) ) + ## origin + for origin_elt in parent_elt.select(".message-origin"): + origin_elt.bind( + "click", + lambda __, origin_elt=origin_elt: aio.run( + self._on_origin_click(origin_elt) + ) + ) + + def add_reactions_listeners(self, parent_elt=None) -> None: """Add listener on reactions to handle details and reaction toggle"""