j1-template 2024.3.22 → 2024.3.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/assets/data/{galeries.html → gallery_app.html} +106 -18
- data/assets/theme/bla +0 -0
- data/assets/theme/j1/adapter/js/amplitude.js +144 -52
- data/assets/theme/j1/adapter/js/gallery.js +14 -3
- data/assets/theme/j1/adapter/js/themes.js +41 -69
- data/assets/theme/j1/core/css/themes/unolight/bootstrap.css +48 -52
- data/assets/theme/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
- data/assets/theme/j1/core/css/vendor.css +1 -1
- data/assets/theme/j1/core/css/vendor.min.css +1 -1
- data/assets/theme/j1/modules/amplitudejs/js/tech/ytp.js +466 -396
- data/assets/theme/j1/modules/lightGallery/css/lg-transitions.css +3 -126
- data/assets/theme/j1/modules/lightGallery/css/lg-transitions.min.css +3 -10
- data/assets/theme/j1/modules/lightGallery/css/lightgallery-bundle.css +70 -237
- data/assets/theme/j1/modules/lightGallery/css/lightgallery-bundle.min.css +4 -10
- data/assets/theme/j1/modules/lightGallery/css/theme/uno/uno.css +276 -0
- data/assets/theme/j1/modules/lightGallery/css/theme/uno/uno.min.css +17 -0
- data/assets/theme/j1/modules/lightGallery/js/lightgallery.js +196 -134
- data/assets/theme/j1/modules/lightGallery/js/lightgallery.min.js +3 -10
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-autoplay.js +4 -4
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-autoplay.min.js +5 -5
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-comment.js +5 -5
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-comment.min.js +6 -6
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-fullscreen.js +4 -4
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-fullscreen.min.js +5 -5
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-hash.js +4 -4
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-hash.min.js +5 -6
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-medium-zoom.js +5 -5
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-medium-zoom.min.js +6 -6
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-pager.js +4 -4
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-pager.min.js +5 -5
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-relative-caption.js +179 -0
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-relative-caption.min.js +32 -0
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-rotate.js +4 -4
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-rotate.min.js +6 -6
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-share.js +4 -4
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-share.min.js +6 -7
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-thumbnail.js +27 -20
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-thumbnail.min.js +5 -5
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.js +489 -411
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.min.js +3 -10
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-vimeo-thumbnail.js +4 -4
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-vimeo-thumbnail.min.js +5 -5
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-zoom.js +11 -5
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-zoom.min.js +5 -5
- data/assets/theme/j1/modules/rtable/css/theme/uno/rtable.css +11 -1
- data/assets/theme/j1/modules/themeSwitcher/js/switcher.js +13 -12
- data/assets/theme/j1/modules/videoPlayer/tiktoc/README.md +1 -0
- data/assets/theme/j1/modules/videojs/assets/README.md +1 -0
- data/assets/theme/j1/modules/videojs/assets/icons/speedometer-medium.svg +35 -0
- data/assets/theme/j1/modules/videojs/css/font/VideoJS.ttf +0 -0
- data/assets/theme/j1/modules/videojs/css/font/VideoJS.woff +0 -0
- data/assets/theme/j1/modules/videojs/css/themes/uno.css +189 -42
- data/assets/theme/j1/modules/videojs/css/themes/uno.min.css +1 -1
- data/assets/theme/j1/modules/videojs/css/videojs.css +674 -316
- data/assets/theme/j1/modules/videojs/css/videojs.min.css +4 -3
- data/assets/theme/j1/modules/videojs/js/video.js +15893 -12288
- data/assets/theme/j1/modules/videojs/js/video.min.js +22 -23
- data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/!examples/index.html +26 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/LICENSE +19 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/README.md +69 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/css/aspect-ratio-panel.css +2 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/css/aspect-ratio-panel.min.css +2 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/js/aspect-ratio-panel.js +339 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/js/aspect-ratio-panel.min.js +2 -0
- data/assets/theme/j1/modules/videojs/{js/plugins/controls/autocaption → plugins/controls/autocaption/js}/autocaption.js +0 -5
- data/assets/theme/j1/modules/videojs/{js/plugins/controls/hotkeys/examples → plugins/controls/hotkeys/!examples}/example.html +1 -1
- data/assets/theme/j1/modules/videojs/plugins/controls/persist-settings/!examples/index.html +25 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/persist-settings/LICENSE +19 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/persist-settings/README.md +90 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/persist-settings/js/videojs-persist.js +120 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/persist-settings/js/videojs-persist.min.js +2 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/playbackrate-adjuster/!examples/index.html +32 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/playbackrate-adjuster/LICENSE +19 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/playbackrate-adjuster/README.md +61 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/playbackrate-adjuster/js/playbackrate-adjuster.js +94 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/playbackrate-adjuster/js/playbackrate-adjuster.min.js +20 -0
- data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/skipbuttons/README.md +25 -11
- data/assets/theme/j1/modules/videojs/{css/plugins/controls → plugins/controls/zoom/css}/zoom.css +7 -6
- data/assets/theme/j1/modules/videojs/plugins/controls/zoom/css/zoom.min.css +22 -0
- data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/examples → plugins/players/dm/!examples}/dailymotion-controls.html +4 -4
- data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/examples → plugins/players/dm/!examples}/dailymotion-javascript.html +3 -3
- data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/examples → plugins/players/dm/!examples}/dailymotion-playlist.html +3 -3
- data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/examples → plugins/players/dm/!examples}/global-parameters.html +3 -3
- data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/simple.html +31 -0
- data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/examples → plugins/players/dm/!examples}/switch.html +3 -3
- data/assets/theme/j1/modules/videojs/{js/plugins/players/dm → plugins/players/dm/js}/dailymotion.js +1 -1
- data/assets/theme/j1/modules/videojs/{js/plugins/players/vm/examples → plugins/players/vm/!examples}/index.html +3 -3
- data/assets/theme/j1/modules/videojs/{js/plugins/players/vm/examples → plugins/players/vm/!examples}/player/index.html +3 -3
- data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.0.js +521 -0
- data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.1.js +605 -0
- data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.3.js +643 -0
- data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.4.js +583 -0
- data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.5.js +665 -0
- data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.6.js +642 -0
- data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.7.js +673 -0
- data/assets/theme/j1/modules/videojs/{js/plugins/players/vm/api → plugins/players/vm/api/js}/vimeo.js +1 -1
- data/assets/theme/j1/modules/videojs/{js/plugins/players/vm/api → plugins/players/vm/api/js}/vimeo.min.js +1 -1
- data/assets/theme/j1/modules/videojs/{js/plugins/players/vm → plugins/players/vm/js}/vimeo.js +4 -5
- data/assets/theme/j1/modules/videojs/plugins/players/vm/js/vimeo.min.js +28 -0
- data/assets/theme/j1/modules/videojs/plugins/players/wt/!unused/wistia.0.js +395 -0
- data/assets/theme/j1/modules/videojs/plugins/players/wt/!unused/wistia.1.js +401 -0
- data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/global-parameters.html +5 -5
- data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/simple.html +5 -5
- data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/switch.html +5 -5
- data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/youtube-controls.html +5 -5
- data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/youtube-javascript.html +5 -5
- data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/youtube-list.html +5 -5
- data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/youtube-playlist.html +5 -5
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/README.md +5 -5
- data/lib/starter_web/_config.yml +1 -1
- data/lib/starter_web/_data/blocks/banner.yml +2 -2
- data/lib/starter_web/_data/modules/amplitude_playlists.yml +16 -1
- data/lib/starter_web/_data/modules/attics.yml +11 -0
- data/lib/starter_web/_data/modules/carousel.yml +1 -1
- data/lib/starter_web/_data/modules/defaults/gallery.yml +3 -3
- data/lib/starter_web/_data/modules/defaults/masonry.yml +115 -22
- data/lib/starter_web/_data/modules/gallery.yml +225 -281
- data/lib/starter_web/_data/modules/masonry.yml +6 -0
- data/lib/starter_web/_data/modules/navigator_menu.yml +3 -3
- data/lib/starter_web/_data/resources.yml +16 -12
- data/lib/starter_web/_data/templates/feed.xml +1 -1
- data/lib/starter_web/_includes/attributes.asciidoc +7 -0
- data/lib/starter_web/_plugins/asciidoctor/videojs-block.rb +50 -30
- data/lib/starter_web/_plugins/asciidoctor/youtube-block.rb +37 -23
- data/lib/starter_web/_plugins/index/lunr.rb +1 -1
- data/lib/starter_web/assets/image/module/attic/1920x1280/alexander-redl.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/alexander-shatov.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/alexey-ruban.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/andrea-badino.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/bootstrap-modal.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/bp-miller.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/brad-neathery.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/brigitta-schneiter.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/build-with-gemini.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/clem-onojeghuo.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/crawford-jolly.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/eleni-afiontzi.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/fly-d.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/guillaume-bolduc.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/ideas-start-here-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/isaac-davis.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/j1-content-mockup-2.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/j1-content-mockup-3.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/j1-starter-mockup-1.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/john-schnobrich-2.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/josep-martins.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/josh-liu.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/kelly-sikkemal.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/kira-auf-der-heide.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/kristopher-roller.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/markus-spiske.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/martin-sanchez.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/material_symbols.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/matthaeus.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/melanie-deziel.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/milad-fakurian.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/mohammad-rahmani.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/nasa.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/quino-al-2.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/stories-ink-tattoo-care.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/towfiqu-barbhuiya.jpg +0 -0
- data/lib/starter_web/assets/image/page/tour/bootswatch-themes.jpg +0 -0
- data/lib/starter_web/assets/video/poster/vimeo/fall_2011.jpg +0 -0
- data/lib/starter_web/index.html +3 -2
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/panels/intro_panel/_includes/attributes.asciidoc +1 -1
- data/lib/starter_web/pages/public/tools/previewer/preview_bootstrap_theme.adoc +5 -5
- data/lib/starter_web/pages/public/tools/tester/app_tester_amplitudejs_yt.adoc +7 -3
- data/lib/starter_web/pages/public/tools/tester/app_tester_swiperjs.adoc +7 -3
- data/lib/starter_web/pages/public/tools/tester/videojs_macro_tester.adoc +297 -0
- data/lib/starter_web/pages/public/tour/_includes/attributes.asciidoc +1 -2
- data/lib/starter_web/pages/public/tour/_includes/documents/themes_bootstrap.asciidoc +1 -1
- data/lib/starter_web/pages/public/tour/asciidoc_extensions.adoc +7 -3
- data/lib/starter_web/pages/public/tour/bootstrap_themes.adoc +62 -7
- data/lib/starter_web/pages/public/tour/icon_fonts.adoc +4 -8
- data/lib/starter_web/pages/public/tour/modal_extentions.adoc +2 -2
- data/lib/starter_web/pages/public/tour/responsive_tables.adoc +21 -15
- data/lib/starter_web/pages/public/tour/typography.adoc +5 -5
- data/lib/starter_web/pages/public/tour/video_data.adoc +25 -5
- metadata +142 -118
- data/assets/data/swiper_app.2.html +0 -757
- data/assets/data/swiper_app.4.html +0 -769
- data/assets/theme/j1/modules/lightGallery/css/themes/uno/uno.css +0 -140
- data/assets/theme/j1/modules/lightGallery/css/themes/uno/uno.min.css +0 -19
- data/assets/theme/j1/modules/lightGallery/js/plugins/j1/j1-video.js +0 -402
- data/assets/theme/j1/modules/lightGallery/js/plugins/j1/j1-video.min.js +0 -7
- data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-video.1.js +0 -585
- data/assets/theme/j1/modules/videojs/css/font/video-js-cdn.css +0 -2012
- data/assets/theme/j1/modules/videojs/css/plugins/controls/skipbuttons.0.css +0 -32
- data/assets/theme/j1/modules/videojs/css/plugins/controls/skipbuttons.1.css +0 -31
- data/assets/theme/j1/modules/videojs/css/plugins/controls/zoom.min.css +0 -21
- data/assets/theme/j1/modules/videojs/js/plugins/players/dm/examples/simple.html +0 -20
- data/assets/theme/j1/modules/videojs/js/plugins/players/vm/vimeo.min.js +0 -16
- data/assets/theme/j1/modules/videojs/js/plugins/players/wt/api/src/WistiaPlayer.ts +0 -1617
- data/lib/starter_web/_data/modules/gallery_app.yml +0 -1002
- data/lib/starter_web/_data/modules/gallery_playlists.yml +0 -534
- data/lib/starter_web/assets/image/module/attic/1920x1280/alina-grubnyak.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/bruno-figueiredo.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/harpal-singh.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/hayden-mills-2.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/j1-content-mockup-1.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/recha-oktaviani.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/tiny_desk.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/ideas-start-here-1920x1280-bw.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/ideas-start-here-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/video/poster/vimeo/stay_colorful.jpg +0 -0
- /data/assets/theme/j1/modules/lightGallery/css/{themes → theme}/uno/icons/animation-w.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/css/{themes → theme}/uno/icons/customize-w.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/css/{themes → theme}/uno/icons/dynamic-w.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/css/{themes → theme}/uno/icons/facebook-icon.svg +0 -0
- /data/assets/theme/j1/modules/lightGallery/css/{themes → theme}/uno/icons/googleplus-icon.svg +0 -0
- /data/assets/theme/j1/modules/lightGallery/css/{themes → theme}/uno/icons/html5-w.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/css/{themes → theme}/uno/icons/linked-in.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/css/{themes → theme}/uno/icons/module-w.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/css/{themes → theme}/uno/icons/play-button-hover.svg +0 -0
- /data/assets/theme/j1/modules/lightGallery/css/{themes → theme}/uno/icons/play-button.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/css/{themes → theme}/uno/icons/play-button.svg +0 -0
- /data/assets/theme/j1/modules/lightGallery/css/{themes → theme}/uno/icons/responsive-w.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/css/{themes → theme}/uno/icons/thumb-w.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/css/{themes → theme}/uno/icons/touch-w.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/css/{themes → theme}/uno/icons/twitter-icon.svg +0 -0
- /data/assets/theme/j1/modules/lightGallery/css/{themes → theme}/uno/icons/twitter.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/css/{themes → theme}/uno/icons/video1-w.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/css/{themes → theme}/uno/icons/zoom-w.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/css/{themes → theme}/uno/icons/zoom.png +0 -0
- /data/assets/theme/j1/modules/videoPlayer/dailymotion/js/{!readme → README.md} +0 -0
- /data/assets/theme/j1/modules/videoPlayer/tiktoc/{js/player.min.js → player.min.js} +0 -0
- /data/assets/theme/j1/modules/videoPlayer/vimeo/js/{!readme → README.md} +0 -0
- /data/assets/theme/j1/modules/videoPlayer/wistia/js/{!readme → README.md} +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/autocaption/LICENSE +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/autocaption/README.md +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/controls/autocaption → plugins/controls/autocaption/js}/autocaption.min.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/hotkeys/LICENSE.md +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/hotkeys/README.md +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/controls/hotkeys → plugins/controls/hotkeys/js}/hotkeys.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/controls/hotkeys → plugins/controls/hotkeys/js}/hotkeys.min.js +0 -0
- /data/assets/theme/j1/modules/videojs/{css/plugins/controls → plugins/controls/skipbuttons/css}/skipbuttons.css +0 -0
- /data/assets/theme/j1/modules/videojs/{css/plugins/controls → plugins/controls/skipbuttons/css}/skipbuttons.min.css +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/controls/skipbuttons → plugins/controls/skipbuttons/js}/skipbuttons.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/controls/skipbuttons → plugins/controls/skipbuttons/js}/skipbuttons.min.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/controls/zoom/examples → plugins/controls/zoom/!examples}/index.html +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/controls/zoom/examples → plugins/controls/zoom/!examples}/index.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/controls/zoom/examples → plugins/controls/zoom/!examples}/styles.css +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/zoom/LICENSE.md +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/zoom/README.md +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/controls/zoom → plugins/controls/zoom/js}/zoom.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/controls/zoom → plugins/controls/zoom/js}/zoom.min.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/dm/LICENSE +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/doc → plugins/players/dm}/README.md +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/dm/api/LICENSE +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/api/doc → plugins/players/dm/api}/README.md +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/api → plugins/players/dm/api/js}/dailymotion.sdk.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/api → plugins/players/dm/api/js}/dailymotion.sdk.min.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/dm/icon/scalable/dailymotion.svg +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm → plugins/players/dm/js}/dailymotion.min.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/vm/LICENSE +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/vm/doc → plugins/players/vm}/README.md +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/vm/api/doc → plugins/players/vm/api}/README.md +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/vm/api/css/embed.player.css +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/vm/api/css/embed.player.uno.css +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/vm/api/css/player.css +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/wt/doc → plugins/players/wt}/README.md +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/wt/api/doc/Readme.txt → plugins/players/wt/api/README.md} +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/wt/api → plugins/players/wt/api/js}/wistia.min.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/wt → plugins/players/wt/js}/wistia.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/wt → plugins/players/wt/js}/wistia.min.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/v3.0.0 → plugins/players/yt/!v3.0.0}/youtube.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/v3.0.0 → plugins/players/yt/!v3.0.0}/youtube.min.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/yt/LICENSE +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/doc → plugins/players/yt}/README.md +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/api → plugins/players/yt/api/js}/youtube.min.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt → plugins/players/yt/js}/youtube.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt → plugins/players/yt/js}/youtube.min.js +0 -0
@@ -1,12 +1,12 @@
|
|
1
1
|
/*
|
2
2
|
# -----------------------------------------------------------------------------
|
3
3
|
# ~/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.js
|
4
|
-
# Provides lightGallery JS code for the plugin lgVideo
|
4
|
+
# Provides lightGallery v2.8.3 JS code for the plugin lgVideo
|
5
5
|
#
|
6
6
|
# Product/Info:
|
7
7
|
# https://jekyll.one
|
8
8
|
#
|
9
|
-
# Copyright (C)
|
9
|
+
# Copyright (C) 2025 Sachin Neravath
|
10
10
|
# Copyright (C) 2023-2025 Juergen Adams
|
11
11
|
#
|
12
12
|
# J1 Template is licensed under the MIT License.
|
@@ -16,12 +16,12 @@
|
|
16
16
|
# -----------------------------------------------------------------------------
|
17
17
|
*/
|
18
18
|
|
19
|
-
|
20
|
-
* lightgallery | 2.
|
19
|
+
/*!
|
20
|
+
* lightgallery | 2.8.3 | March 1st 2025
|
21
21
|
* http://www.lightgalleryjs.com/
|
22
22
|
* Copyright (c) 2020 Sachin Neravath;
|
23
23
|
* @license GPLv3
|
24
|
-
*/
|
24
|
+
*/
|
25
25
|
|
26
26
|
(function (global, factory) {
|
27
27
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
@@ -44,9 +44,6 @@
|
|
44
44
|
PERFORMANCE OF THIS SOFTWARE.
|
45
45
|
***************************************************************************** */
|
46
46
|
|
47
|
-
var url = new URL(window.location.href);
|
48
|
-
var origin = url.origin;
|
49
|
-
|
50
47
|
var __assign = function() {
|
51
48
|
__assign = Object.assign || function __assign(t) {
|
52
49
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
@@ -58,6 +55,7 @@
|
|
58
55
|
return __assign.apply(this, arguments);
|
59
56
|
};
|
60
57
|
|
58
|
+
// jadams
|
61
59
|
var videoSettings = {
|
62
60
|
autoplayFirstVideo: true,
|
63
61
|
htmlPlayerParams: false,
|
@@ -132,20 +130,13 @@
|
|
132
130
|
var slideUrlParams = videoInfo.youtube[2]
|
133
131
|
? paramsToObject(videoInfo.youtube[2])
|
134
132
|
: '';
|
135
|
-
|
136
|
-
// For YouTube first params gets priority if duplicates found
|
137
|
-
// See: https://stackoverflow.com/questions/40685142/youtube-autoplay-does-not-work-with-iframe
|
133
|
+
// For youtube first params gets priority if duplicates found
|
138
134
|
var defaultYouTubePlayerParams = {
|
135
|
+
wmode: 'opaque',
|
139
136
|
autoplay: 0,
|
140
|
-
controls: 1,
|
141
|
-
enablejsapi: 1,
|
142
|
-
hl: 'en',
|
143
|
-
loop: 0,
|
144
137
|
mute: 1,
|
145
|
-
|
146
|
-
origin: origin,
|
138
|
+
enablejsapi: 1,
|
147
139
|
};
|
148
|
-
|
149
140
|
var playerParamsSettings = youTubePlayerParamsSettings || {};
|
150
141
|
var youTubePlayerParams = __assign(__assign(__assign({}, defaultYouTubePlayerParams), playerParamsSettings), slideUrlParams);
|
151
142
|
var youTubeParams = "?" + param(youTubePlayerParams);
|
@@ -158,8 +149,13 @@
|
|
158
149
|
if (!videoInfo || !videoInfo.vimeo)
|
159
150
|
return '';
|
160
151
|
var urlParams = videoInfo.vimeo[2] || '';
|
161
|
-
var
|
162
|
-
|
152
|
+
var defaultVimeoPlayerParams = Object.assign({}, {
|
153
|
+
autoplay: 0,
|
154
|
+
muted: 1,
|
155
|
+
}, defaultParams);
|
156
|
+
var defaultPlayerParams = defaultVimeoPlayerParams &&
|
157
|
+
Object.keys(defaultVimeoPlayerParams).length !== 0
|
158
|
+
? param(defaultVimeoPlayerParams)
|
163
159
|
: '';
|
164
160
|
// Support private video
|
165
161
|
var urlWithHash = videoInfo.vimeo[0].split('/').pop() || '';
|
@@ -171,11 +167,15 @@
|
|
171
167
|
}
|
172
168
|
urlParams =
|
173
169
|
urlParams[0] == '?' ? '&' + urlParams.slice(1) : urlParams || '';
|
174
|
-
|
175
|
-
|
170
|
+
var privateUrlParams = isPrivate ? "h=" + hash : '';
|
171
|
+
defaultPlayerParams = privateUrlParams
|
172
|
+
? "&" + defaultPlayerParams
|
173
|
+
: defaultPlayerParams;
|
174
|
+
var vimeoPlayerParams = "?" + privateUrlParams + defaultPlayerParams + urlParams;
|
176
175
|
return vimeoPlayerParams;
|
177
176
|
};
|
178
177
|
|
178
|
+
// jadams
|
179
179
|
var getTikTokURLParams = function (defaultParams, videoInfo) {
|
180
180
|
if (!videoInfo || !videoInfo.tiktok)
|
181
181
|
return '';
|
@@ -198,6 +198,7 @@
|
|
198
198
|
return tiktokPlayerParams;
|
199
199
|
};
|
200
200
|
|
201
|
+
// jadams
|
201
202
|
// -------------------------------------------------------------------------
|
202
203
|
// loadVtt
|
203
204
|
// Loads a given WEBVTT file (from data path) and process loaded
|
@@ -215,7 +216,272 @@
|
|
215
216
|
}
|
216
217
|
});
|
217
218
|
|
218
|
-
} // END loadVtt
|
219
|
+
}; // END loadVtt
|
220
|
+
|
221
|
+
|
222
|
+
// jadams
|
223
|
+
// -------------------------------------------------------------------------
|
224
|
+
// vjsProcessExtendedButtonsAndPlugins
|
225
|
+
// Loads a given WEBVTT file (from data path) and process loaded
|
226
|
+
// data in callback cb (function)
|
227
|
+
// -------------------------------------------------------------------------
|
228
|
+
var vjsProcessExtendedButtonsAndPlugins = function (vjsObject, videojsPlayer, videoInfo) {
|
229
|
+
const vjsOptions = j1.modules.videojs.options;
|
230
|
+
var videoInfo, videoStart, videojsPlayer,
|
231
|
+
playbackRates, hotKeysPlugin, skipButtonsPlugin, zoomPlugin;
|
232
|
+
|
233
|
+
var videoData = {
|
234
|
+
tracks: false
|
235
|
+
};
|
236
|
+
|
237
|
+
var playbackRatesDefaults = vjsOptions.playbackRates.values;
|
238
|
+
var chapterTracksEnabled = false;
|
239
|
+
|
240
|
+
var hotKeysPluginDefaults = {
|
241
|
+
volumeStep: vjsOptions.plugins.hotKeys.volumeStep,
|
242
|
+
seekStep: vjsOptions.plugins.hotKeys.seekStep,
|
243
|
+
enableMute: vjsOptions.plugins.hotKeys.enableMute,
|
244
|
+
enableVolumeScroll: vjsOptions.plugins.hotKeys.enableVolumeScroll,
|
245
|
+
enableHoverScroll: vjsOptions.plugins.hotKeys.enableHoverScroll,
|
246
|
+
enableFullscreen: vjsOptions.plugins.hotKeys.enableFullscreen,
|
247
|
+
enableNumbers: vjsOptions.plugins.hotKeys.enableNumbers,
|
248
|
+
enableJogStyle: vjsOptions.plugins.hotKeys.enableJogStyle,
|
249
|
+
alwaysCaptureHotkeys: vjsOptions.plugins.hotKeys.alwaysCaptureHotkeys,
|
250
|
+
captureDocumentHotkeys: vjsOptions.plugins.hotKeys.captureDocumentHotkeys,
|
251
|
+
enableModifiersForNumbers: vjsOptions.plugins.hotKeys.enableModifiersForNumbers,
|
252
|
+
enableInactiveFocus: vjsOptions.plugins.hotKeys.enableInactiveFocus,
|
253
|
+
skipInitialFocus: vjsOptions.plugins.hotKeys.skipInitialFocus
|
254
|
+
};
|
255
|
+
|
256
|
+
var skipButtonsPluginDefaults = {
|
257
|
+
backward: vjsOptions.plugins.skipButtons.backward,
|
258
|
+
forward: vjsOptions.plugins.skipButtons.forward,
|
259
|
+
backwardIndex: 0,
|
260
|
+
forwardIndex: 1
|
261
|
+
};
|
262
|
+
|
263
|
+
var zoomPluginDefaults = {
|
264
|
+
moveX: vjsOptions.plugins.zoomButtons.moveX,
|
265
|
+
moveY: vjsOptions.plugins.zoomButtons.moveY,
|
266
|
+
rotate: vjsOptions.plugins.zoomButtons.rotate,
|
267
|
+
zoom: vjsOptions.plugins.zoomButtons.zoom
|
268
|
+
};
|
269
|
+
|
270
|
+
// jadams, 2025-06-11: added customControlContainer
|
271
|
+
// ---------------------------------------------------------------------
|
272
|
+
var vjsPlayerControlBar = videojsPlayer.controlBar;
|
273
|
+
|
274
|
+
// create customControlContainer for progressControlSilder|time (display) elements
|
275
|
+
const customProgressContainer = vjsPlayerControlBar.addChild('Component', {
|
276
|
+
el: videojs.dom.createEl('div', {
|
277
|
+
className: 'vjs-theme-uno custom-progressbar-container'
|
278
|
+
})
|
279
|
+
});
|
280
|
+
|
281
|
+
// move progressControlSlider into customControlContainer
|
282
|
+
const progressControlSlider = vjsPlayerControlBar.progressControl;
|
283
|
+
if (progressControlSlider) {
|
284
|
+
customProgressContainer.el().appendChild(progressControlSlider.el());
|
285
|
+
}
|
286
|
+
|
287
|
+
// move currentTimeDisplay BEFORE the progressControlSilder
|
288
|
+
const currentTimeDisplay = vjsPlayerControlBar.currentTimeDisplay;
|
289
|
+
if (currentTimeDisplay) {
|
290
|
+
customProgressContainer.el().insertBefore(currentTimeDisplay.el(), progressControlSlider.el());
|
291
|
+
}
|
292
|
+
|
293
|
+
// move the durationDisplay AFTER the progressControlSilder
|
294
|
+
const durationDisplay = vjsPlayerControlBar.durationDisplay;
|
295
|
+
if (durationDisplay) {
|
296
|
+
customProgressContainer.el().appendChild(durationDisplay.el());
|
297
|
+
}
|
298
|
+
|
299
|
+
// configure VideoJS (extended) Plugins
|
300
|
+
// ---------------------------------------------------------------------
|
301
|
+
hotKeysPlugin = (vjsObject.settings.videojsOptions.hotKeysPlugin !== undefined) ? vjsObject.settings.videojsOptions.hotKeysPlugin : hotKeysPluginDefaults;
|
302
|
+
skipButtonsPlugin = (vjsObject.settings.videojsOptions.controlBar.skipButtonsPlugin !== undefined) ? vjsObject.settings.videojsOptions.controlBar.skipButtonsPlugin : skipButtonsPluginDefaults;
|
303
|
+
zoomPlugin = (vjsObject.settings.videojsOptions.controlBar.zoomPlugin !== undefined) ? vjsObject.settings.videojsOptions.controlBar.zoomPlugin : false;
|
304
|
+
playbackRates = (vjsObject.settings.videojsOptions.controlBar.playbackRates !== undefined) ? vjsObject.settings.videojsOptions.controlBar.playbackRates : playbackRatesDefaults;
|
305
|
+
|
306
|
+
// jadams, 2024-01-22: added video start position
|
307
|
+
// ---------------------------------------------------------------------
|
308
|
+
if (vjsObject.settings.videojsOptions.videoStart !== undefined) {
|
309
|
+
videoStart = vjsObject.settings.videojsOptions.videoStart[index];
|
310
|
+
videojsPlayer.on("play", function() {
|
311
|
+
var startFromSecond = new Date('1970-01-01T' + videoStart + 'Z').getTime() / 1000;
|
312
|
+
videojsPlayer.currentTime(startFromSecond);
|
313
|
+
}); // END on event play
|
314
|
+
} // END if videoStart
|
315
|
+
|
316
|
+
// add playbackRates, only available for VideoJS
|
317
|
+
// ---------------------------------------------------------------------
|
318
|
+
if (videojsPlayer.playbackRates !== undefined) {
|
319
|
+
videojsPlayer.playbackRates(playbackRates);
|
320
|
+
}
|
321
|
+
|
322
|
+
// add hotkeys Plugin, only available for VideoJS
|
323
|
+
// ---------------------------------------------------------------------
|
324
|
+
if (hotKeysPlugin !== undefined && hotKeysPlugin.enabled && videojsPlayer.hotKeys !== undefined) {
|
325
|
+
|
326
|
+
// merge objects
|
327
|
+
hotKeysPlugin.options = __assign(__assign({}, hotKeysPluginDefaults), hotKeysPlugin.options);
|
328
|
+
|
329
|
+
// prevent multiple plugin instances
|
330
|
+
var hotKeysActive = false;
|
331
|
+
if (videojsPlayer.activePlugins_ !== undefined && videojsPlayer.activePlugins_.hotKeys !== undefined) {
|
332
|
+
hotKeysActive = videojsPlayer.activePlugins_.hotKeys;
|
333
|
+
}
|
334
|
+
|
335
|
+
if (!hotKeysActive) {
|
336
|
+
videojsPlayer.hotKeys({
|
337
|
+
volumeStep: hotKeysPlugin.options.volumeStep,
|
338
|
+
seekStep: hotKeysPlugin.options.seekStep,
|
339
|
+
enableMute: hotKeysPlugin.options.enableMute,
|
340
|
+
enableFullscreen: hotKeysPlugin.options.enableFullscreen,
|
341
|
+
enableNumbers: hotKeysPlugin.options.enableNumbers,
|
342
|
+
enableVolumeScroll: hotKeysPlugin.options.enableVolumeScroll,
|
343
|
+
enableHoverScroll: hotKeysPlugin.options.enableHoverScroll,
|
344
|
+
alwaysCaptureHotkeys: hotKeysPlugin.options.alwaysCaptureHotkeys,
|
345
|
+
captureDocumentHotkeys: hotKeysPlugin.options.captureDocumentHotkeys,
|
346
|
+
documentHotkeysFocusElementFilter: hotKeysPlugin.options.documentHotkeysFocusElementFilter,
|
347
|
+
|
348
|
+
// Mimic VLC seek behavior (default to: 15)
|
349
|
+
seekStep: function(e) {
|
350
|
+
if (e.ctrlKey && e.altKey) {
|
351
|
+
return 5*60;
|
352
|
+
} else if (e.ctrlKey) {
|
353
|
+
return 60;
|
354
|
+
} else if (e.altKey) {
|
355
|
+
return 10;
|
356
|
+
} else {
|
357
|
+
return 15;
|
358
|
+
}
|
359
|
+
}
|
360
|
+
|
361
|
+
});
|
362
|
+
} // END if hotKeysActive
|
363
|
+
|
364
|
+
} // END if hotKeysPlugin enabled
|
365
|
+
|
366
|
+
// add skipButtons Plugin, only available for VideoJS
|
367
|
+
// ---------------------------------------------------------------------
|
368
|
+
if (skipButtonsPlugin !== undefined && skipButtonsPlugin.enabled && videojsPlayer.skipButtons !== undefined) {
|
369
|
+
// merge objects
|
370
|
+
skipButtonsPlugin.options = __assign(__assign({}, skipButtonsPluginDefaults), skipButtonsPlugin.options);
|
371
|
+
|
372
|
+
// prevent multiple plugin instances
|
373
|
+
var skipButtonsActive = false;
|
374
|
+
if (videojsPlayer.activePlugins_ !== undefined && videojsPlayer.activePlugins_.skipButtons !== undefined) {
|
375
|
+
skipButtonsActive = videojsPlayer.activePlugins_.skipButtons;
|
376
|
+
}
|
377
|
+
|
378
|
+
if (!skipButtonsActive) {
|
379
|
+
videojsPlayer.skipButtons({
|
380
|
+
backward: skipButtonsPlugin.options.backward,
|
381
|
+
forward: skipButtonsPlugin.options.forward,
|
382
|
+
backwardIndex: skipButtonsPlugin.options.backwardIndex,
|
383
|
+
forwardIndex: skipButtonsPlugin.options.forwardIndex
|
384
|
+
});
|
385
|
+
}
|
386
|
+
|
387
|
+
} // END if skipButtons Plugin enabled
|
388
|
+
|
389
|
+
// add zoom Plugin (only available for VJS|local video/mp4)
|
390
|
+
// ---------------------------------------------------------------------
|
391
|
+
if (videoInfo.youtube) {
|
392
|
+
// zoom pluging NOT supported for YouTube
|
393
|
+
zoomPlugin.enabled = false;
|
394
|
+
}
|
395
|
+
|
396
|
+
if (zoomPlugin !== undefined && zoomPlugin.enabled && videojsPlayer.zoomButtons !== undefined) {
|
397
|
+
// merge objects
|
398
|
+
zoomPlugin.options = __assign(__assign({}, zoomPluginDefaults), zoomPlugin.options);
|
399
|
+
|
400
|
+
// prevent multiple plugin instances
|
401
|
+
var zoomButtonsActive = false;
|
402
|
+
if (videojsPlayer.activePlugins_ !== undefined && videojsPlayer.activePlugins_.zoomButtons !== undefined) {
|
403
|
+
zoomButtonsActive = videojsPlayer.activePlugins_.zoomButtons;
|
404
|
+
}
|
405
|
+
|
406
|
+
if (!zoomButtonsActive) {
|
407
|
+
videojsPlayer.zoomButtons({
|
408
|
+
moveX: zoomPlugin.options.moveX,
|
409
|
+
moveY: zoomPlugin.options.moveY,
|
410
|
+
rotate: zoomPlugin.options.rotate,
|
411
|
+
zoom: zoomPlugin.options.zoom
|
412
|
+
});
|
413
|
+
}
|
414
|
+
|
415
|
+
} // END if zoom Plugin enabled
|
416
|
+
|
417
|
+
// chapter track processing, only available for VideoJS
|
418
|
+
// ---------------------------------------------------------------------
|
419
|
+
if (vjsObject.core.galleryItems[vjsObject.core.index].video !== undefined) {
|
420
|
+
videoData = JSON.parse(vjsObject.core.galleryItems[vjsObject.core.index].video);
|
421
|
+
}
|
422
|
+
|
423
|
+
// chapter tracks only available for VideoJS (local video/mp4)
|
424
|
+
// ---------------------------------------------------------------------
|
425
|
+
if (videoData.tracks && videoData.tracks.length > 0) {
|
426
|
+
for (var i=0; i<videoData.tracks.length; i++) {
|
427
|
+
if (videoData.tracks[i].kind == 'chapters') {
|
428
|
+
trackSrc = videoData.tracks[i].src;
|
429
|
+
chapterTracksEnabled = true;
|
430
|
+
}
|
431
|
+
}
|
432
|
+
} // END if videoData tracks
|
433
|
+
|
434
|
+
if (chapterTracksEnabled) {
|
435
|
+
var parser = new WebVTTParser();
|
436
|
+
var markers = [];
|
437
|
+
|
438
|
+
function cb_load (data /* ,textStatus, jqXHR */ ) {
|
439
|
+
var tree = parser.parse(data, 'metadata');
|
440
|
+
var marker;
|
441
|
+
|
442
|
+
// add chapter tracks to markers array
|
443
|
+
for (var i=0; i<tree.cues.length; i++) {
|
444
|
+
marker = { time: tree.cues[i].startTime, label: tree.cues[i].text };
|
445
|
+
markers.push(marker);
|
446
|
+
}
|
447
|
+
}; // END function cb_load
|
448
|
+
|
449
|
+
// load chapter tracks
|
450
|
+
// -----------------------------------------------------------------
|
451
|
+
loadVtt(trackSrc, cb_load);
|
452
|
+
|
453
|
+
// add chapter tracks on play
|
454
|
+
videojsPlayer.on("play", function() {
|
455
|
+
videojsPlayer.currentTime(videoStart);
|
456
|
+
|
457
|
+
var total = videojsPlayer.duration();
|
458
|
+
var timeline = $(videojsPlayer.controlBar.progressControl.children_[0].el_);
|
459
|
+
|
460
|
+
// add chapter tracks on timeline (delayed)
|
461
|
+
setTimeout (function() {
|
462
|
+
var markers_loaded = setInterval (function () {
|
463
|
+
if (markers.length) {
|
464
|
+
for (var i=0; i<markers.length; i++) {
|
465
|
+
var left = (markers[i].time / total * 100) + '%';
|
466
|
+
var time = markers[i].time;
|
467
|
+
var el = $('<div class="vjs-chapter-marker" style="left: ' +left+ '" data-time="' +time+ '"> <span>' +markers[i].label+ '</span></div>');
|
468
|
+
|
469
|
+
el.click(function() {
|
470
|
+
videojsPlayer.currentTime($(this).data('time'));
|
471
|
+
});
|
472
|
+
|
473
|
+
timeline.append(el);
|
474
|
+
}
|
475
|
+
clearInterval(markers_loaded);
|
476
|
+
}
|
477
|
+
}, 10); // END markers_loaded
|
478
|
+
}, 1000 ); // END setTimeout
|
479
|
+
|
480
|
+
}); // END on "play"
|
481
|
+
|
482
|
+
} // END if chapterTracksEnabled
|
483
|
+
|
484
|
+
}; // END vjsProcessExtendedButtonsAndPlugins
|
219
485
|
|
220
486
|
/**
|
221
487
|
* Video module for lightGallery
|
@@ -250,7 +516,6 @@
|
|
250
516
|
this.settings = __assign(__assign({}, videoSettings), this.core.settings);
|
251
517
|
return this;
|
252
518
|
}
|
253
|
-
|
254
519
|
Video.prototype.init = function () {
|
255
520
|
var _this = this;
|
256
521
|
/**
|
@@ -269,7 +534,6 @@
|
|
269
534
|
// @desc fired immediately after each slide transition.
|
270
535
|
this.core.LGel.on(lGEvents.afterSlide + ".video", this.onAfterSlide.bind(this));
|
271
536
|
};
|
272
|
-
|
273
537
|
/**
|
274
538
|
* @desc Event triggered when a slide is completely loaded
|
275
539
|
*
|
@@ -294,7 +558,6 @@
|
|
294
558
|
this.loadAndPlayVideo(index);
|
295
559
|
}
|
296
560
|
};
|
297
|
-
|
298
561
|
/**
|
299
562
|
* @desc Event triggered when video url or poster found
|
300
563
|
* Append video HTML is poster is not given
|
@@ -306,7 +569,7 @@
|
|
306
569
|
var _a = event.detail, index = _a.index, src = _a.src, html5Video = _a.html5Video, hasPoster = _a.hasPoster;
|
307
570
|
if (!hasPoster) {
|
308
571
|
// All functions are called separately if poster exist in loadVideoOnPosterClick function
|
309
|
-
this.
|
572
|
+
this.appendVideo(this.core.getSlideItem(index), {
|
310
573
|
src: src,
|
311
574
|
addClass: 'lg-object',
|
312
575
|
index: index,
|
@@ -314,12 +577,8 @@
|
|
314
577
|
});
|
315
578
|
// Automatically navigate to next slide once video reaches the end.
|
316
579
|
this.gotoNextSlideOnVideoEnd(src, index);
|
317
|
-
} else {
|
318
|
-
// jadams
|
319
|
-
var slideItem = this.core.getSlideItem(index);
|
320
580
|
}
|
321
581
|
};
|
322
|
-
|
323
582
|
/**
|
324
583
|
* @desc fired immediately before each slide transition.
|
325
584
|
* Pause the previous video
|
@@ -335,7 +594,6 @@
|
|
335
594
|
this.pauseVideo(prevIndex);
|
336
595
|
}
|
337
596
|
};
|
338
|
-
|
339
597
|
/**
|
340
598
|
* @desc fired immediately after each slide transition.
|
341
599
|
* Play video if autoplayVideoOnSlide option is enabled.
|
@@ -358,7 +616,6 @@
|
|
358
616
|
}
|
359
617
|
}
|
360
618
|
};
|
361
|
-
|
362
619
|
Video.prototype.loadAndPlayVideo = function (index) {
|
363
620
|
var $slide = this.core.getSlideItem(index);
|
364
621
|
var currentGalleryItem = this.core.galleryItems[index];
|
@@ -376,7 +633,6 @@
|
|
376
633
|
Video.prototype.playVideo = function (index) {
|
377
634
|
this.controlVideo(index, 'play');
|
378
635
|
};
|
379
|
-
|
380
636
|
/**
|
381
637
|
* Pause HTML5, Youtube, Vimeo or Wistia videos in a particular slide.
|
382
638
|
* @param {number} index - Index of the slide
|
@@ -387,154 +643,112 @@
|
|
387
643
|
|
388
644
|
// jadams
|
389
645
|
Video.prototype.getVideoHtml = function (src, addClass, index, html5Video) {
|
390
|
-
var
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
646
|
+
var currentGalleryHtml, currentGalleryItem, videoInfo,
|
647
|
+
videoTitle, video, video_api, commonIframeProps;
|
648
|
+
|
649
|
+
videoInfo = this.core.galleryItems[index].__slideVideoInfo || {};
|
650
|
+
currentGalleryItem = this.core.galleryItems[index];
|
651
|
+
|
652
|
+
if (currentGalleryItem.subHtml.includes('<h2>')) {
|
653
|
+
currentGalleryHtml = currentGalleryItem.subHtml.split("</h2>");
|
654
|
+
videoTitle = currentGalleryHtml[0].replace('<h2>','');
|
655
|
+
} else if (currentGalleryItem.subHtml.includes('<h5>')) {
|
656
|
+
// for backward compatibility reasons
|
657
|
+
currentGalleryHtml = currentGalleryItem.subHtml.split("</h5>");
|
658
|
+
videoTitle = currentGalleryHtml[0].replace('<h5>','');
|
659
|
+
}
|
660
|
+
|
661
|
+
videoTitle = videoTitle ? 'title="' + videoTitle + '"' : '';
|
662
|
+
commonIframeProps = "allowtransparency=\"true\"\n frameborder=\"0\"\n scrolling=\"no\"\n allowfullscreen\n mozallowfullscreen\n webkitallowfullscreen\n oallowfullscreen\n msallowfullscreen";
|
396
663
|
|
397
664
|
if (videoInfo.youtube) {
|
398
|
-
var videoId
|
399
|
-
var youTubeParams
|
665
|
+
var videoId = 'lg-youtube' + index;
|
666
|
+
var youTubeParams = getYouTubeParams(videoInfo, this.settings.youTubePlayerParams);
|
400
667
|
var isYouTubeNoCookieURL = isYouTubeNoCookie(src);
|
401
|
-
var youtubeURL
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
// var video = `
|
406
|
-
// <video
|
407
|
-
// id="${videoId}"
|
408
|
-
// class="lg-video-object lg-youtube vjs-theme-uno video-js">
|
409
|
-
// data-setup='{
|
410
|
-
// "fluid" : true,
|
411
|
-
// "techOrder": [
|
412
|
-
// "youtube", "html5"
|
413
|
-
// ],
|
414
|
-
// "sources": [{
|
415
|
-
// "type": "video/youtube",
|
416
|
-
// "src": "//youtube.com/watch?v=nV8UZJNBY6"
|
417
|
-
// }],
|
418
|
-
// "controlBar": {
|
419
|
-
// "pictureInPictureToggle": false,
|
420
|
-
// "volumePanel": {
|
421
|
-
// "inline": false
|
422
|
-
// }
|
423
|
-
// }
|
424
|
-
// }'>
|
425
|
-
// Your browser does not support HTML5 video
|
426
|
-
// </video>
|
427
|
-
// `;
|
428
|
-
|
429
|
-
var video_new = `
|
668
|
+
var youtubeURL = isYouTubeNoCookieURL ? '//youtube-nocookie.com/' : '//youtube.com/';
|
669
|
+
var ytVideoID = videoInfo.youtube[1];
|
670
|
+
|
671
|
+
var video_iframe = `
|
430
672
|
<iframe
|
431
673
|
id="${videoId}"
|
432
674
|
class="lg-video-object lg-youtube ${addClass}"
|
433
|
-
|
434
|
-
title="${videoTitle}""
|
435
|
-
src="${youtubeURL}/embed${videoInfo.youtube[1]}${youTubeParams}"
|
675
|
+
src="${youtubeURL}/embed/${ytVideoID}${youTubeParams}"
|
436
676
|
${commonIframeProps}>
|
437
677
|
</iframe>
|
438
678
|
`;
|
439
679
|
|
440
|
-
|
680
|
+
var video_vjs = `
|
681
|
+
<video
|
682
|
+
id="${videoId}"
|
683
|
+
class="video-js lg-video-object lg-youtube vjs-theme-uno">
|
684
|
+
<source
|
685
|
+
type="video/youtube",
|
686
|
+
src="//youtube.com/watch?v=${ytVideoID}"
|
687
|
+
>
|
688
|
+
|
689
|
+
Your browser does not support HTML5 video.
|
690
|
+
</video>
|
691
|
+
`;
|
441
692
|
|
442
|
-
|
443
|
-
|
693
|
+
video_api = 'youtube';
|
694
|
+
video = (video_api === 'iframe') ? video_iframe : video_vjs;
|
695
|
+
// END videoInfo youtube
|
696
|
+
} else if (videoInfo.vimeo) {
|
444
697
|
var videoId = 'lg-vimeo' + index;
|
445
698
|
var playerParams = getVimeoURLParams(this.settings.vimeoPlayerParams, videoInfo);
|
446
699
|
|
447
700
|
video = "<iframe allow=\"autoplay\" id=" + videoId + " class=\"lg-video-object lg-vimeo " + addClass + "\" " + videoTitle + " src=\"//player.vimeo.com/video/" + (videoInfo.vimeo[1] + playerParams) + "\" " + commonIframeProps + "></iframe>";
|
448
|
-
}
|
449
|
-
// jadams: added Wistia Player
|
450
|
-
else if (videoInfo.wistia) {
|
701
|
+
} else if (videoInfo.wistia) {
|
451
702
|
var wistiaId = 'lg-wistia' + index;
|
452
703
|
var playerParams = param(this.settings.wistiaPlayerParams);
|
453
704
|
playerParams = playerParams ? '?' + playerParams : '';
|
454
705
|
|
455
|
-
video = "<iframe allow=\"autoplay\" id=\"" + wistiaId + "\" src=\"//fast.wistia.net/embed/" +
|
456
|
-
}
|
457
|
-
// jadams: added Dailymotion Player
|
458
|
-
else if (videoInfo.dailymotion) {
|
706
|
+
video = "<iframe allow=\"autoplay\" id=\"" + wistiaId + "\" src=\"//fast.wistia.net/embed/iframe/" + (videoInfo.wistia[4] + playerParams) + "\" " + videoTitle + " class=\"wistia_embed lg-video-object lg-wistia " + addClass + "\" name=\"wistia_embed\" " + commonIframeProps + "></iframe>";
|
707
|
+
} else if (videoInfo.dailymotion) {
|
459
708
|
var dailymotionId = 'lg-dailymotion' + index;
|
460
709
|
var playerParams = param(this.settings.dailymotionPlayerParams);
|
461
710
|
playerParams = playerParams ? '?' + playerParams : '';
|
462
711
|
|
463
|
-
video =
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
712
|
+
video = `
|
713
|
+
<iframe
|
714
|
+
id="${dailymotionId}"
|
715
|
+
src="//dailymotion.com/embed/video/${videoInfo.dailymotion[1]}?api=1 ${playerParams}"
|
716
|
+
${videoTitle}
|
717
|
+
class="dailymotion_embed lg-video-object lg-dailymotiion ${addClass}"
|
718
|
+
name="dailymotion_embed"
|
719
|
+
${commonIframeProps}>
|
720
|
+
</iframe>
|
721
|
+
`;
|
469
722
|
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
html5VideoMarkup += "<source src=\"" + html5Video.source[i].src + "\"
|
476
|
-
|
477
|
-
|
723
|
+
} else if (videoInfo.html5) {
|
724
|
+
var html5VideoMarkup = '';
|
725
|
+
for (var i = 0; i < html5Video.source.length; i++) {
|
726
|
+
var type = html5Video.source[i].type;
|
727
|
+
var typeAttr = type ? "type=\"" + type + "\"" : '';
|
728
|
+
html5VideoMarkup += "<source src=\"" + html5Video.source[i].src + "\" " + typeAttr + ">";
|
729
|
+
}
|
730
|
+
if (html5Video.tracks) {
|
478
731
|
var _loop_1 = function (i) {
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
732
|
+
var trackAttributes = '';
|
733
|
+
var track = html5Video.tracks[i];
|
734
|
+
Object.keys(track || {}).forEach(function (key) {
|
735
|
+
trackAttributes += key + "=\"" + track[key] + "\" ";
|
736
|
+
});
|
737
|
+
html5VideoMarkup += "<track " + trackAttributes + ">";
|
485
738
|
};
|
486
739
|
for (var i = 0; i < html5Video.tracks.length; i++) {
|
487
|
-
|
740
|
+
_loop_1(i);
|
488
741
|
}
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
var html5VideoAttrs = html5VideoAttrs_1;
|
494
|
-
|
495
|
-
Object.keys(videoAttributes_1 || {}).forEach(function (key) {
|
742
|
+
}
|
743
|
+
var html5VideoAttrs_1 = '';
|
744
|
+
var videoAttributes_1 = html5Video.attributes || {};
|
745
|
+
Object.keys(videoAttributes_1 || {}).forEach(function (key) {
|
496
746
|
html5VideoAttrs_1 += key + "=\"" + videoAttributes_1[key] + "\" ";
|
497
|
-
|
498
|
-
|
499
|
-
var videojsTheme = (this.settings.videojsTheme) ? this.settings.videojsTheme : '';
|
500
|
-
var videojsSettings = (this.settings.videojs) ? 'video-js' : '';
|
501
|
-
|
502
|
-
// jadams: template string
|
503
|
-
video = `
|
504
|
-
<video class="lg-video-object lg-html5 ${videojsTheme} ${videojsSettings} " ${html5VideoAttrs}>
|
505
|
-
${html5VideoMarkup}
|
506
|
-
Your browser does not support HTML5 video.
|
507
|
-
</video>
|
508
|
-
`;
|
509
|
-
|
510
|
-
// var video = `
|
511
|
-
// <video
|
512
|
-
// id="${videoId}"
|
513
|
-
// class="lg-video-object lg-youtube vjs-theme-uno video-js">
|
514
|
-
// data-setup='{
|
515
|
-
// "fluid" : true,
|
516
|
-
// "techOrder": [
|
517
|
-
// "youtube", "html5"
|
518
|
-
// ],
|
519
|
-
// "sources": [{
|
520
|
-
// "type": "video/youtube",
|
521
|
-
// "src": "//youtube.com/watch?v=nV8UZJNBY6"
|
522
|
-
// }],
|
523
|
-
// "controlBar": {
|
524
|
-
// "pictureInPictureToggle": false,
|
525
|
-
// "volumePanel": {
|
526
|
-
// "inline": false
|
527
|
-
// }
|
528
|
-
// }
|
529
|
-
// }'>
|
530
|
-
// Your browser does not support HTML5 video
|
531
|
-
// </video>
|
532
|
-
// `;
|
533
|
-
|
534
|
-
// video = "<video class=\"lg-video-object lg-html5 " + (this.settings.videojs && this.settings.videojsTheme
|
535
|
-
// ? this.settings.videojsTheme + ' '
|
536
|
-
// : '') + " " + (this.settings.videojs ? ' video-js' : '') + "\" " + html5VideoAttrs_1 + ">\n " + html5VideoMarkup + "\n Your browser does not support HTML5 video.\n </video>";
|
747
|
+
});
|
537
748
|
|
749
|
+
video = "<video class=\"lg-video-object lg-html5 " + (this.settings.videojs && this.settings.videojsTheme
|
750
|
+
? this.settings.videojsTheme + ' '
|
751
|
+
: '') + " " + (this.settings.videojs ? ' video-js' : '') + "\" " + html5VideoAttrs_1 + ">\n " + html5VideoMarkup + "\n Your browser does not support HTML5 video.\n </video>";
|
538
752
|
}
|
539
753
|
|
540
754
|
return video;
|
@@ -546,32 +760,82 @@
|
|
546
760
|
* @param {HTMLElement} el - slide element
|
547
761
|
* @param {Object} videoParams - Video parameters, Contains src, class, index, htmlVideo
|
548
762
|
*/
|
549
|
-
Video.prototype.
|
550
|
-
var
|
551
|
-
var
|
763
|
+
Video.prototype.appendVideo = function (el, videoParams) {
|
764
|
+
var vjsPlayer;
|
765
|
+
var _a = {};
|
766
|
+
var videojsEnabled = false;
|
767
|
+
var videoHtml = this.getVideoHtml(videoParams.src, videoParams.addClass, videoParams.index, videoParams.html5Video);
|
768
|
+
|
552
769
|
el.find('.lg-video-cont').append(videoHtml);
|
553
770
|
var $videoElement = el.find('.lg-video-object').first();
|
771
|
+
|
772
|
+
// check the HTML Element for the active player (failsafe)
|
773
|
+
// if NOT available, something went totally wrong
|
774
|
+
if (!$videoElement.get()) {
|
775
|
+
return;
|
776
|
+
}
|
777
|
+
|
554
778
|
if (videoParams.html5Video) {
|
555
779
|
$videoElement.on('mousedown.lg.video', function (e) {
|
556
780
|
e.stopPropagation();
|
557
781
|
});
|
558
782
|
}
|
559
|
-
|
783
|
+
|
784
|
+
_a = this.core.galleryItems[videoParams.index].__slideVideoInfo;
|
785
|
+
_a.videojs = { enabled: false };
|
786
|
+
videojsEnabled = videoHtml.includes('iframe');
|
787
|
+
_a.videojs.enabled = (videojsEnabled) ? false : true;
|
788
|
+
|
789
|
+
// jadams, 2025-06-13: process html5
|
790
|
+
if (this.settings.videojs && (_a === null || _a === void 0 ? void 0 : _a.html5)) {
|
560
791
|
try {
|
561
|
-
|
792
|
+
if (_a.videojs.enabled) {
|
793
|
+
vjsPlayer = videojs($videoElement.get(), this.settings.videojsOptions);
|
794
|
+
this.settings.vjsPlayer = vjsPlayer;
|
795
|
+
_a.videojs.player = vjsPlayer;
|
796
|
+
|
797
|
+
return vjsPlayer;
|
798
|
+
}
|
562
799
|
}
|
563
800
|
catch (e) {
|
564
|
-
|
801
|
+
// jadams:
|
802
|
+
console.warn('lightGallery: Make sure you have included //github.com/vimeo/player.js');
|
565
803
|
}
|
566
804
|
}
|
567
|
-
};
|
568
805
|
|
806
|
+
// jadams, 2025-06-13: process youtube
|
807
|
+
if (this.settings.videojs && (_a === null || _a === void 0 ? void 0 : _a.youtube)) {
|
808
|
+
try {
|
809
|
+
if (_a.videojs.enabled) {
|
810
|
+
vjsPlayer = videojs($videoElement.get(), this.settings.videojsOptions);
|
811
|
+
this.settings.vjsPlayer = vjsPlayer;
|
812
|
+
_a.videojs.player = vjsPlayer;
|
813
|
+
|
814
|
+
return vjsPlayer;
|
815
|
+
}
|
816
|
+
}
|
817
|
+
catch (e) {
|
818
|
+
// jadams:
|
819
|
+
console.warn('lightGallery: Make sure you have included //github.com/vimeo/player.js');
|
820
|
+
}
|
821
|
+
}
|
822
|
+
|
823
|
+
}; // END appendVideo
|
824
|
+
|
825
|
+
// jadams
|
569
826
|
Video.prototype.gotoNextSlideOnVideoEnd = function (src, index) {
|
570
827
|
var _this = this;
|
571
828
|
var $videoElement = this.core
|
572
829
|
.getSlideItem(index)
|
573
830
|
.find('.lg-video-object')
|
574
831
|
.first();
|
832
|
+
|
833
|
+
// try to get HTML Element for the active player (failsafe)
|
834
|
+
// if NOT available, something went totally wrong
|
835
|
+
if (!$videoElement.get()) {
|
836
|
+
return;
|
837
|
+
}
|
838
|
+
|
575
839
|
var videoInfo = this.core.galleryItems[index].__slideVideoInfo || {};
|
576
840
|
if (this.settings.gotoNextSlideOnVideoEnd) {
|
577
841
|
if (videoInfo.html5) {
|
@@ -587,8 +851,8 @@
|
|
587
851
|
});
|
588
852
|
}
|
589
853
|
catch (e) {
|
590
|
-
// jadams
|
591
|
-
console.
|
854
|
+
// jadams
|
855
|
+
console.error('lightGallery:- Make sure you have included //github.com/vimeo/player.js');
|
592
856
|
}
|
593
857
|
}
|
594
858
|
else if (videoInfo.wistia) {
|
@@ -605,269 +869,60 @@
|
|
605
869
|
});
|
606
870
|
}
|
607
871
|
catch (e) {
|
608
|
-
|
609
|
-
|
872
|
+
// jadams
|
873
|
+
console.error('lightGallery:- Make sure you have included //fast.wistia.com/assets/external/E-v1.js');
|
610
874
|
}
|
611
875
|
}
|
612
876
|
}
|
613
877
|
};
|
614
878
|
|
879
|
+
// jadams: 2025-06-11: Add (extended) VideoJS control elements
|
880
|
+
// for HTML5 video over VJS (to be extended for e.g.YouTube)
|
881
|
+
// ---------------------------------------------------------------------
|
615
882
|
Video.prototype.controlVideo = function (index, action) {
|
616
|
-
|
617
|
-
var
|
618
|
-
|
619
|
-
|
620
|
-
hotKeysPlugin, skipButtonsPlugin, zoomPlugin;
|
621
|
-
|
622
|
-
var playbackRatesDefaults = vjsOptions.playbackRates.values;
|
623
|
-
var chapterTracksEnabled = false;
|
624
|
-
|
625
|
-
var hotKeysPluginDefaults = {
|
626
|
-
volumeStep: vjsOptions.plugins.hotKeys.volumeStep,
|
627
|
-
seekStep: vjsOptions.plugins.hotKeys.seekStep,
|
628
|
-
enableMute: vjsOptions.plugins.hotKeys.enableMute,
|
629
|
-
enableVolumeScroll: vjsOptions.plugins.hotKeys.enableVolumeScroll,
|
630
|
-
enableHoverScroll: vjsOptions.plugins.hotKeys.enableHoverScroll,
|
631
|
-
enableFullscreen: vjsOptions.plugins.hotKeys.enableFullscreen,
|
632
|
-
enableNumbers: vjsOptions.plugins.hotKeys.enableNumbers,
|
633
|
-
enableJogStyle: vjsOptions.plugins.hotKeys.enableJogStyle,
|
634
|
-
alwaysCaptureHotkeys: vjsOptions.plugins.hotKeys.alwaysCaptureHotkeys,
|
635
|
-
captureDocumentHotkeys: vjsOptions.plugins.hotKeys.captureDocumentHotkeys,
|
636
|
-
enableModifiersForNumbers: vjsOptions.plugins.hotKeys.enableModifiersForNumbers,
|
637
|
-
enableInactiveFocus: vjsOptions.plugins.hotKeys.enableInactiveFocus,
|
638
|
-
skipInitialFocus: vjsOptions.plugins.hotKeys.skipInitialFocus
|
639
|
-
};
|
640
|
-
|
641
|
-
var skipButtonsPluginDefaults = {
|
642
|
-
backward: vjsOptions.plugins.skipButtons.backward,
|
643
|
-
forward: vjsOptions.plugins.skipButtons.forward,
|
644
|
-
backwardIndex: 0,
|
645
|
-
forwardIndex: 1
|
646
|
-
};
|
647
|
-
|
648
|
-
var zoomPluginDefaults = {
|
649
|
-
moveX: vjsOptions.plugins.zoomButtons.moveX,
|
650
|
-
moveY: vjsOptions.plugins.zoomButtons.moveY,
|
651
|
-
rotate: vjsOptions.plugins.zoomButtons.rotate,
|
652
|
-
zoom: vjsOptions.plugins.zoomButtons.zoom
|
653
|
-
};
|
654
|
-
|
655
|
-
videoInfo = this.core.galleryItems[index].__slideVideoInfo || {};
|
883
|
+
var $videoElement, videoInfo, videoId;
|
884
|
+
var videojsPlayer = 'not_set';
|
885
|
+
|
886
|
+
// load the lgQuery element for the active player
|
656
887
|
$videoElement = this.core
|
657
888
|
.getSlideItem(index)
|
658
889
|
.find('.lg-video-object')
|
659
890
|
.first()
|
660
891
|
|
661
|
-
//
|
662
|
-
//
|
663
|
-
if (
|
664
|
-
|
665
|
-
|
666
|
-
if (videoData.tracks !== undefined && videoData.tracks.length > 0) {
|
667
|
-
for (var i=0; i<videoData.tracks.length; i++) {
|
668
|
-
if (videoData.tracks[i].kind == 'chapters') {
|
669
|
-
trackSrc = videoData.tracks[i].src;
|
670
|
-
chapterTracksEnabled = true;
|
671
|
-
}
|
672
|
-
}
|
673
|
-
} // END if videoData.tracks
|
674
|
-
|
675
|
-
if ($videoElement.selector !== undefined) {
|
676
|
-
videoId = $videoElement.selector.id;
|
677
|
-
videojsPlayer = videojs(videoId);
|
678
|
-
} else {
|
679
|
-
videojsPlayer = 'unknown';
|
680
|
-
}
|
681
|
-
|
682
|
-
if (videojsPlayer !== 'unknown') {
|
683
|
-
|
684
|
-
// added VJS Plugins hotKeys|skipButtons|zoom, playbackRates
|
685
|
-
// -------------------------------------------------------------
|
686
|
-
hotKeysPlugin = this.settings.videojsOptions.controlBar.hotKeysPlugin;
|
687
|
-
skipButtonsPlugin = this.settings.videojsOptions.controlBar.skipButtonsPlugin;
|
688
|
-
zoomPlugin = this.settings.videojsOptions.controlBar.zoomPlugin;
|
689
|
-
playbackRates = (this.settings.videojsOptions.controlBar.playbackRates !== undefined) ? this.settings.videojsOptions.controlBar.playbackRates : playbackRatesDefaults;
|
690
|
-
|
691
|
-
// jadams, 2024-01-22: added video start position
|
692
|
-
// -------------------------------------------------------------
|
693
|
-
if (this.settings.videojsOptions.videoStart !== undefined) {
|
694
|
-
videoStart = this.settings.videojsOptions.videoStart[index];
|
695
|
-
videojsPlayer.on("play", function() {
|
696
|
-
var startFromSecond = new Date('1970-01-01T' + videoStart + 'Z').getTime() / 1000;
|
697
|
-
videojsPlayer.currentTime(startFromSecond);
|
698
|
-
}); // END on event play
|
699
|
-
} // END if videoStart
|
700
|
-
|
701
|
-
// add playbackRates (only available for VJS)
|
702
|
-
if (videojsPlayer.playbackRates !== undefined) {
|
703
|
-
videojsPlayer.playbackRates(playbackRates);
|
704
|
-
}
|
705
|
-
|
706
|
-
// add hotkeys Plugin (only available for VJS)
|
707
|
-
if (hotKeysPlugin !== undefined && hotKeysPlugin.enabled && videojsPlayer.hotKeys !== undefined) {
|
708
|
-
|
709
|
-
// merge objects
|
710
|
-
hotKeysPlugin.options = __assign(__assign({}, hotKeysPluginDefaults), hotKeysPlugin.options);
|
711
|
-
|
712
|
-
// prevent multiple plugin instances
|
713
|
-
var hotKeysActive = false;
|
714
|
-
if (videojsPlayer.activePlugins_ !== undefined && videojsPlayer.activePlugins_.hotKeys !== undefined) {
|
715
|
-
hotKeysActive = videojsPlayer.activePlugins_.hotKeys;
|
716
|
-
}
|
717
|
-
|
718
|
-
if (!hotKeysActive) {
|
719
|
-
videojsPlayer.hotKeys({
|
720
|
-
volumeStep: hotKeysPlugin.options.volumeStep,
|
721
|
-
seekStep: hotKeysPlugin.options.seekStep,
|
722
|
-
enableMute: hotKeysPlugin.options.enableMute,
|
723
|
-
enableFullscreen: hotKeysPlugin.options.enableFullscreen,
|
724
|
-
enableNumbers: hotKeysPlugin.options.enableNumbers,
|
725
|
-
enableVolumeScroll: hotKeysPlugin.options.enableVolumeScroll,
|
726
|
-
enableHoverScroll: hotKeysPlugin.options.enableHoverScroll,
|
727
|
-
alwaysCaptureHotkeys: hotKeysPlugin.options.alwaysCaptureHotkeys,
|
728
|
-
captureDocumentHotkeys: hotKeysPlugin.options.captureDocumentHotkeys,
|
729
|
-
documentHotkeysFocusElementFilter: hotKeysPlugin.options.documentHotkeysFocusElementFilter,
|
730
|
-
|
731
|
-
// Mimic VLC seek behavior (default to: 15)
|
732
|
-
seekStep: function(e) {
|
733
|
-
if (e.ctrlKey && e.altKey) {
|
734
|
-
return 5*60;
|
735
|
-
} else if (e.ctrlKey) {
|
736
|
-
return 60;
|
737
|
-
} else if (e.altKey) {
|
738
|
-
return 10;
|
739
|
-
} else {
|
740
|
-
return 15;
|
741
|
-
}
|
742
|
-
}
|
743
|
-
|
744
|
-
});
|
745
|
-
} // END if hotKeysActive
|
746
|
-
|
747
|
-
} // END if hotKeysPlugin enabled
|
748
|
-
|
749
|
-
// add skipButtons Plugin (only available for VJS)
|
750
|
-
// -------------------------------------------------------------
|
751
|
-
if (skipButtonsPlugin !== undefined && skipButtonsPlugin.enabled && videojsPlayer.skipButtons !== undefined) {
|
752
|
-
// merge objects
|
753
|
-
skipButtonsPlugin.options = __assign(__assign({}, skipButtonsPluginDefaults), skipButtonsPlugin.options);
|
754
|
-
|
755
|
-
// prevent multiple plugin instances
|
756
|
-
var skipButtonsActive = false;
|
757
|
-
if (videojsPlayer.activePlugins_ !== undefined && videojsPlayer.activePlugins_.skipButtons !== undefined) {
|
758
|
-
skipButtonsActive = videojsPlayer.activePlugins_.skipButtons;
|
759
|
-
}
|
760
|
-
|
761
|
-
if (!skipButtonsActive) {
|
762
|
-
videojsPlayer.skipButtons({
|
763
|
-
backward: skipButtonsPlugin.options.backward,
|
764
|
-
forward: skipButtonsPlugin.options.forward,
|
765
|
-
backwardIndex: skipButtonsPlugin.options.backwardIndex,
|
766
|
-
forwardIndex: skipButtonsPlugin.options.forwardIndex
|
767
|
-
});
|
768
|
-
}
|
769
|
-
|
770
|
-
} // END if skipButtons Plugin enabled
|
771
|
-
|
772
|
-
// add zoom Plugin (only available for VJS)
|
773
|
-
// -----------------------------------------------------------------
|
774
|
-
if (zoomPlugin !== undefined && zoomPlugin.enabled && videojsPlayer.zoomButtons !== undefined) {
|
775
|
-
// merge objects
|
776
|
-
zoomPlugin.options = __assign(__assign({}, zoomPluginDefaults), zoomPlugin.options);
|
777
|
-
|
778
|
-
// prevent multiple plugin instances
|
779
|
-
var zoomButtonsActive = false;
|
780
|
-
if (videojsPlayer.activePlugins_ !== undefined && videojsPlayer.activePlugins_.zoomButtons !== undefined) {
|
781
|
-
zoomButtonsActive = videojsPlayer.activePlugins_.zoomButtons;
|
782
|
-
}
|
783
|
-
|
784
|
-
if (!zoomButtonsActive) {
|
785
|
-
videojsPlayer.zoomButtons({
|
786
|
-
moveX: zoomPlugin.options.moveX,
|
787
|
-
moveY: zoomPlugin.options.moveY,
|
788
|
-
rotate: zoomPlugin.options.rotate,
|
789
|
-
zoom: zoomPlugin.options.zoom
|
790
|
-
});
|
791
|
-
}
|
792
|
-
|
793
|
-
} // END if zoom Plugin enabled
|
794
|
-
|
795
|
-
// chapter track processing (only available for VJS)
|
796
|
-
// -----------------------------------------------------------------
|
797
|
-
if (chapterTracksEnabled) {
|
798
|
-
var parser = new WebVTTParser();
|
799
|
-
var markers = [];
|
800
|
-
|
801
|
-
function cb_load (data /* ,textStatus, jqXHR */ ) {
|
802
|
-
var tree = parser.parse(data, 'metadata');
|
803
|
-
var marker;
|
804
|
-
|
805
|
-
// add chapter tracks to markers array
|
806
|
-
for (var i=0; i<tree.cues.length; i++) {
|
807
|
-
marker = { time: tree.cues[i].startTime, label: tree.cues[i].text };
|
808
|
-
markers.push(marker);
|
809
|
-
}
|
810
|
-
}; // END function cb_load
|
811
|
-
|
812
|
-
// load chapter tracks
|
813
|
-
// -------------------------------------------------------------
|
814
|
-
loadVtt(trackSrc, cb_load);
|
815
|
-
|
816
|
-
// add chapter tracks on play
|
817
|
-
videojsPlayer.on("play", function() {
|
818
|
-
videojsPlayer.currentTime(videoStart);
|
819
|
-
|
820
|
-
var total = videojsPlayer.duration();
|
821
|
-
var timeline = $(videojsPlayer.controlBar.progressControl.children_[0].el_);
|
822
|
-
|
823
|
-
// add chapter tracks on timeline (delayed)
|
824
|
-
setTimeout (function() {
|
825
|
-
var markers_loaded = setInterval (function () {
|
826
|
-
if (markers.length) {
|
827
|
-
for (var i=0; i<markers.length; i++) {
|
828
|
-
var left = (markers[i].time / total * 100) + '%';
|
829
|
-
var time = markers[i].time;
|
830
|
-
var el = $('<div class="vjs-chapter-marker" style="left: ' +left+ '" data-time="' +time+ '"> <span>' +markers[i].label+ '</span></div>');
|
892
|
+
// try to get HTML Element for the active player (failsafe)
|
893
|
+
// if NOT available, something went totally wrong
|
894
|
+
if (!$videoElement.get()) {
|
895
|
+
return;
|
896
|
+
}
|
831
897
|
|
832
|
-
|
833
|
-
|
834
|
-
});
|
898
|
+
// load the INFO object for the active player
|
899
|
+
videoInfo = this.core.galleryItems[index].__slideVideoInfo || {};
|
835
900
|
|
836
|
-
|
837
|
-
|
838
|
-
|
839
|
-
|
840
|
-
}, 10); // END markers_loaded
|
841
|
-
}, 1000 ); // END setTimeout
|
901
|
+
// process video of type 'html5' for extended VJS settings
|
902
|
+
// -----------------------------------------------------------------
|
903
|
+
// if (this.core.galleryItems[this.core.index].video !== undefined && (videoInfo.html5 || videoInfo.youtube)) {
|
904
|
+
if (videoInfo.html5 || videoInfo.youtube) {
|
842
905
|
|
843
|
-
|
906
|
+
// if ($videoElement.selector.id !== undefined) {
|
907
|
+
// videoId = $videoElement.selector.id;
|
908
|
+
// videojsPlayer = videojs(videoId);
|
909
|
+
// }
|
844
910
|
|
845
|
-
|
911
|
+
if ($videoElement.selector.player !== undefined) {
|
912
|
+
videojsPlayer = $videoElement.selector.player;
|
913
|
+
}
|
846
914
|
|
915
|
+
if (videojsPlayer !== 'not_set') {
|
916
|
+
vjsProcessExtendedButtonsAndPlugins(this, videojsPlayer, videoInfo);
|
847
917
|
} // END if videojsPlayer is defined
|
848
918
|
|
849
919
|
} // END if videoInfo.html5
|
850
920
|
|
851
|
-
|
852
|
-
|
853
|
-
if (videoInfo.
|
854
|
-
try {
|
855
|
-
$videoElement.get().contentWindow.postMessage("{\"event\":\"command\",\"func\":\"" + action + "Video\",\"args\":\"\"}", '*');
|
856
|
-
}
|
857
|
-
catch (e) {
|
858
|
-
console.error("lightGallery:- " + e);
|
859
|
-
}
|
860
|
-
}
|
861
|
-
else if (videoInfo.vimeo) {
|
862
|
-
try {
|
863
|
-
new Vimeo.Player($videoElement.get())[action]();
|
864
|
-
}
|
865
|
-
catch (e) {
|
866
|
-
console.warn('lightGallery: Make sure you have included //github.com/vimeo/player.js');
|
867
|
-
}
|
868
|
-
}
|
869
|
-
else if (videoInfo.html5) {
|
921
|
+
// check responses of the (active) player loaded
|
922
|
+
// -----------------------------------------------------------------
|
923
|
+
if (videoInfo.html5) {
|
870
924
|
if (this.settings.videojs) {
|
925
|
+
// VideoJS API detected
|
871
926
|
try {
|
872
927
|
videojs($videoElement.get())[action]();
|
873
928
|
}
|
@@ -876,10 +931,35 @@
|
|
876
931
|
}
|
877
932
|
}
|
878
933
|
else {
|
934
|
+
// iFrame API detected (??? supported ???)
|
879
935
|
$videoElement.get()[action]();
|
936
|
+
} // END html5
|
937
|
+
} else if (videoInfo.youtube) {
|
938
|
+
if (this.settings.videojs) {
|
939
|
+
// VideoJS API detected
|
940
|
+
try {
|
941
|
+
videojs($videoElement.get())[action]();
|
942
|
+
}
|
943
|
+
catch (e) {
|
944
|
+
console.warn('lightGallery: Make sure you have included videojs');
|
945
|
+
}
|
946
|
+
} else {
|
947
|
+
// iFrame API detected
|
948
|
+
try {
|
949
|
+
$videoElement.get().contentWindow.postMessage("{\"event\":\"command\",\"func\":\"" + action + "Video\",\"args\":\"\"}", '*');
|
950
|
+
}
|
951
|
+
catch (e) {
|
952
|
+
console.error("lightGallery:- " + e);
|
953
|
+
}
|
954
|
+
} // END youtube
|
955
|
+
} else if (videoInfo.vimeo) {
|
956
|
+
try {
|
957
|
+
new Vimeo.Player($videoElement.get())[action]();
|
880
958
|
}
|
881
|
-
|
882
|
-
|
959
|
+
catch (e) {
|
960
|
+
console.warn('lightGallery: Make sure you have included //github.com/vimeo/player.js');
|
961
|
+
} // END vimeo
|
962
|
+
} else if (videoInfo.wistia) {
|
883
963
|
try {
|
884
964
|
window._wq = window._wq || [];
|
885
965
|
// @todo Find a way to destroy wistia player instance
|
@@ -892,8 +972,8 @@
|
|
892
972
|
}
|
893
973
|
catch (e) {
|
894
974
|
console.warn('lightGallery: Make sure you have included //fast.wistia.com/assets/external/E-v1.js');
|
895
|
-
}
|
896
|
-
}
|
975
|
+
} // END wistia
|
976
|
+
} // END if videoInfo
|
897
977
|
|
898
978
|
}; // END controlVideo
|
899
979
|
|
@@ -901,7 +981,7 @@
|
|
901
981
|
var _this = this;
|
902
982
|
// check slide has poster
|
903
983
|
if (!$el.hasClass('lg-video-loaded')) {
|
904
|
-
// check
|
984
|
+
// check already video element present
|
905
985
|
if (!$el.hasClass('lg-has-video')) {
|
906
986
|
$el.addClass('lg-has-video');
|
907
987
|
var _html = void 0;
|
@@ -911,7 +991,7 @@
|
|
911
991
|
_html =
|
912
992
|
typeof video === 'string' ? JSON.parse(video) : video;
|
913
993
|
}
|
914
|
-
var videoJsPlayer_1 = this.
|
994
|
+
var videoJsPlayer_1 = this.appendVideo($el, {
|
915
995
|
src: _src,
|
916
996
|
addClass: '',
|
917
997
|
index: this.core.index,
|
@@ -944,12 +1024,10 @@
|
|
944
1024
|
this.playVideo(this.core.index);
|
945
1025
|
}
|
946
1026
|
};
|
947
|
-
|
948
1027
|
Video.prototype.onVideoLoadAfterPosterClick = function ($el, index) {
|
949
1028
|
$el.addClass('lg-video-loaded');
|
950
1029
|
this.playVideo(index);
|
951
1030
|
};
|
952
|
-
|
953
1031
|
Video.prototype.destroy = function () {
|
954
1032
|
this.core.LGel.off('.lg.video');
|
955
1033
|
this.core.LGel.off('.video');
|