UNPKG

videomail-client

Version:

A wicked npm package to record videos directly in the browser, wohooo!

54 lines (40 loc) 1.09 kB
import h from 'hyperscript' import hidden from 'hidden' import Events from './../../../../events' import EventEmitter from './../../../../util/eventEmitter' export default function (visuals, options) { EventEmitter.call(this, options, 'Facing Mode') const self = this let facingModeElement function initEvents() { self.on(Events.ERROR, function () { self.hide() }) } this.build = function () { facingModeElement = visuals.querySelector('.facingMode') if (!facingModeElement) { facingModeElement = h('button.facingMode') facingModeElement.innerHTML = '⤾' facingModeElement.onclick = (e) => { e && e.preventDefault() try { self.emit(Events.SWITCH_FACING_MODE) } catch (exc) { self.emit(Events.ERROR, exc) } } this.hide() visuals.appendChild(facingModeElement) } else { this.hide() } initEvents() } this.hide = function () { hidden(facingModeElement, true) } this.show = function () { hidden(facingModeElement, false) } }