Przeglądaj źródła

ResizeObserver

master
Roderic Day 5 lat temu
rodzic
commit
e96b672342
1 zmienionych plików z 7 dodań i 1 usunięć
  1. +7
    -1
      pico.js

+ 7
- 1
pico.js Wyświetl plik

@@ -181,6 +181,7 @@ const hotKey = (e) => {
}
}
const Video = {
keepRatio: {observe: () => {}},
appendStream: ({username, stream}) => ({dom}) => {
dom.autoplay = true
dom.muted = (username === State.username)
@@ -189,7 +190,7 @@ const Video = {
},
view({attrs}) {
const rpc = State.rpcs[attrs.username] || {iceConnectionState: m.trust(' ')}
return m('.video-container',
return m('.video-container', {oncreate: ({dom}) => Video.keepRatio.observe(dom)},
m('.video-meta',
m('.video-source', attrs.username),
m('.video-state', rpc.iceConnectionState),
@@ -198,6 +199,11 @@ const Video = {
)
},
}
if(window.ResizeObserver) {
const doOne = ({target}) => target.style.width = `${target.clientHeight}px`
const doAll = (entries) => entries.forEach(doOne)
Video.keepRatio = new ResizeObserver(doAll)
}
const Media = {
videoSources: ['camera', 'screen', 'none'],
audioDefaults: {

Ładowanie…
Anuluj
Zapisz