Merge pull request #1139 from friday/controls-input
Controls input fixes
This commit is contained in:
commit
e3dfd16096
@ -3,7 +3,9 @@
|
|||||||
This is the markup that is rendered for the Plyr controls. You can use the default controls or provide a customized version of markup based on your needs. You can pass the following to the `controls` option:
|
This is the markup that is rendered for the Plyr controls. You can use the default controls or provide a customized version of markup based on your needs. You can pass the following to the `controls` option:
|
||||||
|
|
||||||
- `Array` of options (this builds the default controls based on your choices)
|
- `Array` of options (this builds the default controls based on your choices)
|
||||||
|
- `Element` with the controls
|
||||||
- `String` containing the desired HTML
|
- `String` containing the desired HTML
|
||||||
|
- `false` (or empty string or array) to disable all controls
|
||||||
- `Function` that will be executed and should return one of the above
|
- `Function` that will be executed and should return one of the above
|
||||||
|
|
||||||
## Using default controls
|
## Using default controls
|
||||||
|
23
src/js/controls.js
vendored
23
src/js/controls.js
vendored
@ -1117,11 +1117,6 @@ const controls = {
|
|||||||
// Build the default HTML
|
// Build the default HTML
|
||||||
// TODO: Set order based on order in the config.controls array?
|
// TODO: Set order based on order in the config.controls array?
|
||||||
create(data) {
|
create(data) {
|
||||||
// Do nothing if we want no controls
|
|
||||||
if (is.empty(this.config.controls)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create the container
|
// Create the container
|
||||||
const container = createElement('div', getAttributesFromSelector(this.config.selectors.controls.wrapper));
|
const container = createElement('div', getAttributesFromSelector(this.config.selectors.controls.wrapper));
|
||||||
|
|
||||||
@ -1401,13 +1396,19 @@ const controls = {
|
|||||||
};
|
};
|
||||||
let update = true;
|
let update = true;
|
||||||
|
|
||||||
if (is.string(this.config.controls) || is.element(this.config.controls)) {
|
// If function, run it and use output
|
||||||
// String or HTMLElement passed as the option
|
if (is.function(this.config.controls)) {
|
||||||
|
this.config.controls = this.config.controls.call(this.props);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert falsy controls to empty array (primarily for empty strings)
|
||||||
|
if (!this.config.controls) {
|
||||||
|
this.config.controls = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is.element(this.config.controls) || is.string(this.config.controls)) {
|
||||||
|
// HTMLElement or Non-empty string passed as the option
|
||||||
container = this.config.controls;
|
container = this.config.controls;
|
||||||
} else if (is.function(this.config.controls)) {
|
|
||||||
// A custom function to build controls
|
|
||||||
// The function can return a HTMLElement or String
|
|
||||||
container = this.config.controls.call(this, props);
|
|
||||||
} else {
|
} else {
|
||||||
// Create controls
|
// Create controls
|
||||||
container = controls.create.call(this, {
|
container = controls.create.call(this, {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user