view 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 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
)