Move toggleCaption internals to captions object
This commit is contained in:
parent
019e1f80ca
commit
fa5d0ad316
@ -7,7 +7,7 @@ import controls from './controls';
|
|||||||
import i18n from './i18n';
|
import i18n from './i18n';
|
||||||
import support from './support';
|
import support from './support';
|
||||||
import browser from './utils/browser';
|
import browser from './utils/browser';
|
||||||
import { createElement, emptyElement, getAttributesFromSelector, insertAfter, removeElement, toggleClass } from './utils/elements';
|
import { createElement, emptyElement, getAttributesFromSelector, insertAfter, removeElement, toggleClass, toggleState } from './utils/elements';
|
||||||
import { on, triggerEvent } from './utils/events';
|
import { on, triggerEvent } from './utils/events';
|
||||||
import fetch from './utils/fetch';
|
import fetch from './utils/fetch';
|
||||||
import is from './utils/is';
|
import is from './utils/is';
|
||||||
@ -128,6 +128,28 @@ const captions = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
toggle(input) {
|
||||||
|
// If there's no full support
|
||||||
|
if (!this.supported.ui) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If the method is called without parameter, toggle based on current value
|
||||||
|
const active = is.boolean(input) ? input : !this.elements.container.classList.contains(this.config.classNames.captions.active);
|
||||||
|
|
||||||
|
// Toggle state
|
||||||
|
toggleState(this.elements.buttons.captions, active);
|
||||||
|
|
||||||
|
// Add class hook
|
||||||
|
toggleClass(this.elements.container, this.config.classNames.captions.active, active);
|
||||||
|
|
||||||
|
// Update state and trigger event
|
||||||
|
if (active !== this.captions.active) {
|
||||||
|
this.captions.active = active;
|
||||||
|
triggerEvent.call(this, this.media, this.captions.active ? 'captionsenabled' : 'captionsdisabled');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
set(index, setLanguage = true, show = true) {
|
set(index, setLanguage = true, show = true) {
|
||||||
const tracks = captions.getTracks.call(this);
|
const tracks = captions.getTracks.call(this);
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ import Storage from './storage';
|
|||||||
import support from './support';
|
import support from './support';
|
||||||
import ui from './ui';
|
import ui from './ui';
|
||||||
import { closest } from './utils/arrays';
|
import { closest } from './utils/arrays';
|
||||||
import { createElement, hasClass, removeElement, replaceElement, toggleClass, toggleState, wrap } from './utils/elements';
|
import { createElement, hasClass, removeElement, replaceElement, toggleClass, wrap } from './utils/elements';
|
||||||
import { off, on, once, triggerEvent, unbindListeners } from './utils/events';
|
import { off, on, once, triggerEvent, unbindListeners } from './utils/events';
|
||||||
import is from './utils/is';
|
import is from './utils/is';
|
||||||
import loadSprite from './utils/loadSprite';
|
import loadSprite from './utils/loadSprite';
|
||||||
@ -833,25 +833,7 @@ class Plyr {
|
|||||||
* @param {boolean} input - Whether to enable captions
|
* @param {boolean} input - Whether to enable captions
|
||||||
*/
|
*/
|
||||||
toggleCaptions(input) {
|
toggleCaptions(input) {
|
||||||
// If there's no full support
|
captions.toggle.call(this, input);
|
||||||
if (!this.supported.ui) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// If the method is called without parameter, toggle based on current value
|
|
||||||
const active = is.boolean(input) ? input : !this.elements.container.classList.contains(this.config.classNames.captions.active);
|
|
||||||
|
|
||||||
// Toggle state
|
|
||||||
toggleState(this.elements.buttons.captions, active);
|
|
||||||
|
|
||||||
// Add class hook
|
|
||||||
toggleClass(this.elements.container, this.config.classNames.captions.active, active);
|
|
||||||
|
|
||||||
// Update state and trigger event
|
|
||||||
if (active !== this.captions.active) {
|
|
||||||
this.captions.active = active;
|
|
||||||
triggerEvent.call(this, this.media, this.captions.active ? 'captionsenabled' : 'captionsdisabled');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user