Files
ArtPlayer/packages/artplayer/src/control/screenshot.ts
T

24 lines
772 B
TypeScript

import type { ControlFactory, ControlOption } from './types'
import { keyboardButton } from '../accessibility/button'
import { appendElement } from '../component/dom'
import { entryScope } from '../component/resources'
import { silencePromise } from '../utils'
import { controlEvents } from './resources'
export default function screenshot(option: ControlOption): ControlFactory {
return art => ({
...option,
tooltip: art.i18n.get('Screenshot'),
mounted: ($control) => {
const { proxy } = controlEvents(art, $control)
const { icons } = art
keyboardButton(entryScope($control), $control)
appendElement($control, icons.screenshot)
proxy($control, 'click', () => {
silencePromise(art.screenshot())
})
},
})
}