Files
ArtPlayer/packages/artplayer/src/events/resizeInit.js
T
2018-11-09 15:37:05 +08:00

28 lines
729 B
JavaScript

import { sleep } from '../utils';
import { ResizeObserver } from 'resize-observer';
export default function resizeInit(art, events) {
const { option, refs: { $player } } = art;
const resizeObserver = new ResizeObserver(() => {
sleep().then(() => {
if (option.autoSize) {
if (
!art.player.fullscreenState &&
!art.player.fullscreenWebState &&
!art.player.pipState
) {
art.player.autoSize();
} else {
art.player.autoSizeRemove();
}
}
art.player.aspectRatioReset();
art.emit('resize');
});
});
resizeObserver.observe($player);
events.destroyEvents.push(() => {
resizeObserver.unobserve($player);
});
}