view libervia/web/pages/_browser/tmp_aio.py @ 1616:6bfeb9f0fb84

browser (calls): conferences implementation: - Handle A/V conferences calls creation/joining by entering a conference room JID in the search box. - Group call box has been improved and is used both for group calls (small number of participants) and A/V conferences (larger number of participants). - Fullscreen button for group call is working. - Avatar/user nickname are shown in group call on peer user, as an overlay on video stream. - Use `user` metadata when present to display the right user avatar/name when receiving a stream from SFU (i.e. A/V conference). - Peer user have a new 3 dots menu with a `pin` item to (un)pin it (i.e. display it on full container with on top). - Updated webrtc to handle unidirectional streams correctly and to adapt to A/V conference specification. rel 448
author Goffi <goffi@goffi.org>
date Wed, 07 Aug 2024 00:01:57 +0200
parents eb00d593801d
children
line wrap: on
line source

from browser import window

"""Q&D module to do ajax requests with data types currently unsupported by Brython"""
# FIXME: remove this module when official aio module allows to work with blobs

window.eval("""
var _tmp_ajax = function(method, url, format, data){
    return new Promise(function(resolve, reject){
        var xhr = new XMLHttpRequest()
        xhr.open(method, url, true)
        xhr.responseType = format
        xhr.onreadystatechange = function(){
            if(this.readyState == 4){
                resolve(this)
            }
        }
        if(data){
            xhr.send(data)
        }else{
            xhr.send()
        }
    })
}
""")

ajax = window._tmp_ajax