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.
Files changed (168) hide show
  1. checksums.yaml +4 -4
  2. data/assets/data/apps/amplitudehtml +1147 -0
  3. data/assets/data/apps/gallery.html +342 -0
  4. data/assets/data/{masonry.html → apps/masonry.html} +22 -9
  5. data/assets/data/apps/swiper.html +901 -0
  6. data/assets/data/masonry_app.html +521 -0
  7. data/assets/theme/j1/modules/lightGallery/css/theme/uno/uno.css +21 -13
  8. data/assets/theme/j1/modules/lightGallery/css/theme/uno/uno.min.css +1 -2
  9. data/assets/theme/j1/modules/lightGallery/js/lightgallery.js +14 -13
  10. data/assets/theme/j1/modules/lightGallery/js/lightgallery.min.js +1 -1
  11. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.js +265 -226
  12. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.min.js +1 -1
  13. data/assets/theme/j1/modules/videojs/css/themes/uno.css +12 -2
  14. data/assets/theme/j1/modules/videojs/css/videojs.css +2 -3
  15. data/assets/theme/j1/modules/videojs/css/videojs.min.css +1 -1
  16. data/assets/theme/j1/modules/videojs/plugins/controls/zoom/css/zoom.css +55 -55
  17. data/assets/theme/j1/modules/videojs/plugins/controls/zoom/css/zoom.min.css +2 -1
  18. data/assets/theme/j1/modules/videojs/plugins/controls/zoom/js/zoom.js +590 -382
  19. data/assets/theme/j1/modules/videojs/plugins/controls/zoom/js/zoom.min.js +1 -1
  20. data/assets/theme/j1/modules/videojs/plugins/j1_core/template.min.js +31 -0
  21. data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/{simple.html → index.html} +11 -10
  22. data/assets/theme/j1/modules/videojs/plugins/players/dm/js/dailymotion.0.js +647 -0
  23. data/assets/theme/j1/modules/videojs/plugins/players/dm/js/dailymotion.1.js +653 -0
  24. data/assets/theme/j1/modules/videojs/plugins/players/vm/!examples/{player → iframe_api}/index.html +3 -3
  25. data/assets/theme/j1/modules/videojs/plugins/players/vm/!examples/{index.html → videojs_api/index.html} +7 -3
  26. data/assets/theme/j1/modules/videojs/plugins/players/vm/api/js/v2.21.0/vimeo.js +3562 -0
  27. data/assets/theme/j1/modules/videojs/plugins/players/vm/api/js/v2.21.0/vimeo.min.js +36 -0
  28. data/assets/theme/j1/modules/videojs/plugins/players/vm/api/js/vimeo.js +451 -1849
  29. data/assets/theme/j1/modules/videojs/plugins/players/vm/api/js/vimeo.min.js +2 -14
  30. data/assets/theme/j1/modules/videojs/plugins/players/vm/js/LICENSE +21 -0
  31. data/assets/theme/j1/modules/videojs/plugins/players/vm/js/README.md +54 -0
  32. data/assets/theme/j1/modules/videojs/plugins/players/vm/js/old/vimeo.js +666 -0
  33. data/assets/theme/j1/modules/videojs/plugins/players/vm/js/old/vimeo.min.js +28 -0
  34. data/assets/theme/j1/modules/videojs/plugins/players/vm/js/vimeo.js +2318 -548
  35. data/assets/theme/j1/modules/videojs/plugins/players/vm/js/vimeo.min.js +12 -18
  36. data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/{simple.html → index.html} +15 -6
  37. data/assets/theme/j1/modules/videojs/plugins/players/yt/js/youtube.js +12 -5
  38. data/assets/theme/j1/modules/videojs/plugins/players/yt/js/youtube.min.js +1 -1
  39. data/lib/j1/version.rb +1 -1
  40. data/lib/starter_web/Gemfile +1 -1
  41. data/lib/starter_web/README.md +5 -5
  42. data/lib/starter_web/_config.yml +2 -2
  43. data/lib/starter_web/_data/blocks/banner.yml +1 -1
  44. data/lib/starter_web/_data/j1_config.yml +1 -1
  45. data/lib/starter_web/_data/layouts/home.yml +1 -1
  46. data/lib/starter_web/_data/modules/authentication.yml +1 -2
  47. data/lib/starter_web/_data/modules/defaults/masonry.yml +1 -1
  48. data/lib/starter_web/_data/modules/gallery.yml +35 -24
  49. data/lib/starter_web/_data/modules/log4javascript.yml +1 -1
  50. data/lib/starter_web/_data/modules/masonry.yml +30 -14
  51. data/lib/starter_web/_data/modules/navigator.yml +1 -1
  52. data/lib/starter_web/_data/modules/navigator_menu.yml +12 -8
  53. data/lib/starter_web/_data/templates/feed.xml +1 -1
  54. data/lib/starter_web/_plugins/asciidoctor/dailymotion-block.rb +206 -24
  55. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  56. data/lib/starter_web/assets/image/module/attic/1920x1280/admin-dashboard-bootstrap.jpg +0 -0
  57. data/lib/starter_web/assets/image/module/attic/1920x1280/alexander-redl.jpg +0 -0
  58. data/lib/starter_web/assets/image/module/attic/1920x1280/alexander-shatov.jpg +0 -0
  59. data/lib/starter_web/assets/image/module/attic/1920x1280/alexey-ruban.jpg +0 -0
  60. data/lib/starter_web/assets/image/module/attic/1920x1280/andrea-badino.jpg +0 -0
  61. data/lib/starter_web/assets/image/module/attic/1920x1280/bootstrap-modal.jpg +0 -0
  62. data/lib/starter_web/assets/image/module/attic/1920x1280/bp-miller.jpg +0 -0
  63. data/lib/starter_web/assets/image/module/attic/1920x1280/brad-neathery.jpg +0 -0
  64. data/lib/starter_web/assets/image/module/attic/1920x1280/brigitta-schneiter.jpg +0 -0
  65. data/lib/starter_web/assets/image/module/attic/1920x1280/build-with-gemini.jpg +0 -0
  66. data/lib/starter_web/assets/image/module/attic/1920x1280/clem-onojeghuo.jpg +0 -0
  67. data/lib/starter_web/assets/image/module/attic/1920x1280/eleni-afiontzi.jpg +0 -0
  68. data/lib/starter_web/assets/image/module/attic/1920x1280/fly-d.jpg +0 -0
  69. data/lib/starter_web/assets/image/module/attic/1920x1280/guillaume-bolduc.jpg +0 -0
  70. data/lib/starter_web/assets/image/module/attic/1920x1280/ideas-start-here-1920x1280.jpg +0 -0
  71. data/lib/starter_web/assets/image/module/attic/1920x1280/isaac-davis.jpg +0 -0
  72. data/lib/starter_web/assets/image/module/attic/1920x1280/j1-launch.jpg +0 -0
  73. data/lib/starter_web/assets/image/module/attic/1920x1280/j1-mockup.jpg +0 -0
  74. data/lib/starter_web/assets/image/module/attic/1920x1280/john-schnobrich-2.jpg +0 -0
  75. data/lib/starter_web/assets/image/module/attic/1920x1280/josep-martins.jpg +0 -0
  76. data/lib/starter_web/assets/image/module/attic/1920x1280/josh-liu.jpg +0 -0
  77. data/lib/starter_web/assets/image/module/attic/1920x1280/kelly-sikkemal.jpg +0 -0
  78. data/lib/starter_web/assets/image/module/attic/1920x1280/kira-auf-der-heide.jpg +0 -0
  79. data/lib/starter_web/assets/image/module/attic/1920x1280/kristopher-roller.jpg +0 -0
  80. data/lib/starter_web/assets/image/module/attic/1920x1280/markus-spiske.jpg +0 -0
  81. data/lib/starter_web/assets/image/module/attic/1920x1280/martin-sanchez.jpg +0 -0
  82. data/lib/starter_web/assets/image/module/attic/1920x1280/material_symbols.jpg +0 -0
  83. data/lib/starter_web/assets/image/module/attic/1920x1280/matthaeus.jpg +0 -0
  84. data/lib/starter_web/assets/image/module/attic/1920x1280/melanie-deziel.jpg +0 -0
  85. data/lib/starter_web/assets/image/module/attic/1920x1280/nasa.jpg +0 -0
  86. data/lib/starter_web/assets/image/module/attic/1920x1280/quino-al-2.jpg +0 -0
  87. data/lib/starter_web/assets/image/module/attic/1920x1280/stories-ink-tattoo-care.jpg +0 -0
  88. data/lib/starter_web/assets/image/module/attic/1920x1280/towfiqu-barbhuiya.jpg +0 -0
  89. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +1 -1
  90. data/lib/starter_web/collections/posts/public/featured/_posts/2022-02-01-about-j1.adoc +2 -2
  91. data/lib/starter_web/collections/posts/public/featured/_posts/2023-10-18-url-types.adoc +2 -2
  92. data/lib/starter_web/config.ru +1 -1
  93. data/lib/starter_web/dot.gitattributes +1 -1
  94. data/lib/starter_web/index.html +8 -8
  95. data/lib/starter_web/package.json +1 -1
  96. data/lib/starter_web/pages/public/about/features.adoc +5 -5
  97. data/lib/starter_web/pages/public/about/reporting_issues.adoc +5 -5
  98. data/lib/starter_web/pages/public/about/site.adoc +14 -10
  99. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/000_intro.adoc +1 -1
  100. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/100_converter.adoc +1 -1
  101. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/200_themes.adoc +1 -1
  102. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.adoc +1 -1
  103. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +1 -1
  104. data/lib/starter_web/pages/public/asciidoc_skeletons/simple-document/simple.adoc +1 -1
  105. data/lib/starter_web/pages/public/blog/navigator/archive/allview.html +1 -1
  106. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +1 -1
  107. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +1 -1
  108. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +1 -1
  109. data/lib/starter_web/pages/public/blog/navigator/index.html +1 -1
  110. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_biography.adoc +1 -1
  111. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_fantasy.adoc +1 -1
  112. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_romance.adoc +1 -1
  113. data/lib/starter_web/pages/public/learn/bookshelf/jekyll_collections.adoc +1 -1
  114. data/lib/starter_web/pages/public/learn/bookshelf/viewer_all_books.adoc +1 -1
  115. data/lib/starter_web/pages/public/learn/where_to_go.adoc +1 -1
  116. data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +3 -3
  117. data/lib/starter_web/pages/public/legal/en/200_impress.adoc +3 -3
  118. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +3 -3
  119. data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +3 -3
  120. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +1 -4
  121. data/lib/starter_web/pages/public/plans/plans.adoc +1 -1
  122. data/lib/starter_web/pages/public/tools/previewer/preview_bootstrap_theme.adoc +1 -1
  123. data/lib/starter_web/pages/public/tools/tester/videojs_macro_tester.adoc +116 -43
  124. data/lib/starter_web/pages/public/tour/_includes/documents/419_advanced_modals_demo.asciidoc +1 -1
  125. data/lib/starter_web/pages/public/tour/video_data.adoc +28 -22
  126. metadata +25 -49
  127. data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/dailymotion-controls.html +0 -18
  128. data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/dailymotion-javascript.html +0 -28
  129. data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/dailymotion-playlist.html +0 -19
  130. data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/global-parameters.html +0 -30
  131. data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/switch.html +0 -39
  132. data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/global-parameters.html +0 -34
  133. data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/switch.html +0 -39
  134. data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/youtube-controls.html +0 -20
  135. data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/youtube-javascript.html +0 -29
  136. data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/youtube-list.html +0 -21
  137. data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/youtube-playlist.html +0 -21
  138. data/lib/starter_web/assets/image/module/attic/1920x1280/j1-content-mockup-2.jpg +0 -0
  139. data/lib/starter_web/assets/image/module/attic/1920x1280/j1-content-mockup-3.jpg +0 -0
  140. data/lib/starter_web/assets/image/module/attic/1920x1280/j1-starter-mockup-1.jpg +0 -0
  141. data/lib/starter_web/assets/image/module/attic/admin-dashboard-bootstrap-1280x600.jpg +0 -0
  142. data/lib/starter_web/assets/image/module/attic/alice-donovan-rouse-2.jpg +0 -0
  143. data/lib/starter_web/assets/image/module/attic/building-blocks-1920x1280.jpg +0 -0
  144. data/lib/starter_web/assets/image/module/attic/christina-1920x1280.jpg +0 -0
  145. data/lib/starter_web/assets/image/module/attic/franck-1920x1280.jpg +0 -0
  146. data/lib/starter_web/assets/image/module/attic/giammarco-boscaro-1920x1280.jpg +0 -0
  147. data/lib/starter_web/assets/image/module/attic/jessica-ruscello-1920x1280.jpg +0 -0
  148. data/lib/starter_web/assets/image/module/attic/joanna-kosinska-1920x1280.jpg +0 -0
  149. data/lib/starter_web/assets/image/module/attic/leon-1920x1280.jpg +0 -0
  150. data/lib/starter_web/assets/image/module/attic/lianhao-1920x1280.jpg +0 -0
  151. data/lib/starter_web/assets/image/module/attic/library-1920x1280.jpg +0 -0
  152. data/lib/starter_web/assets/image/module/attic/markus-krisetya-1920x1280.jpg +0 -0
  153. data/lib/starter_web/assets/image/module/attic/markus-spiske-1920x1280.jpg +0 -0
  154. data/lib/starter_web/assets/image/module/attic/markus-spiske4-1920x1280.jpg +0 -0
  155. data/lib/starter_web/assets/image/module/attic/matthaeus-1920x1280.jpg +0 -0
  156. data/lib/starter_web/assets/image/module/attic/matthew-dockery-1920x1280.jpg +0 -0
  157. data/lib/starter_web/assets/image/module/attic/no-time-1920x1280.jpg +0 -0
  158. data/lib/starter_web/assets/image/module/attic/rirri-1920x1280.jpg +0 -0
  159. data/lib/starter_web/assets/image/module/attic/shubham-dhage-1920x1280.jpg +0 -0
  160. data/lib/starter_web/assets/image/module/attic/shutterstock_sponsor-1920x1280.jpg +0 -0
  161. data/lib/starter_web/assets/image/module/attic/sigmund-1920x1280.jpg +0 -0
  162. data/lib/starter_web/assets/image/module/attic/szabo-viktor-1920x1280.jpg +0 -0
  163. data/lib/starter_web/assets/image/module/attic/themes-1920x1280-bw.jpg +0 -0
  164. data/lib/starter_web/assets/image/module/attic/tldr-1920x800.jpg +0 -0
  165. data/lib/starter_web/assets/image/module/attic/vladislav-klapin-1920x1280.jpg +0 -0
  166. data/lib/starter_web/assets/image/module/attic/yellow-cactus-1920x1280.jpg +0 -0
  167. /data/assets/theme/j1/modules/videojs/plugins/players/vm/{LICENSE → js/old/LICENSE} +0 -0
  168. /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
+ }));
@@ -10,10 +10,10 @@
10
10
  <body>
11
11
  <iframe
12
12
  src="//player.vimeo.com/video/76979871?h=8272103f6e"
13
- width="640" height="360"
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="vid1"
14
+ id="vid_179528528"
12
15
  class="video-js"
13
- width="640" height="360"
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": "https://vimeo.com/179528528"
24
+ "src": "//vimeo.com/179528528"
21
25
  }],
22
26
  "vimeo": {
23
27
  "color": "#fbc51b"