view libervia/web/pages/chat/select/_browser/__init__.py @ 1611:b695b98851fc

pages (events/new): use coroutines.
author Goffi <goffi@goffi.org>
date Wed, 12 Jun 2024 23:09:49 +0200
parents c6976c5b85a1
children
line wrap: on
line source


from bridge import AsyncBridge as Bridge
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
)