j1-template 2024.3.24 → 2024.3.25
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/apps/amplitudehtml +1147 -0
- data/assets/data/apps/gallery.html +342 -0
- data/assets/data/{masonry.html → apps/masonry.html} +22 -9
- data/assets/data/apps/swiper.html +901 -0
- data/assets/data/masonry_app.html +521 -0
- data/assets/theme/j1/modules/lightGallery/css/theme/uno/uno.css +21 -13
- data/assets/theme/j1/modules/lightGallery/css/theme/uno/uno.min.css +1 -2
- data/assets/theme/j1/modules/lightGallery/js/lightgallery.js +14 -13
- data/assets/theme/j1/modules/lightGallery/js/lightgallery.min.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.js +265 -226
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.min.js +1 -1
- data/assets/theme/j1/modules/videojs/css/themes/uno.css +12 -2
- data/assets/theme/j1/modules/videojs/css/videojs.css +2 -3
- data/assets/theme/j1/modules/videojs/css/videojs.min.css +1 -1
- data/assets/theme/j1/modules/videojs/plugins/controls/zoom/css/zoom.css +55 -55
- data/assets/theme/j1/modules/videojs/plugins/controls/zoom/css/zoom.min.css +2 -1
- data/assets/theme/j1/modules/videojs/plugins/controls/zoom/js/zoom.js +590 -382
- data/assets/theme/j1/modules/videojs/plugins/controls/zoom/js/zoom.min.js +1 -1
- data/assets/theme/j1/modules/videojs/plugins/j1_core/template.min.js +31 -0
- data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/{simple.html → index.html} +11 -10
- data/assets/theme/j1/modules/videojs/plugins/players/dm/js/dailymotion.0.js +647 -0
- data/assets/theme/j1/modules/videojs/plugins/players/dm/js/dailymotion.1.js +653 -0
- data/assets/theme/j1/modules/videojs/plugins/players/vm/!examples/{player → iframe_api}/index.html +3 -3
- data/assets/theme/j1/modules/videojs/plugins/players/vm/!examples/{index.html → videojs_api/index.html} +7 -3
- data/assets/theme/j1/modules/videojs/plugins/players/vm/api/js/v2.21.0/vimeo.js +3562 -0
- data/assets/theme/j1/modules/videojs/plugins/players/vm/api/js/v2.21.0/vimeo.min.js +36 -0
- data/assets/theme/j1/modules/videojs/plugins/players/vm/api/js/vimeo.js +451 -1849
- data/assets/theme/j1/modules/videojs/plugins/players/vm/api/js/vimeo.min.js +2 -14
- data/assets/theme/j1/modules/videojs/plugins/players/vm/js/LICENSE +21 -0
- data/assets/theme/j1/modules/videojs/plugins/players/vm/js/README.md +54 -0
- data/assets/theme/j1/modules/videojs/plugins/players/vm/js/old/vimeo.js +666 -0
- data/assets/theme/j1/modules/videojs/plugins/players/vm/js/old/vimeo.min.js +28 -0
- data/assets/theme/j1/modules/videojs/plugins/players/vm/js/vimeo.js +2318 -548
- data/assets/theme/j1/modules/videojs/plugins/players/vm/js/vimeo.min.js +12 -18
- data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/{simple.html → index.html} +15 -6
- data/assets/theme/j1/modules/videojs/plugins/players/yt/js/youtube.js +12 -5
- data/assets/theme/j1/modules/videojs/plugins/players/yt/js/youtube.min.js +1 -1
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/Gemfile +1 -1
- data/lib/starter_web/README.md +5 -5
- data/lib/starter_web/_config.yml +2 -2
- data/lib/starter_web/_data/blocks/banner.yml +1 -1
- data/lib/starter_web/_data/j1_config.yml +1 -1
- data/lib/starter_web/_data/layouts/home.yml +1 -1
- data/lib/starter_web/_data/modules/authentication.yml +1 -2
- data/lib/starter_web/_data/modules/defaults/masonry.yml +1 -1
- data/lib/starter_web/_data/modules/gallery.yml +35 -24
- data/lib/starter_web/_data/modules/log4javascript.yml +1 -1
- data/lib/starter_web/_data/modules/masonry.yml +30 -14
- data/lib/starter_web/_data/modules/navigator.yml +1 -1
- data/lib/starter_web/_data/modules/navigator_menu.yml +12 -8
- data/lib/starter_web/_data/templates/feed.xml +1 -1
- data/lib/starter_web/_plugins/asciidoctor/dailymotion-block.rb +206 -24
- data/lib/starter_web/_plugins/index/lunr.rb +1 -1
- data/lib/starter_web/assets/image/module/attic/1920x1280/admin-dashboard-bootstrap.jpg +0 -0
- 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/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-launch.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/j1-mockup.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/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/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +1 -1
- data/lib/starter_web/collections/posts/public/featured/_posts/2022-02-01-about-j1.adoc +2 -2
- data/lib/starter_web/collections/posts/public/featured/_posts/2023-10-18-url-types.adoc +2 -2
- data/lib/starter_web/config.ru +1 -1
- data/lib/starter_web/dot.gitattributes +1 -1
- data/lib/starter_web/index.html +8 -8
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/about/features.adoc +5 -5
- data/lib/starter_web/pages/public/about/reporting_issues.adoc +5 -5
- data/lib/starter_web/pages/public/about/site.adoc +14 -10
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/000_intro.adoc +1 -1
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/100_converter.adoc +1 -1
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/200_themes.adoc +1 -1
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.adoc +1 -1
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +1 -1
- data/lib/starter_web/pages/public/asciidoc_skeletons/simple-document/simple.adoc +1 -1
- data/lib/starter_web/pages/public/blog/navigator/archive/allview.html +1 -1
- data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +1 -1
- data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +1 -1
- data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +1 -1
- data/lib/starter_web/pages/public/blog/navigator/index.html +1 -1
- data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_biography.adoc +1 -1
- data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_fantasy.adoc +1 -1
- data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_romance.adoc +1 -1
- data/lib/starter_web/pages/public/learn/bookshelf/jekyll_collections.adoc +1 -1
- data/lib/starter_web/pages/public/learn/bookshelf/viewer_all_books.adoc +1 -1
- data/lib/starter_web/pages/public/learn/where_to_go.adoc +1 -1
- data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +3 -3
- data/lib/starter_web/pages/public/legal/en/200_impress.adoc +3 -3
- data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +3 -3
- data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +3 -3
- data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +1 -4
- data/lib/starter_web/pages/public/plans/plans.adoc +1 -1
- data/lib/starter_web/pages/public/tools/previewer/preview_bootstrap_theme.adoc +1 -1
- data/lib/starter_web/pages/public/tools/tester/videojs_macro_tester.adoc +116 -43
- data/lib/starter_web/pages/public/tour/_includes/documents/419_advanced_modals_demo.asciidoc +1 -1
- data/lib/starter_web/pages/public/tour/video_data.adoc +28 -22
- metadata +25 -49
- data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/dailymotion-controls.html +0 -18
- data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/dailymotion-javascript.html +0 -28
- data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/dailymotion-playlist.html +0 -19
- data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/global-parameters.html +0 -30
- data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/switch.html +0 -39
- data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/global-parameters.html +0 -34
- data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/switch.html +0 -39
- data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/youtube-controls.html +0 -20
- data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/youtube-javascript.html +0 -29
- data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/youtube-list.html +0 -21
- data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/youtube-playlist.html +0 -21
- 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/admin-dashboard-bootstrap-1280x600.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/alice-donovan-rouse-2.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/building-blocks-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/christina-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/franck-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/giammarco-boscaro-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/jessica-ruscello-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/joanna-kosinska-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/leon-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/lianhao-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/library-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/markus-krisetya-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/markus-spiske-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/markus-spiske4-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/matthaeus-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/matthew-dockery-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/no-time-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/rirri-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/shubham-dhage-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/shutterstock_sponsor-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/sigmund-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/szabo-viktor-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/themes-1920x1280-bw.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/tldr-1920x800.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/vladislav-klapin-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/yellow-cactus-1920x1280.jpg +0 -0
- /data/assets/theme/j1/modules/videojs/plugins/players/vm/{LICENSE → js/old/LICENSE} +0 -0
- /data/assets/theme/j1/modules/videojs/plugins/players/vm/{README.md → js/old/README.md} +0 -0
@@ -0,0 +1,653 @@
|
|
1
|
+
/*
|
2
|
+
# -----------------------------------------------------------------------------
|
3
|
+
# ~/assets/theme/j1/modules/videojs/js/plugins/players/dm/dailymotion.js
|
4
|
+
# Provides Dailymotion Playback Technology (Tech) for Video.js V8 and newer
|
5
|
+
#
|
6
|
+
# Product/Info:
|
7
|
+
# http://jekyll.one
|
8
|
+
#
|
9
|
+
# Copyright (C) 2020 John Law
|
10
|
+
# Copyright (C) 2023-2025 Juergen Adams
|
11
|
+
#
|
12
|
+
# videojs-dailymotion is licensed under MIT License.
|
13
|
+
# See: https://github.com/lawchihon/videojs-dailymotion/blob/master/LICENSE
|
14
|
+
# J1 Theme is licensed under MIT License.
|
15
|
+
# See: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE
|
16
|
+
# -----------------------------------------------------------------------------
|
17
|
+
*/
|
18
|
+
|
19
|
+
/* Version 1.0, updated version for videoJS V8 + J1 Template */
|
20
|
+
|
21
|
+
/*global define, DM*/
|
22
|
+
(function (root, factory) {
|
23
|
+
if (typeof exports==='object' && typeof module!=='undefined') {
|
24
|
+
var videojs = require('video.js');
|
25
|
+
module.exports = factory(videojs.default || videojs);
|
26
|
+
} else if (typeof define === 'function' && define.amd) {
|
27
|
+
define(['videojs'], function(videojs){
|
28
|
+
return (root.Dailymotion = factory(videojs));
|
29
|
+
});
|
30
|
+
} else {
|
31
|
+
root.Dailymotion = factory(root.videojs);
|
32
|
+
}
|
33
|
+
}(this, function(videojs) {
|
34
|
+
'use strict';
|
35
|
+
|
36
|
+
var _isOnMobile = videojs.browser.IS_IOS || videojs.browser.IS_ANDROID;
|
37
|
+
var Tech = videojs.getTech('Tech');
|
38
|
+
var isDev = false;
|
39
|
+
|
40
|
+
var startTimeModule;
|
41
|
+
var endTimeModule;
|
42
|
+
|
43
|
+
class Dailymotion extends Tech {
|
44
|
+
|
45
|
+
constructor(options, ready) {
|
46
|
+
super(options, ready);
|
47
|
+
|
48
|
+
this.setPoster(options.poster);
|
49
|
+
this.setSrc(this.options_.source, true);
|
50
|
+
|
51
|
+
// set the vjs-dailymotion class to the player's parent node,
|
52
|
+
// when is not set, wait a tick
|
53
|
+
var vm = this;
|
54
|
+
setTimeout(function() {
|
55
|
+
if (this.el_) {
|
56
|
+
this.el_.parentNode.className += ' vjs-dailymotion';
|
57
|
+
|
58
|
+
if (_isOnMobile) {
|
59
|
+
this.el_.parentNode.className += ' vjs-dailymotion-mobile';
|
60
|
+
}
|
61
|
+
|
62
|
+
if (Dailymotion.isSdkReady) {
|
63
|
+
vm.initDMPlayer();
|
64
|
+
} else {
|
65
|
+
Dailymotion.sdkReadyQueue.push(vm);
|
66
|
+
}
|
67
|
+
}
|
68
|
+
}.bind(this));
|
69
|
+
} // END Constructor
|
70
|
+
|
71
|
+
getPlayerParams() {
|
72
|
+
var playerParams = {
|
73
|
+
autoplay: false,
|
74
|
+
mute: false,
|
75
|
+
controls: false,
|
76
|
+
'queue-autoplay-next': false,
|
77
|
+
'queue-enable': false
|
78
|
+
};
|
79
|
+
|
80
|
+
// Let the user set any Dailymotion parameter
|
81
|
+
// https://developer.dailymotion.com/player/#player-parameters
|
82
|
+
// To use Dailymotion controls, you must use dmControls instead
|
83
|
+
var params = [
|
84
|
+
'api', 'autoplay', 'autoplay-mute', 'id', 'mute', 'origin',
|
85
|
+
'quality', 'queue-autoplay-next', 'queue-enable', 'sharing-enable',
|
86
|
+
'start', 'subtitles-default', 'syndication', 'ui-highlight',
|
87
|
+
'ui-logo','ui-start-screen-info', 'ui-theme', 'apimode',
|
88
|
+
'playlist'
|
89
|
+
];
|
90
|
+
var options = this.options_;
|
91
|
+
|
92
|
+
params.forEach((param) => {
|
93
|
+
if (typeof options[param] === 'undefined') {
|
94
|
+
return;
|
95
|
+
}
|
96
|
+
playerParams[param] = options[param];
|
97
|
+
});
|
98
|
+
|
99
|
+
if (typeof this.options_.dmControls !== 'undefined') {
|
100
|
+
playerParams.controls = this.options_.dmControls;
|
101
|
+
}
|
102
|
+
|
103
|
+
// Overwriting playlist if it is included in url
|
104
|
+
if (this.url && typeof this.url.playlist !== 'undefined') {
|
105
|
+
playerParams.playlist = this.url.playlist;
|
106
|
+
}
|
107
|
+
|
108
|
+
// Allow undocumented options to be passed along via customVars
|
109
|
+
if (typeof this.options_.customVars !== 'undefined') {
|
110
|
+
var customVars = this.options_.customVars;
|
111
|
+
Object.keys(customVars).forEach((key) => {
|
112
|
+
playerParams[key] = customVars[key];
|
113
|
+
});
|
114
|
+
}
|
115
|
+
|
116
|
+
return playerParams;
|
117
|
+
} // END getPlayerParams
|
118
|
+
|
119
|
+
getPlayerConfig() {
|
120
|
+
var playerConfig = {
|
121
|
+
width: '100%',
|
122
|
+
height: '100%',
|
123
|
+
params: this.getPlayerParams()
|
124
|
+
};
|
125
|
+
|
126
|
+
if (this.url && typeof this.url.video !== 'undefined') {
|
127
|
+
playerConfig.video = this.url.video;
|
128
|
+
} else if (typeof this.options_.video !== 'undefined') {
|
129
|
+
playerConfig.video = this.options_.video;
|
130
|
+
}
|
131
|
+
|
132
|
+
return playerConfig;
|
133
|
+
} // END getPlayerConfig
|
134
|
+
|
135
|
+
initDMPlayer() {
|
136
|
+
if (this.dmPlayer) {
|
137
|
+
|
138
|
+
// jadams, 2024-06-26:
|
139
|
+
this.dmPlayer.dmPlayerState = {
|
140
|
+
ended: false,
|
141
|
+
playing: false,
|
142
|
+
muted: false,
|
143
|
+
volume: 0,
|
144
|
+
progress: {
|
145
|
+
seconds: 0,
|
146
|
+
percent: 0,
|
147
|
+
duration: 0
|
148
|
+
}
|
149
|
+
};
|
150
|
+
|
151
|
+
return;
|
152
|
+
}
|
153
|
+
|
154
|
+
this.dmPlayer = new DM.player(
|
155
|
+
document.getElementById(this.options_.techId),
|
156
|
+
this.getPlayerConfig()
|
157
|
+
);
|
158
|
+
var vm = this;
|
159
|
+
this.isApiReady = false;
|
160
|
+
this.dmPlayer.addEventListener('apiready', () => {
|
161
|
+
vm.triggerReady();
|
162
|
+
vm.isApiReady = true;
|
163
|
+
});
|
164
|
+
this.dmPlayer.addEventListener('durationchange', () => {
|
165
|
+
vm.trigger('durationchange');
|
166
|
+
});
|
167
|
+
this.dmPlayer.addEventListener('end', () => {
|
168
|
+
vm.trigger('ended');
|
169
|
+
});
|
170
|
+
this.dmPlayer.addEventListener('error', () => {
|
171
|
+
vm.trigger('error');
|
172
|
+
});
|
173
|
+
this.dmPlayer.addEventListener('loadedmetadata', () => {
|
174
|
+
vm.trigger('loadeddata');
|
175
|
+
vm.trigger('loadedmetadata');
|
176
|
+
});
|
177
|
+
this.dmPlayer.addEventListener('pause', () =>{
|
178
|
+
vm.trigger('pause');
|
179
|
+
});
|
180
|
+
this.dmPlayer.addEventListener('play', () => {
|
181
|
+
// jadams, 2024-06-26:
|
182
|
+
// this.dmPlayer.dmPlayerState.playing = true;
|
183
|
+
|
184
|
+
vm.trigger('loadStart');
|
185
|
+
vm.trigger('play');
|
186
|
+
vm.trigger('playing');
|
187
|
+
vm.trigger('waiting');
|
188
|
+
});
|
189
|
+
this.dmPlayer.addEventListener('playback_ready', () => {
|
190
|
+
vm.trigger('loadeddata');
|
191
|
+
});
|
192
|
+
this.dmPlayer.addEventListener('timeupdate', () => {
|
193
|
+
vm.trigger('timeupdate');
|
194
|
+
});
|
195
|
+
this.dmPlayer.addEventListener('volumechange', () => {
|
196
|
+
vm.trigger('volumechange');
|
197
|
+
});
|
198
|
+
|
199
|
+
this.triggerReady();
|
200
|
+
isDev && logger.debug('\n' + 'created ' + this.name_ + ' player on ID: ' + vm.dmPlayer.id);
|
201
|
+
} // END initDMPlayer
|
202
|
+
|
203
|
+
autoplay(autoplay) {
|
204
|
+
if (typeof autoplay !== 'undefined') {
|
205
|
+
return this.setAutoplay(autoplay);
|
206
|
+
}
|
207
|
+
|
208
|
+
return this.options_.autoplay;
|
209
|
+
} // END autoplay
|
210
|
+
|
211
|
+
setAutoplay(val) {
|
212
|
+
return this.options_.autoplay = val;
|
213
|
+
} // END setAutoplay
|
214
|
+
|
215
|
+
buffered() {
|
216
|
+
if(!this.dmPlayer || !this.dmPlayer.bufferedTime) {
|
217
|
+
return videojs.time.createTimeRanges();
|
218
|
+
}
|
219
|
+
|
220
|
+
return videojs.time.createTimeRanges(0, this.dmPlayer.bufferedTime);
|
221
|
+
} // END buffered
|
222
|
+
|
223
|
+
createEl() {
|
224
|
+
var div = document.createElement('div');
|
225
|
+
div.setAttribute('id', this.options_.techId);
|
226
|
+
div.setAttribute('style', 'cursor: default; width:100%; height:100%; top:0; left:0; position:absolute');
|
227
|
+
div.setAttribute('class', 'vjs-tech');
|
228
|
+
|
229
|
+
var divWrapper = document.createElement('div');
|
230
|
+
divWrapper.appendChild(div);
|
231
|
+
|
232
|
+
return divWrapper;
|
233
|
+
} // END createEl
|
234
|
+
|
235
|
+
currentSrc() {
|
236
|
+
return this.source && this.source.src;
|
237
|
+
} // END currentSrc
|
238
|
+
|
239
|
+
currentTime(seconds) {
|
240
|
+
if (typeof seconds !== 'undefined') {
|
241
|
+
return this.setCurrentTime(seconds);
|
242
|
+
}
|
243
|
+
|
244
|
+
return this.dmPlayer && this.dmPlayer.currentTime;
|
245
|
+
} // END currentTime
|
246
|
+
|
247
|
+
setCurrentTime(seconds) {
|
248
|
+
if (!this.dmPlayer || !this.dmPlayer.seek) {
|
249
|
+
return;
|
250
|
+
}
|
251
|
+
|
252
|
+
return this.dmPlayer.seek(seconds);
|
253
|
+
} // END setCurrentTime
|
254
|
+
|
255
|
+
dispose() {
|
256
|
+
if (DM && DM.destroy) {
|
257
|
+
//Destroy the Dailymotion Player
|
258
|
+
DM.destroy(this.options_.techId);
|
259
|
+
} else {
|
260
|
+
//Dailymotion API hasn't finished loading or the player is already disposed
|
261
|
+
var index = Dailymotion.sdkReadyQueue.indexOf(this);
|
262
|
+
if (index !== -1) {
|
263
|
+
Dailymotion.sdkReadyQueue.splice(index, 1);
|
264
|
+
}
|
265
|
+
}
|
266
|
+
this.dmPlayer = undefined;
|
267
|
+
|
268
|
+
this.el_.parentNode.className = this.el_.parentNode.className
|
269
|
+
.replace(' vjs-dailymotion', '')
|
270
|
+
.replace(' vjs-dailymotion-mobile', '');
|
271
|
+
this.el_.parentNode.removeChild(this.el_);
|
272
|
+
|
273
|
+
// Needs to be called after the Dailymotion player is destroyed,
|
274
|
+
// otherwise there will be a undefined reference exception
|
275
|
+
Tech.prototype.dispose.call(this);
|
276
|
+
} // END dispose
|
277
|
+
|
278
|
+
duration(seconds) {
|
279
|
+
if (typeof seconds !== 'undefined') {
|
280
|
+
return this.setDuration(seconds);
|
281
|
+
}
|
282
|
+
|
283
|
+
return this.dmPlayer ? this.dmPlayer.duration : 0;
|
284
|
+
} // END duration
|
285
|
+
|
286
|
+
setDuration(seconds) {
|
287
|
+
if (!this.dmPlayer || !this.dmPlayer.seek) {
|
288
|
+
return;
|
289
|
+
}
|
290
|
+
|
291
|
+
return this.dmPlayer.seek(seconds);
|
292
|
+
} // END setDuration
|
293
|
+
|
294
|
+
ended() {
|
295
|
+
return this.dmPlayer && this.dmPlayer.ended;
|
296
|
+
} // END ended
|
297
|
+
|
298
|
+
enterFullWindow() {
|
299
|
+
if (!this.dmPlayer || !this.dmPlayer.setFullscreen) {
|
300
|
+
return;
|
301
|
+
}
|
302
|
+
|
303
|
+
return this.dmPlayer.setFullscreen(true);
|
304
|
+
} // END enterFullWindow
|
305
|
+
|
306
|
+
error() {
|
307
|
+
return this.dmPlayer && this.dmPlayer.error;
|
308
|
+
} // END error
|
309
|
+
|
310
|
+
exitFullscreen() {
|
311
|
+
if (!this.dmPlayer || !this.dmPlayer.setFullscreen) {
|
312
|
+
return;
|
313
|
+
}
|
314
|
+
|
315
|
+
return this.dmPlayer.setFullscreen(false);
|
316
|
+
} // END exitFullscreen
|
317
|
+
|
318
|
+
isFullscreen() {
|
319
|
+
return this.dmPlayer && this.dmPlayer.fullscreen;
|
320
|
+
} // END isFullscreen
|
321
|
+
|
322
|
+
// not supported by Dailymotion
|
323
|
+
language() {
|
324
|
+
return undefined;
|
325
|
+
} // END language
|
326
|
+
|
327
|
+
// not supported by Dailymotion
|
328
|
+
languages() {
|
329
|
+
return undefined;
|
330
|
+
} // END languages
|
331
|
+
|
332
|
+
load() {
|
333
|
+
if (!this.dmPlayer || !this.dmPlayer.load) {
|
334
|
+
return;
|
335
|
+
}
|
336
|
+
|
337
|
+
return this.dmPlayer.load(this.getPlayerConfig());
|
338
|
+
} // END load
|
339
|
+
|
340
|
+
// not supported by Dailymotion
|
341
|
+
loop() {
|
342
|
+
return undefined;
|
343
|
+
} // END loop
|
344
|
+
|
345
|
+
muted(muted) {
|
346
|
+
if (typeof muted !== undefined) {
|
347
|
+
return this.setMuted(muted);
|
348
|
+
}
|
349
|
+
|
350
|
+
return this.dmPlayer && this.dmPlayer.mute;
|
351
|
+
} // END muted
|
352
|
+
|
353
|
+
setMuted(mute) {
|
354
|
+
if (typeof mute === 'undefined' || !this.dmPlayer || !this.dmPlayer.setMuted) {
|
355
|
+
return;
|
356
|
+
}
|
357
|
+
|
358
|
+
if (mute) {
|
359
|
+
this.volumeBeforeMute = this.volume();
|
360
|
+
this.setVolume(0);
|
361
|
+
} else {
|
362
|
+
this.setVolume(this.volumeBeforeMute);
|
363
|
+
}
|
364
|
+
|
365
|
+
this.dmPlayer.setMuted(mute);
|
366
|
+
} // END setMuted
|
367
|
+
|
368
|
+
networkState() {
|
369
|
+
if (!this.dmPlayer || this.dmPlayer.error) {
|
370
|
+
return 0; //NETWORK_EMPTY
|
371
|
+
}
|
372
|
+
|
373
|
+
if (this.dmPlayer.seeking) {
|
374
|
+
return 2; //NETWORK_LOADING
|
375
|
+
}
|
376
|
+
} // END networkState
|
377
|
+
|
378
|
+
pause() {
|
379
|
+
if (!this.dmPlayer || !this.dmPlayer.pause) {
|
380
|
+
return;
|
381
|
+
}
|
382
|
+
|
383
|
+
return this.dmPlayer.pause();
|
384
|
+
} // END pause
|
385
|
+
|
386
|
+
paused() {
|
387
|
+
return this.dmPlayer && this.dmPlayer.paused;
|
388
|
+
} // END paused
|
389
|
+
|
390
|
+
play() {
|
391
|
+
if (!this.isApiReady || !this.dmPlayer || !this.dmPlayer.play) {
|
392
|
+
return;
|
393
|
+
}
|
394
|
+
|
395
|
+
this.trigger('loadStart');
|
396
|
+
this.trigger('waiting');
|
397
|
+
return this.dmPlayer.play();
|
398
|
+
} // END play
|
399
|
+
|
400
|
+
// not supported by Dailymotion
|
401
|
+
playbackRate() {
|
402
|
+
return 1;
|
403
|
+
} // END playbackRate
|
404
|
+
|
405
|
+
// not supported by Dailymotion
|
406
|
+
poster() {
|
407
|
+
return undefined;
|
408
|
+
} // END poster
|
409
|
+
|
410
|
+
// not supported by Dailymotion
|
411
|
+
preload() {
|
412
|
+
return undefined;
|
413
|
+
} // END preload
|
414
|
+
|
415
|
+
readyState() {
|
416
|
+
if (!this.dmPlayer || this.dmPlayer.error) {
|
417
|
+
return 0; //NETWORK_EMPTY
|
418
|
+
}
|
419
|
+
|
420
|
+
if (this.dmPlayer.seeking) {
|
421
|
+
return 1; //HAVE_METADATA
|
422
|
+
}
|
423
|
+
return 4; //HAVE_ENOUGH_DATA
|
424
|
+
} // END readyState
|
425
|
+
|
426
|
+
remainingTime() {
|
427
|
+
return this.dmPlayer && (this.dmPlayer.duration - this.dmPlayer.currentTime);
|
428
|
+
} // END remainingTime
|
429
|
+
|
430
|
+
requestFullscreen() {
|
431
|
+
return this.enterFullWindow();
|
432
|
+
} // END requestFullscreen
|
433
|
+
|
434
|
+
enterFullScreen() {
|
435
|
+
return this.enterFullWindow();
|
436
|
+
} // END enterFullScreen
|
437
|
+
|
438
|
+
reset() {
|
439
|
+
this.load();
|
440
|
+
} // END reset
|
441
|
+
|
442
|
+
seekable() {
|
443
|
+
if(!this.ytPlayer) {
|
444
|
+
return videojs.time.createTimeRanges();
|
445
|
+
}
|
446
|
+
|
447
|
+
return videojs.time.createTimeRanges(0, this.ytPlayer.getDuration());
|
448
|
+
} // END seekable
|
449
|
+
|
450
|
+
seeking() {
|
451
|
+
return this.dmPlayer && this.dmPlayer.seeking;
|
452
|
+
} // END seeking
|
453
|
+
|
454
|
+
src(source) {
|
455
|
+
if (typeof source !== 'undefined') {
|
456
|
+
return this.setSrc(source);
|
457
|
+
}
|
458
|
+
|
459
|
+
return this.source;
|
460
|
+
} // END src
|
461
|
+
|
462
|
+
setSrc(source) {
|
463
|
+
if (typeof source === 'undefined') {
|
464
|
+
return;
|
465
|
+
}
|
466
|
+
|
467
|
+
this.source = source;
|
468
|
+
this.url = Dailymotion.parseUrl(source.src || source);
|
469
|
+
|
470
|
+
// Load the video if sdk is ready
|
471
|
+
if (Dailymotion.isSdkReady) {
|
472
|
+
this.load();
|
473
|
+
}
|
474
|
+
return this.source;
|
475
|
+
} // END setSrc
|
476
|
+
|
477
|
+
supportsFullScreen() {
|
478
|
+
return true;
|
479
|
+
} // END supportsFullScreen
|
480
|
+
|
481
|
+
volume() {
|
482
|
+
return this.dmPlayer ? this.dmPlayer.volume : 1;
|
483
|
+
} // END volume
|
484
|
+
|
485
|
+
// if (DMPlayerState.playing === true) {
|
486
|
+
// setVolume(percentAsDecimal) {
|
487
|
+
// if (!this.dmPlayer || !this.dmPlayer.setMuted || !this.dmPlayer.setVolume) {
|
488
|
+
// return;
|
489
|
+
// }
|
490
|
+
//
|
491
|
+
// this.dmPlayer.setMuted(false);
|
492
|
+
// this.dmPlayer.setVolume(percentAsDecimal);
|
493
|
+
// } // END setVolume
|
494
|
+
// }
|
495
|
+
|
496
|
+
setVolume(percentAsDecimal) {
|
497
|
+
if (!this.dmPlayer || !this.dmPlayer.setMuted || !this.dmPlayer.setVolume) {
|
498
|
+
return;
|
499
|
+
}
|
500
|
+
|
501
|
+
// jadams, 2024-06-26:
|
502
|
+
// if (this.dmPlayer.dmPlayerState.playing === true) {
|
503
|
+
if (this.dmPlayer.apiReady) {
|
504
|
+
this.dmPlayer.setMuted(false);
|
505
|
+
this.dmPlayer.setVolume(percentAsDecimal);
|
506
|
+
}
|
507
|
+
|
508
|
+
} // END setVolume
|
509
|
+
|
510
|
+
} // END class Dailymotion
|
511
|
+
|
512
|
+
Dailymotion.isSupported = () => {
|
513
|
+
return true;
|
514
|
+
};
|
515
|
+
|
516
|
+
Dailymotion.canPlaySource = (event) => {
|
517
|
+
return Dailymotion.canPlayType(event.type);
|
518
|
+
};
|
519
|
+
|
520
|
+
Dailymotion.canPlayType = (event) => {
|
521
|
+
return (event === 'video/dailymotion');
|
522
|
+
};
|
523
|
+
|
524
|
+
Dailymotion.parseUrl = (url) => {
|
525
|
+
var result = {};
|
526
|
+
|
527
|
+
var regex = /video\/[^?|^\/]*/;
|
528
|
+
var match = url.match(regex);
|
529
|
+
|
530
|
+
if (match && match[0]) {
|
531
|
+
result.video = match[0].replace('video/', '');
|
532
|
+
}
|
533
|
+
|
534
|
+
var regPlaylist = /playlist(=|\/)[^&]*/;
|
535
|
+
match = url.match(regPlaylist);
|
536
|
+
|
537
|
+
if(match && match[0]) {
|
538
|
+
result.playlist = match[0].replace(/playlist(=|\/)/, '');
|
539
|
+
}
|
540
|
+
|
541
|
+
return result;
|
542
|
+
};
|
543
|
+
|
544
|
+
function apiLoaded() {
|
545
|
+
isDev && logger.debug('\n' + 'API loaded successfully');
|
546
|
+
|
547
|
+
Dailymotion.isSdkReady = true;
|
548
|
+
|
549
|
+
for (var i = 0; i < Dailymotion.sdkReadyQueue.length; ++i) {
|
550
|
+
Dailymotion.sdkReadyQueue[i].initDMPlayer();
|
551
|
+
}
|
552
|
+
isDev && logger.debug('\n' + 'created all players from queue: #' + i);
|
553
|
+
|
554
|
+
endTimeModule = Date.now();
|
555
|
+
isDev && logger.debug('\n' + 'initializing plugin: finished');
|
556
|
+
isDev && logger.debug('\n' + 'plugin initializing time: ' + (endTimeModule-startTimeModule) + 'ms');
|
557
|
+
} // END apiLoaded
|
558
|
+
|
559
|
+
function loadScript(src, callback) {
|
560
|
+
var loaded = false;
|
561
|
+
var tag = document.createElement('script');
|
562
|
+
var firstScriptTag = document.getElementsByTagName('script')[0];
|
563
|
+
|
564
|
+
if (!firstScriptTag) {
|
565
|
+
// when loaded in jest without jsdom setup it doesn't get any element.
|
566
|
+
// In jest it doesn't really make sense to do anything, because no one is watching dailymotion in jest
|
567
|
+
return;
|
568
|
+
}
|
569
|
+
|
570
|
+
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
|
571
|
+
tag.onload = () => {
|
572
|
+
if (!loaded) {
|
573
|
+
loaded = true;
|
574
|
+
callback();
|
575
|
+
}
|
576
|
+
};
|
577
|
+
|
578
|
+
tag.onreadystatechange = () => {
|
579
|
+
if (!loaded && (this.readyState === 'complete' || this.readyState === 'loaded')) {
|
580
|
+
loaded = true;
|
581
|
+
callback();
|
582
|
+
}
|
583
|
+
};
|
584
|
+
|
585
|
+
tag.src = src;
|
586
|
+
} // END loadScript
|
587
|
+
|
588
|
+
function injectCss() {
|
589
|
+
|
590
|
+
const css = `
|
591
|
+
.vjs-dailymotion .vjs-iframe-blocker { display: none; }
|
592
|
+
.vjs-dailymotion.vjs-user-inactive .vjs-iframe-blocker { display: block; }
|
593
|
+
.vjs-dailymotion .vjs-poster { background-size: cover; }
|
594
|
+
.vjs-dailymotion-mobile .vjs-big-play-button { display: none; }
|
595
|
+
`;
|
596
|
+
|
597
|
+
var head = document.head || document.getElementsByTagName('head')[0];
|
598
|
+
|
599
|
+
var style = document.createElement('style');
|
600
|
+
style.setAttribute('type', 'text/css');
|
601
|
+
|
602
|
+
if (style.styleSheet){
|
603
|
+
style.styleSheet.cssText = css;
|
604
|
+
} else {
|
605
|
+
style.appendChild(document.createTextNode(css));
|
606
|
+
}
|
607
|
+
|
608
|
+
head.appendChild(style);
|
609
|
+
isDev && logger.debug('\n' + 'added additional CSS styles');
|
610
|
+
} // END injectCss
|
611
|
+
|
612
|
+
// Include the version number
|
613
|
+
Dailymotion.VERSION = '1.0.0';
|
614
|
+
|
615
|
+
Dailymotion.sdkReadyQueue = [];
|
616
|
+
|
617
|
+
// initialize plugin if page ready
|
618
|
+
// -------------------------------------------------------------------------
|
619
|
+
var dependencies_met_page_ready = setInterval (() => {
|
620
|
+
var pageState = $('#content').css("display");
|
621
|
+
var pageVisible = (pageState === 'block') ? true : false;
|
622
|
+
// var j1CoreFinished = (j1.getState() === 'finished') ? true : false;
|
623
|
+
|
624
|
+
// if (j1CoreFinished && pageVisible) {
|
625
|
+
if (pageVisible) {
|
626
|
+
var logger = log4javascript.getLogger('videoJS.plugin.dailymotion');
|
627
|
+
// var isDev = false;
|
628
|
+
|
629
|
+
// try {
|
630
|
+
// var isDev = (j1.env === "development" || j1.env === "dev") ? true : false;
|
631
|
+
// } catch (error) {
|
632
|
+
// var isDev = false;
|
633
|
+
// }
|
634
|
+
|
635
|
+
isDev && logger.debug('\n' + 'version of videoJS detected: ' + videojs.VERSION);
|
636
|
+
|
637
|
+
// loadScript('/assets/theme/j1/modules/videojs/plugins/players/dm/api/js/dailymotion.sdk.min.js', apiLoaded);
|
638
|
+
loadScript('../api/js/dailymotion.sdk.min.js', apiLoaded);
|
639
|
+
// loadScript('//api.dmcdn.net/all.js', apiLoaded);
|
640
|
+
injectCss();
|
641
|
+
|
642
|
+
clearInterval(dependencies_met_page_ready);
|
643
|
+
} // END pageVisible
|
644
|
+
}, 10); // END dependencies_met_page_ready
|
645
|
+
|
646
|
+
// Older versions of VJS5 doesn't have the registerTech function
|
647
|
+
if (typeof videojs.registerTech !== 'undefined') {
|
648
|
+
videojs.registerTech('Dailymotion', Dailymotion);
|
649
|
+
} else {
|
650
|
+
videojs.registerComponent('Dailymotion', Dailymotion);
|
651
|
+
}
|
652
|
+
|
653
|
+
}));
|
data/assets/theme/j1/modules/videojs/plugins/players/vm/!examples/{player → iframe_api}/index.html
RENAMED
@@ -10,10 +10,10 @@
|
|
10
10
|
<body>
|
11
11
|
<iframe
|
12
12
|
src="//player.vimeo.com/video/76979871?h=8272103f6e"
|
13
|
-
width="640"
|
13
|
+
width="640"
|
14
|
+
height="360"
|
14
15
|
frameborder="0"
|
15
|
-
allowfullscreen
|
16
|
-
allow="autoplay; encrypted-media">
|
16
|
+
allowfullscreen>
|
17
17
|
</iframe>
|
18
18
|
|
19
19
|
<!-- Load the Player (API) -->
|
@@ -5,19 +5,23 @@
|
|
5
5
|
<meta charset="utf-8">
|
6
6
|
<title>videojs-vimeo Demo</title>
|
7
7
|
<link rel="stylesheet" href="../../../../css/videojs.min.css">
|
8
|
+
<!-- script src="../../j1_core/js/template.js"></script -->
|
9
|
+
<script src="../../../../../log4javascript/js/log4javascript.min.js"></script>
|
10
|
+
<script src="../../../../../jquery/js/jquery.min.js"></script>
|
8
11
|
</head>
|
9
12
|
<body>
|
10
13
|
<video
|
11
|
-
id="
|
14
|
+
id="vid_179528528"
|
12
15
|
class="video-js"
|
13
|
-
width="640"
|
16
|
+
width="640"
|
17
|
+
height="360"
|
14
18
|
data-setup='{
|
15
19
|
"techOrder": [
|
16
20
|
"vimeo", "html5"
|
17
21
|
],
|
18
22
|
"sources": [{
|
19
23
|
"type": "video/vimeo",
|
20
|
-
"src": "
|
24
|
+
"src": "//vimeo.com/179528528"
|
21
25
|
}],
|
22
26
|
"vimeo": {
|
23
27
|
"color": "#fbc51b"
|