Use updated MenuButton creation

This commit is contained in:
Gabe Kangas
2022-11-12 23:28:49 -08:00
parent fad2c935e9
commit 00dc8c6802

View File

@@ -1,3 +1,4 @@
/* eslint-disable max-classes-per-file */
export function createVideoSettingsMenuButton(player, videojs, qualities, latencyItemPressed): any { export function createVideoSettingsMenuButton(player, videojs, qualities, latencyItemPressed): any {
const VjsMenuItem = videojs.getComponent('MenuItem'); const VjsMenuItem = videojs.getComponent('MenuItem');
const MenuItem = videojs.getComponent('MenuItem'); const MenuItem = videojs.getComponent('MenuItem');
@@ -28,14 +29,12 @@ export function createVideoSettingsMenuButton(player, videojs, qualities, latenc
selectable: false, selectable: false,
}); });
const MenuButton = videojs.extend(MenuButtonClass, { class MenuButton extends MenuButtonClass {
// The `init()` method will also work for constructor logic here, but it is
// deprecated. If you provide an `init()` method, it will override the
// `constructor()` method!
constructor() { constructor() {
MenuButtonClass.call(this, player); super(player);
}, }
// eslint-disable-next-line class-methods-use-this
createItems() { createItems() {
const tech = player.tech({ IWillNotUseThisInPlugins: true }); const tech = player.tech({ IWillNotUseThisInPlugins: true });
@@ -44,7 +43,7 @@ export function createVideoSettingsMenuButton(player, videojs, qualities, latenc
label: 'Auto', label: 'Auto',
}); });
const items = qualities.map(item => { return qualities.map(item => {
const newMenuItem = new MenuItem(player, { const newMenuItem = new MenuItem(player, {
selectable: true, selectable: true,
label: item.name, label: item.name,
@@ -90,8 +89,8 @@ export function createVideoSettingsMenuButton(player, videojs, qualities, latenc
} }
return [defaultAutoItem, ...items]; return [defaultAutoItem, ...items];
}, }
}); }
// If none of the settings in this menu are applicable then don't show it. // If none of the settings in this menu are applicable then don't show it.
const tech = player.tech({ IWillNotUseThisInPlugins: true }); const tech = player.tech({ IWillNotUseThisInPlugins: true });
@@ -100,10 +99,13 @@ export function createVideoSettingsMenuButton(player, videojs, qualities, latenc
return; return;
} }
videojs.registerComponent('MenuButton', MenuButton);
const menuButton = new MenuButton(); const menuButton = new MenuButton();
menuButton.addClass('vjs-quality-selector'); menuButton.addClass('vjs-quality-selector');
// eslint-disable-next-line consistent-return // eslint-disable-next-line consistent-return
return menuButton; return menuButton;
} }
export default createVideoSettingsMenuButton; export default createVideoSettingsMenuButton;