summaryrefslogtreecommitdiff
path: root/javascript/videojs/src/js/control-bar/play-toggle.js
diff options
context:
space:
mode:
Diffstat (limited to 'javascript/videojs/src/js/control-bar/play-toggle.js')
-rw-r--r--javascript/videojs/src/js/control-bar/play-toggle.js151
1 files changed, 0 insertions, 151 deletions
diff --git a/javascript/videojs/src/js/control-bar/play-toggle.js b/javascript/videojs/src/js/control-bar/play-toggle.js
deleted file mode 100644
index 424f579..0000000
--- a/javascript/videojs/src/js/control-bar/play-toggle.js
+++ /dev/null
@@ -1,151 +0,0 @@
-/**
- * @file play-toggle.js
- */
-import Button from '../button.js';
-import Component from '../component.js';
-import {silencePromise} from '../utils/promise';
-
-/** @import Player from './player' */
-
-/**
- * Button to toggle between play and pause.
- *
- * @extends Button
- */
-class PlayToggle extends Button {
-
- /**
- * Creates an instance of this class.
- *
- * @param {Player} player
- * The `Player` that this class should be attached to.
- *
- * @param {Object} [options={}]
- * The key/value store of player options.
- */
- constructor(player, options = {}) {
- super(player, options);
-
- // show or hide replay icon
- options.replay = options.replay === undefined || options.replay;
-
- this.setIcon('play');
-
- this.on(player, 'play', (e) => this.handlePlay(e));
- this.on(player, 'pause', (e) => this.handlePause(e));
-
- if (options.replay) {
- this.on(player, 'ended', (e) => this.handleEnded(e));
- }
- }
-
- /**
- * Builds the default DOM `className`.
- *
- * @return {string}
- * The DOM `className` for this object.
- */
- buildCSSClass() {
- return `vjs-play-control ${super.buildCSSClass()}`;
- }
-
- /**
- * This gets called when an `PlayToggle` is "clicked". See
- * {@link ClickableComponent} for more detailed information on what a click can be.
- *
- * @param {Event} [event]
- * The `keydown`, `tap`, or `click` event that caused this function to be
- * called.
- *
- * @listens tap
- * @listens click
- */
- handleClick(event) {
- if (this.player_.paused()) {
- silencePromise(this.player_.play());
- } else {
- this.player_.pause();
- }
- }
-
- /**
- * This gets called once after the video has ended and the user seeks so that
- * we can change the replay button back to a play button.
- *
- * @param {Event} [event]
- * The event that caused this function to run.
- *
- * @listens Player#seeked
- */
- handleSeeked(event) {
- this.removeClass('vjs-ended');
-
- if (this.player_.paused()) {
- this.handlePause(event);
- } else {
- this.handlePlay(event);
- }
- }
-
- /**
- * Add the vjs-playing class to the element so it can change appearance.
- *
- * @param {Event} [event]
- * The event that caused this function to run.
- *
- * @listens Player#play
- */
- handlePlay(event) {
- this.removeClass('vjs-ended', 'vjs-paused');
- this.addClass('vjs-playing');
- // change the button text to "Pause"
- this.setIcon('pause');
- this.controlText('Pause');
- }
-
- /**
- * Add the vjs-paused class to the element so it can change appearance.
- *
- * @param {Event} [event]
- * The event that caused this function to run.
- *
- * @listens Player#pause
- */
- handlePause(event) {
- this.removeClass('vjs-playing');
- this.addClass('vjs-paused');
- // change the button text to "Play"
- this.setIcon('play');
- this.controlText('Play');
- }
-
- /**
- * Add the vjs-ended class to the element so it can change appearance
- *
- * @param {Event} [event]
- * The event that caused this function to run.
- *
- * @listens Player#ended
- */
- handleEnded(event) {
- this.removeClass('vjs-playing');
- this.addClass('vjs-ended');
- // change the button text to "Replay"
- this.setIcon('replay');
- this.controlText('Replay');
-
- // on the next seek remove the replay button
- this.one(this.player_, 'seeked', (e) => this.handleSeeked(e));
- }
-}
-
-/**
- * The text that should display over the `PlayToggle`s controls. Added for localization.
- *
- * @type {string}
- * @protected
- */
-PlayToggle.prototype.controlText_ = 'Play';
-
-Component.registerComponent('PlayToggle', PlayToggle);
-export default PlayToggle;