diff libervia/web/pages/chat/select/_browser/__init__.py @ 1593:c6976c5b85a1

browser (chat/select): add bookmarked entities on empty search
author Goffi <goffi@goffi.org>
date Mon, 11 Dec 2023 00:43:06 +0100
parents 66aa6e140ebb
children
line wrap: on
line diff
--- a/libervia/web/pages/chat/select/_browser/__init__.py	Sun Dec 10 18:33:00 2023 +0100
+++ b/libervia/web/pages/chat/select/_browser/__init__.py	Mon Dec 11 00:43:06 2023 +0100
@@ -1,13 +1,31 @@
 
 from bridge import AsyncBridge as Bridge
-from browser import console as log, document, window
+from browser import console as log, document
 from cache import cache
 from jid_search import JidSearch
 
+bridge = Bridge()
 log.warning = log.warn
 
 
+async def empty_search(jid_search):
+    # FIXME: this is Q&D way to add bookmarks, a proper handling of joined room must be
+    #   done
+    items = [
+        {
+            "entity": jid_,
+            "groups": data["groups"]
+        }
+        for jid_, data in cache.roster.items()
+    ]
+    bookmarks = await bridge.bookmarks_list("muc", "all")
+    for bm_values in list(bookmarks.values()):
+        for room_jid, room_data in bm_values.items():
+            items.append({"entity": room_jid})
+    jid_search.show_items(items)
+
 jid_search = JidSearch(
     document["search"],
     document["chat_items"],
+    empty_cb = empty_search
 )