diff options
| author | lsces <lester@lsces.co.uk> | 2026-04-02 10:19:52 +0100 |
|---|---|---|
| committer | lsces <lester@lsces.co.uk> | 2026-04-02 10:19:52 +0100 |
| commit | 4c70be06f0adb962dc67b77f88742694f61a4fa6 (patch) | |
| tree | eb4f74c4de422e044423560a3c4df75d7eafe0ac /javascript/videojs/src/js/control-bar/text-track-controls/subs-caps-menu-item.js | |
| parent | 38f17bdc406c3a2606583b3f0ff8efe570282d57 (diff) | |
| download | util-4c70be06f0adb962dc67b77f88742694f61a4fa6.tar.gz util-4c70be06f0adb962dc67b77f88742694f61a4fa6.tar.bz2 util-4c70be06f0adb962dc67b77f88742694f61a4fa6.zip | |
video.js library
Diffstat (limited to 'javascript/videojs/src/js/control-bar/text-track-controls/subs-caps-menu-item.js')
| -rw-r--r-- | javascript/videojs/src/js/control-bar/text-track-controls/subs-caps-menu-item.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/javascript/videojs/src/js/control-bar/text-track-controls/subs-caps-menu-item.js b/javascript/videojs/src/js/control-bar/text-track-controls/subs-caps-menu-item.js new file mode 100644 index 0000000..7bcbe30 --- /dev/null +++ b/javascript/videojs/src/js/control-bar/text-track-controls/subs-caps-menu-item.js @@ -0,0 +1,43 @@ +/** + * @file subs-caps-menu-item.js + */ +import TextTrackMenuItem from './text-track-menu-item.js'; +import Component from '../../component.js'; +import {createEl} from '../../utils/dom.js'; + +/** + * SubsCapsMenuItem has an [cc] icon to distinguish captions from subtitles + * in the SubsCapsMenu. + * + * @extends TextTrackMenuItem + */ +class SubsCapsMenuItem extends TextTrackMenuItem { + + createEl(type, props, attrs) { + const el = super.createEl(type, props, attrs); + const parentSpan = el.querySelector('.vjs-menu-item-text'); + + if (this.options_.track.kind === 'captions') { + if (this.player_.options_.experimentalSvgIcons) { + this.setIcon('captions', el); + } else { + parentSpan.appendChild(createEl('span', { + className: 'vjs-icon-placeholder' + }, { + 'aria-hidden': true + })); + } + parentSpan.appendChild(createEl('span', { + className: 'vjs-control-text', + // space added as the text will visually flow with the + // label + textContent: ` ${this.localize('Captions')}` + })); + } + + return el; + } +} + +Component.registerComponent('SubsCapsMenuItem', SubsCapsMenuItem); +export default SubsCapsMenuItem; |
