Commit Graph

57 Commits

Author SHA1 Message Date
Sam Potts 86c3cf648f v3.6.2 2020-05-04 21:38:10 +10:00
Sam Potts adb3f35920 v3.6.1 2020-04-28 23:17:54 +10:00
Sam Potts 2458eaa11b Merge branch 'develop' into css-variables
# Conflicts:
#	src/js/captions.js
#	src/js/config/defaults.js
#	src/js/fullscreen.js
#	src/js/listeners.js
#	src/js/plyr.js
2020-04-24 00:22:17 +10:00
Sam Potts 9c7e429b48 Vimeo ratio fixes 2020-04-19 19:51:06 +10:00
Sam Potts 502d5977d7 Converted to 2 space indentation 2020-04-11 16:23:14 +10:00
Som Meaden 49ed2cac4e This is a PR to allow for contextual content to be included in fullscreen (or fallback) mode. This means arbitrary elements (extensions to the basic player UI) can be overlaid and remain visible when the player switches to fullscreen.
Example use-cases include:
 - display of video title or other metadata (see the included demo)
 - alternative access to menu items, such as a searchable captions list (in cases where many hundreds of languages are available)
 - custom share dialogs
 - integrated playlists with 'playing next' overlays

This approach / PR is just an example of how this feature could work and aims to keep Plyr complexity to a minimum (while enabling some fairly interesting integrations). It utilises a single config option, and does away with the need for injecting bespoke APIs or elements into the player context on a per-project basis. Or trying to mess with what is a pretty slick, but tightly coupled system.

For the user: A new `fullscreen.container` attribute is used to provide a container selector. The container must be an ancestor of the player, otherwise it's ignored. When toggling fullscreen mode, this container is now used in place of the player. Hovering over any children of the container is the same as hovering over the controls. The exception is where the player and the child share a common ancestor (that's not the fullscreen container) ... sounds complex but it's not. You can also gain pretty fine control this way with pointer events.

Under the hood: it adds a `utils/elements/closest` helper method to find the right ancestor. If found this is returned as the fullscreen target in place of the player container. Fullscreen is instantiated slightly earlier in the setup so this container is available for the `listeners.controls` call. In here we add some more 'mouseenter/mouseleave' listeners to any direct descendants of the container, that aren't also ancestors of the player. And that's it. No extra classes, nothing else. There are some style changes to the demo (top margin on the player) but these would be project specific.

Thanks for reading.
2020-04-04 13:43:51 +10:00
Sam Potts 206e3b57d1 v3.5.10 2020-02-14 17:37:32 +00:00
Sam Potts 04d06f2242 v3.5.9 deployed 2020-02-14 17:00:33 +00:00
Sam Potts a6ff0274a9 v3.5.8 deployed 2020-02-10 18:38:54 +00:00
Sam Potts 7ca74f48bc Added vimeo options to hide controls and set referrerPolicy 2020-02-10 11:24:38 +00:00
Sam Potts bb7f7d5e2a 3.5.7 2020-02-09 21:59:40 +00:00
Sam Potts 59e3ef7248 Comments 2020-02-09 10:20:40 +00:00
Sam Potts 90dc985657 Clean up speed options logic 2020-02-08 23:09:41 +00:00
Sam Potts 818e1efd43 Deployed 3.5.7-beta.0 2020-01-30 14:56:52 +00:00
Sam Potts 6ffaef35cf Manually merged PR #1607 2020-01-14 07:25:41 +00:00
Baskerville* 7907652bc9 Update defaults.js
update defaults.i18n
2019-09-06 16:18:40 +08:00
Sam Potts 7c442c9357 3.5.6 2019-06-21 12:35:47 +10:00
Sam Potts dfc09b8e04 v3.5.5 deployed 2019-06-21 00:24:28 +10:00
Sam Potts e8e2b8ba39 Merge branch 'master' into develop
# Conflicts:
#	.eslintrc
#	demo/dist/demo.css
#	demo/dist/demo.js
#	demo/dist/demo.min.js
#	demo/dist/demo.min.js.map
#	dist/plyr.css
#	dist/plyr.js
#	dist/plyr.min.js
#	dist/plyr.min.js.map
#	dist/plyr.min.mjs
#	dist/plyr.min.mjs.map
#	dist/plyr.mjs
#	dist/plyr.polyfilled.js
#	dist/plyr.polyfilled.min.js
#	dist/plyr.polyfilled.min.js.map
#	dist/plyr.polyfilled.min.mjs
#	dist/plyr.polyfilled.min.mjs.map
#	dist/plyr.polyfilled.mjs
#	package.json
#	readme.md
#	src/js/listeners.js
#	yarn.lock
2019-06-20 23:56:19 +10:00
Sam Potts 2e40b91ec1 Styling tweaks for demo 2019-06-20 23:50:46 +10:00
Sam Potts 0f14865d56 Add duration (commented out) in defaults 2019-06-03 20:12:43 +10:00
Sam Potts 0694e58650 v3.5.4 2019-04-25 12:14:48 +10:00
Sam Potts ad68d9484f Clean up and API change 2019-04-25 12:01:30 +10:00
Sam Potts 2bd08cdc28 3.5.3 2019-04-12 18:44:05 +10:00
Sam Potts b247093495 Aspect ratio improvements (fixes #1042, fixes #1366) 2019-04-12 12:19:48 +10:00
Sam Potts 4c3bf25b8a Fixed issue where the preview thumbnail was present while scrubbing 2019-02-24 12:10:20 +11:00
Sam Potts 215fc3677a v3.5.1 2019-02-23 13:14:01 +11:00
Sam Potts 80990c98c8 Deployed v3.5.0 2019-02-19 01:25:39 +11:00
Sam Potts 44d3a17870 Fix links 2019-02-19 01:17:08 +11:00
Sam Potts 0189e90fce Fix deployment 2019-02-12 13:55:45 +11:00
Sam Potts eb628c8e4f Ads bug fixes 2019-02-01 00:24:48 +11:00
Sam Potts 1d51b28701 Tweaks 2019-01-26 22:45:47 +11:00
Sam Potts a84fc396e8 Merge branch 'develop' into issues/1316-allow-to-customize-vimeo-url-params 2019-01-26 17:19:58 +11:00
Sam Potts 8b57104f83 Docs for preview thumbs 2019-01-26 17:17:27 +11:00
Sam Potts 44739a17d0 Merge branch 'master' into develop
# Conflicts:
#	changelog.md
#	demo/dist/demo.js.map
#	demo/dist/demo.min.js
#	demo/dist/demo.min.js.map
#	demo/index.html
#	dist/plyr.js.map
#	dist/plyr.min.js
#	dist/plyr.min.js.map
#	dist/plyr.polyfilled.js
#	dist/plyr.polyfilled.js.map
#	dist/plyr.polyfilled.min.js
#	dist/plyr.polyfilled.min.js.map
#	package.json
#	readme.md
#	yarn.lock
2019-01-26 16:50:37 +11:00
Sam Potts c44351507f Plugin tweaks for ads and previews 2019-01-26 16:31:47 +11:00
Christian Gambardella 052e426810 Adds options for vimeo plugin #1316
This adds replaces hard coded vimeo options with options that can be passed to the Plyr instance when initializing.
2019-01-24 12:07:01 +01:00
Sam Potts c577eb01ce Style tweaks for preview plugin 2019-01-22 16:24:46 +11:00
Sam Potts 4ab8a54a11 Preview design tweaks 2019-01-21 00:32:20 +11:00
Sam Potts f927d26ce7 v3.4.8
- Calling customized controls function with proper arguments (thanks @a60814billy)
2019-01-17 11:37:19 +11:00
Sam Potts 6782737009 Fullscreen fixes 2019-01-14 00:33:48 +11:00
Sam Potts db2997ef21 Merge branch 'develop' into master 2019-01-06 14:08:46 +11:00
Sam Potts 5fdc0aae66 Merge pull request #1253 from jamesoflol/preview-thumbs
Preview seek/scrubbing thumbnails
2018-12-15 10:43:36 +07:00
James d97257a5a9 Preview seek: Edge+IE11 fixes
- Fixed bug: Edge seek errors: Replaced array spread with Array.from()
- Fixed IE11 bug: seek time was offset to the left. Required an extra container div to facilitate this
2018-12-15 11:32:50 +11:00
Omar Khatib 11618353ea support Youtube noCookie Mode 2018-12-13 17:30:10 +01:00
James 8f27611911 Preview seek/scrubbing thumbnails 2018-11-12 15:55:26 +11:00
Sam Potts 2c8a337f26 v3.4.7
-   Fix for Vimeo fullscreen with non native aspect ratios (fixes #854)
2018-11-08 23:34:10 +11:00
Sam Potts 1a9b860e68 v3.4.6
-   Added picture-in-picture support for Chrome 70+
-   Fixed issue with versioning the SVG sprite in the gulp build script
2018-10-25 09:44:40 +11:00
Sam Potts fe26d383f1 Added support for picture-in-picture in Chrome 2018-10-25 09:17:15 +11:00
Sam Potts 03c9b53232 Allow custom download URL (for streaming, etc) 2018-10-24 22:31:35 +11:00