浏览代码

ResizeObserver

master
Roderic Day 6 年前
父节点
当前提交
e96b672342
共有 1 个文件被更改,包括 7 次插入1 次删除
  1. +7
    -1
      pico.js

+ 7
- 1
pico.js 查看文件

} }
} }
const Video = { const Video = {
keepRatio: {observe: () => {}},
appendStream: ({username, stream}) => ({dom}) => { appendStream: ({username, stream}) => ({dom}) => {
dom.autoplay = true dom.autoplay = true
dom.muted = (username === State.username) dom.muted = (username === State.username)
}, },
view({attrs}) { view({attrs}) {
const rpc = State.rpcs[attrs.username] || {iceConnectionState: m.trust(' ')} 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-meta',
m('.video-source', attrs.username), m('.video-source', attrs.username),
m('.video-state', rpc.iceConnectionState), m('.video-state', rpc.iceConnectionState),
) )
}, },
} }
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 = { const Media = {
videoSources: ['camera', 'screen', 'none'], videoSources: ['camera', 'screen', 'none'],
audioDefaults: { audioDefaults: {

正在加载...
取消
保存