summaryrefslogtreecommitdiff
path: root/javascript/videojs/src/js/tracks/text-track-settings-controls.js
blob: e57a831a8e3bca9b99cd0b5467094c948495d2b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import Component from '../component';
import * as Dom from '../utils/dom';
import Button from '../button';

/**
 * Buttons of reset & done that modal 'TextTrackSettings'
 * uses as part of its content.
 *
 * 'Reset': Resets all settings on 'TextTrackSettings'.
 * 'Done': Closes 'TextTrackSettings' modal.
 *
 * @extends Component
 */
class TrackSettingsControls extends Component {
  constructor(player, options = {}) {
    super(player, options);

    // Create DOM elements
    const resetButton = new Button(player, {
      controlText: this.localize('restore all settings to the default values'),
      className: 'vjs-default-button'
    });

    resetButton.el().classList.remove('vjs-control', 'vjs-button');
    resetButton.el().textContent = this.localize('Reset');

    this.addChild(resetButton);

    const doneText = this.localize('Done');
    const doneButton = new Button(player, {
      controlText: doneText,
      className: 'vjs-done-button'
    });

    // Remove unrequired style classes
    doneButton.el().classList.remove('vjs-control', 'vjs-button');
    doneButton.el().textContent = doneText;

    this.addChild(doneButton);
  }

  /**
   * Create the `TrackSettingsControls`'s DOM element
   *
   * @return {Element}
   *         The DOM element that gets created.
   */
  createEl() {
    const el = Dom.createEl('div', {
      className: 'vjs-track-settings-controls'
    });

    return el;
  }

}

Component.registerComponent('TrackSettingsControls', TrackSettingsControls);
export default TrackSettingsControls;