j1-template 2024.3.20 → 2024.3.22

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 (151) hide show
  1. checksums.yaml +4 -4
  2. data/_layouts/page.html +1 -0
  3. data/assets/data/amplitude_app.html +87 -73
  4. data/assets/theme/j1/adapter/js/advertising.js +40 -38
  5. data/assets/theme/j1/adapter/js/algolia.js +13 -11
  6. data/assets/theme/j1/adapter/js/amplitude.js +882 -490
  7. data/assets/theme/j1/adapter/js/analytics.js +19 -17
  8. data/assets/theme/j1/adapter/js/asciidoctor.js +10 -8
  9. data/assets/theme/j1/adapter/js/attic.js +24 -22
  10. data/assets/theme/j1/adapter/js/bmd.js +10 -8
  11. data/assets/theme/j1/adapter/js/carousel.js +12 -9
  12. data/assets/theme/j1/adapter/js/chatbot.js +106 -104
  13. data/assets/theme/j1/adapter/js/clipboard.js +16 -14
  14. data/assets/theme/j1/adapter/js/comments.js +24 -22
  15. data/assets/theme/j1/adapter/js/cookieConsent.js +5 -1
  16. data/assets/theme/j1/adapter/js/customFunctions.js +12 -10
  17. data/assets/theme/j1/adapter/js/customModule.js +10 -8
  18. data/assets/theme/j1/adapter/js/docsearch.js +33 -31
  19. data/assets/theme/j1/adapter/js/dropdowns.js +16 -14
  20. data/assets/theme/j1/adapter/js/fab.js +34 -32
  21. data/assets/theme/j1/adapter/js/gallery.js +21 -19
  22. data/assets/theme/j1/adapter/js/gemini.js +66 -64
  23. data/assets/theme/j1/adapter/js/iconPicker.js +31 -29
  24. data/assets/theme/j1/adapter/js/iconPickerPage.js +11 -9
  25. data/assets/theme/j1/adapter/js/iframer.js +17 -15
  26. data/assets/theme/j1/adapter/js/j1.js +146 -143
  27. data/assets/theme/j1/adapter/js/lazyLoader.js +33 -31
  28. data/assets/theme/j1/adapter/js/lightbox.js +9 -7
  29. data/assets/theme/j1/adapter/js/logger.js +11 -9
  30. data/assets/theme/j1/adapter/js/lunr.js +37 -35
  31. data/assets/theme/j1/adapter/js/masonry.js +23 -21
  32. data/assets/theme/j1/adapter/js/masterslider.js +31 -29
  33. data/assets/theme/j1/adapter/js/mmenu.js +25 -23
  34. data/assets/theme/j1/adapter/js/navigator.js +43 -41
  35. data/assets/theme/j1/adapter/js/particles.js +12 -10
  36. data/assets/theme/j1/adapter/js/rangeSlider.js +21 -19
  37. data/assets/theme/j1/adapter/js/rouge.js +10 -8
  38. data/assets/theme/j1/adapter/js/rtable.js +14 -12
  39. data/assets/theme/j1/adapter/js/rtextResizer.js +10 -8
  40. data/assets/theme/j1/adapter/js/scroller.js +15 -13
  41. data/assets/theme/j1/adapter/js/slick.js +18 -16
  42. data/assets/theme/j1/adapter/js/slimSelect.js +30 -28
  43. data/assets/theme/j1/adapter/js/speak2me.js +25 -23
  44. data/assets/theme/j1/adapter/js/swiper.js +13 -11
  45. data/assets/theme/j1/adapter/js/themeToggler.js +11 -9
  46. data/assets/theme/j1/adapter/js/themes.js +25 -23
  47. data/assets/theme/j1/adapter/js/toccer.js +13 -11
  48. data/assets/theme/j1/adapter/js/translator.js +19 -16
  49. data/assets/theme/j1/adapter/js/videojs.js +9 -7
  50. data/assets/theme/j1/adapter/js/waves.js +18 -16
  51. data/assets/theme/j1/core/js/template.js +11180 -10968
  52. data/assets/theme/j1/core/js/template.min.js +13 -18
  53. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/amplitude.css +50 -4
  54. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/amplitude.min.css +1 -1
  55. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/compact.css +197 -403
  56. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/compact.min.css +1 -1
  57. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/large.css +70 -46
  58. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/large.min.css +1 -1
  59. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/mini.css +72 -9
  60. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/mini.min.css +2 -1
  61. data/assets/theme/j1/modules/amplitudejs/js/tech/ytp.js +481 -417
  62. data/assets/theme/j1/modules/backstretch/js/backstretch.js +2 -2
  63. data/assets/theme/j1/modules/backstretch/js/backstretch.min.js +1 -1
  64. data/assets/theme/j1/modules/cookieConsent/js/cookieConsent.js +11 -11
  65. data/assets/theme/j1/modules/cookieConsent/js/cookieConsent.min.js +2 -1
  66. data/assets/theme/j1/modules/dropdowns/js/dropdowns.js +2 -2
  67. data/assets/theme/j1/modules/dropdowns/js/dropdowns.min.js +1 -1
  68. data/assets/theme/j1/modules/fab/js/fab.js +2 -2
  69. data/assets/theme/j1/modules/fab/js/fab.min.js +1 -1
  70. data/assets/theme/j1/modules/lunr/js/j1.js +1 -1
  71. data/assets/theme/j1/modules/lunr/js/j1.min.js +2 -1
  72. data/assets/theme/j1/modules/rtable/js/rtable.js +2 -2
  73. data/assets/theme/j1/modules/rtable/js/rtable.min.js +2 -1
  74. data/assets/theme/j1/modules/scroller/js/scroller.js +31 -29
  75. data/assets/theme/j1/modules/scroller/js/scroller.min.js +2 -1
  76. data/assets/theme/j1/modules/themeSwitcher/js/switcher.js +26 -26
  77. data/assets/theme/j1/modules/themeSwitcher/js/switcher.min.js +2 -1
  78. data/assets/theme/j1/modules/translator/js/translator.js +17 -17
  79. data/assets/theme/j1/modules/translator/js/translator.min.js +1 -1
  80. data/assets/theme/j1/modules/videojs/js/plugins/players/dm/dailymotion.js +10 -8
  81. data/assets/theme/j1/modules/videojs/js/plugins/players/dm/dailymotion.min.js +1 -1
  82. data/assets/theme/j1/modules/videojs/js/plugins/players/vm/vimeo.js +9 -7
  83. data/assets/theme/j1/modules/videojs/js/plugins/players/vm/vimeo.min.js +1 -1
  84. data/assets/theme/j1/modules/videojs/js/plugins/players/wt/wistia.js +13 -11
  85. data/assets/theme/j1/modules/videojs/js/plugins/players/wt/wistia.min.js +1 -1
  86. data/assets/theme/j1/modules/videojs/js/plugins/players/yt/youtube.js +10 -8
  87. data/assets/theme/j1/modules/videojs/js/plugins/players/yt/youtube.min.js +1 -1
  88. data/lib/j1/version.rb +1 -1
  89. data/lib/starter_web/README.md +5 -5
  90. data/lib/starter_web/_config.yml +1 -1
  91. data/lib/starter_web/_data/modules/amplitude_app.yml +4 -4
  92. data/lib/starter_web/_data/modules/amplitude_playlists.yml +168 -123
  93. data/lib/starter_web/_data/modules/defaults/amplitude.yml +8 -3
  94. data/lib/starter_web/_data/modules/swiper_app.yml +67 -0
  95. data/lib/starter_web/_data/modules/swiper_playlists.yml +26 -0
  96. data/lib/starter_web/_data/templates/feed.xml +1 -1
  97. data/lib/starter_web/_includes/attributes.asciidoc +5 -4
  98. data/lib/starter_web/_plugins/asciidoctor/videojs-block.rb +8 -0
  99. data/lib/starter_web/_plugins/asciidoctor/youtube-block.rb +7 -0
  100. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  101. data/lib/starter_web/assets/audio/album/emancipator/Alligator.mp3 +0 -0
  102. data/lib/starter_web/assets/audio/album/emancipator/DabCity.mp3 +0 -0
  103. data/lib/starter_web/assets/audio/album/emancipator/SeaToSky.mp3 +0 -0
  104. data/lib/starter_web/assets/audio/album/emancipator/TimeForSpace.mp3 +0 -0
  105. data/lib/starter_web/assets/audio/cover/emancipator/alligator.jpg +0 -0
  106. data/lib/starter_web/assets/audio/cover/emancipator/anthem.jpg +0 -0
  107. data/lib/starter_web/assets/audio/cover/emancipator/dab-city.jpg +0 -0
  108. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn.jpg +0 -0
  109. data/lib/starter_web/assets/audio/cover/emancipator/safe-in-the-steep-cliffs.jpg +0 -0
  110. data/lib/starter_web/assets/audio/cover/emancipator/sea-to-sky.jpg +0 -0
  111. data/lib/starter_web/assets/audio/cover/emancipator/soon-it-will-be-cold-enough.jpg +0 -0
  112. data/lib/starter_web/assets/audio/cover/emancipator/tine-for-space.jpg +0 -0
  113. data/lib/starter_web/assets/image/icon/bokeh/bokeh-32x32.ico +0 -0
  114. data/lib/starter_web/assets/image/icon/bokeh/bokeh.ico +0 -0
  115. data/lib/starter_web/assets/image/icon/bokeh/logo-160x160.png +0 -0
  116. data/lib/starter_web/assets/image/icon/hyvor-talk/hyvore-talk.ico +0 -0
  117. data/lib/starter_web/assets/image/icon/hyvor-talk/jpg/hyvor-logo.512x512.jpg +0 -0
  118. data/lib/starter_web/assets/image/icon/hyvor-talk/png/hyvor-logo.24x24.jpg +0 -0
  119. data/lib/starter_web/assets/image/icon/hyvor-talk/png/hyvor-logo.24x24.png +0 -0
  120. data/lib/starter_web/assets/image/icon/hyvor-talk/png/hyvor-logo.512x512.png +0 -0
  121. data/lib/starter_web/assets/image/icon/hyvor-talk/scalable/hyvor-logo.svg +81 -0
  122. data/lib/starter_web/assets/image/icon/jupyter/jupyter-32x32.ico +0 -0
  123. data/lib/starter_web/assets/image/icon/jupyter/jupyter.ico +0 -0
  124. data/lib/starter_web/assets/image/icon/jupyter/logo.png +0 -0
  125. data/lib/starter_web/assets/image/icon/mdi/mdi.svg +1 -0
  126. data/lib/starter_web/assets/image/icon/mdi/mdil.svg +1 -0
  127. data/lib/starter_web/assets/image/icon/scalable/facebook.svg +34 -0
  128. data/lib/starter_web/assets/image/icon/scalable/google.svg +35 -0
  129. data/lib/starter_web/assets/image/icon/scalable/ibm.svg +24 -0
  130. data/lib/starter_web/assets/image/icon/scalable/microsoft.svg +42 -0
  131. data/lib/starter_web/assets/image/module/swiper/simple/test/image/diana_krall.jpg +0 -0
  132. data/lib/starter_web/index.html +3 -3
  133. data/lib/starter_web/package.json +1 -1
  134. data/lib/starter_web/pages/public/learn/where_to_go.adoc +1 -1
  135. data/lib/starter_web/pages/public/tools/previewer/preview_amplitudejs.adoc +3 -18
  136. data/lib/starter_web/pages/public/tools/tester/app_tester_amplitudejs_yt.adoc +6 -6
  137. data/lib/starter_web/pages/public/tools/tester/app_tester_swiper.adoc +87 -0
  138. data/lib/starter_web/pages/public/tour/_includes/attributes.asciidoc +3 -3
  139. data/lib/starter_web/pages/public/tour/{play_audio.adoc → audio_data.adoc} +35 -55
  140. data/lib/starter_web/pages/public/tour/{present_images.adoc → image_data.adoc} +4 -5
  141. data/lib/starter_web/pages/public/tour/{play_video.adoc → video_data.adoc} +17 -16
  142. metadata +42 -14
  143. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn/anthem.jpg +0 -0
  144. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn/from-dusk-to-dawn.jpg +0 -0
  145. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn/safe-in-the-steep-cliffs.jpg +0 -0
  146. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn/soon-it-will-be-cold-enough.jpg +0 -0
  147. /data/lib/starter_web/assets/audio/album/emancipator/{from-dusk-to-dawn → !info}/!sound.links.txt +0 -0
  148. /data/lib/starter_web/assets/audio/album/emancipator/{from-dusk-to-dawn/Anthem.mp3 → Anthem.mp3} +0 -0
  149. /data/lib/starter_web/assets/audio/album/emancipator/{from-dusk-to-dawn/DuskToDawn.mp3 → DuskToDawn.mp3} +0 -0
  150. /data/lib/starter_web/assets/audio/album/emancipator/{from-dusk-to-dawn/FirstSnow.mp3 → FirstSnow.mp3} +0 -0
  151. /data/lib/starter_web/assets/audio/album/emancipator/{from-dusk-to-dawn/SafeInTheSteepCliffs.mp3 → SafeInTheSteepCliffs.mp3} +0 -0
@@ -23,6 +23,8 @@
23
23
  ;(function($, window, document, undefined) {
24
24
  'use strict';
25
25
 
26
+ const isDev = (j1.env === "development" || j1.env === "dev") ? true : false;
27
+
26
28
  // plugin defaults
27
29
  var pluginName = 'scroller', defaults = {
28
30
  type: 'infiniteScroll',
@@ -57,8 +59,8 @@
57
59
  var logger = log4javascript.getLogger('j1.scroller.core');
58
60
  var _this = this;
59
61
 
60
- logger.debug('\n' + 'initializing plugin: started');
61
- logger.debug('\n' + 'state: started');
62
+ isDev && logger.debug('initializing plugin: started');
63
+ isDev && logger.debug('state: started');
62
64
 
63
65
  if (options.elementScroll) {
64
66
  _this.scroller = _this.element;
@@ -78,22 +80,22 @@
78
80
 
79
81
  // initialize infinite scroll
80
82
  if (options.type === 'infiniteScroll') {
81
- logger.debug('\n' + 'processing mode: ' + options.type);
82
- logger.debug('\n' + 'loading items from path: ' + options.pagePath);
83
- logger.debug('\n' + 'monitoring element set to: ' + _this.scroller);
83
+ isDev && logger.debug('processing mode: ' + options.type);
84
+ isDev && logger.debug('loading items from path: ' + options.pagePath);
85
+ isDev && logger.debug('monitoring element set to: ' + _this.scroller);
84
86
  _this.registerScrollEvent(options);
85
87
  }
86
88
 
87
89
  // initialize show on scroll
88
90
  if (options.type === 'showOnScroll') {
89
- logger.debug('\n' + 'processing mode: ' + options.type);
90
- logger.debug('\n' + 'loading items from path: ' + options.pagePath);
91
- logger.debug('\n' + 'monitoring element set to: ' + _this.scroller);
91
+ isDev && logger.debug('processing mode: ' + options.type);
92
+ isDev && logger.debug('loading items from path: ' + options.pagePath);
93
+ isDev && logger.debug('monitoring element set to: ' + _this.scroller);
92
94
  _this.registerScrollEvent(options);
93
95
  }
94
96
 
95
- logger.debug('\n' + 'initializing plugin: finished');
96
- logger.debug('\n' + 'state: finished');
97
+ isDev && logger.debug('initializing plugin: finished');
98
+ isDev && logger.debug('state: finished');
97
99
 
98
100
  clearInterval(dependencies_met_page_ready);
99
101
  } // END if pageVisible
@@ -179,10 +181,10 @@
179
181
  if (_this.isBottomReached(options)) {
180
182
  if (options.firstPage > options.lastPage ) {
181
183
  window.removeEventListener('scroll', _this[options.id]);
182
- logger.debug('\n' + 'scroll event removed: ' + options.type);
184
+ isDev && logger.debug('scroll event removed: ' + options.type);
183
185
 
184
186
  if (options.infoLastPage ) {
185
- logger.debug('\n' + 'show last page info');
187
+ isDev && logger.debug('show last page info');
186
188
  _this.infoLastPage(options);
187
189
  }
188
190
  return false;
@@ -192,7 +194,7 @@
192
194
  }; // END event
193
195
 
194
196
  window.addEventListener('scroll', _this[options.id]);
195
- logger.debug('\n' + 'scroll event registered: ' + options.type);
197
+ isDev && logger.debug('scroll event registered: ' + options.type);
196
198
  } // END if type infiniteScroll
197
199
 
198
200
  // scroller type 'showOnScroll'
@@ -200,15 +202,15 @@
200
202
  // register event function DYNAMICALLY
201
203
  _this[options.id] = function (event) {
202
204
  if (_this.isInViewport ($('#' + options.id ), options.scrollOffset)) {
203
- logger.debug('\n' + 'specified container is in view: ' + options.id);
205
+ isDev && logger.debug('specified container is in view: ' + options.id);
204
206
  $('.' + options.id).show(options.showDelay);
205
207
  window.removeEventListener('scroll', _this[options.id]);
206
- logger.debug('\n' + 'scroll event showOnScroll: removed');
208
+ isDev && logger.debug('scroll event showOnScroll: removed');
207
209
  } // END if isInViewport
208
210
  } // END event
209
211
 
210
212
  window.addEventListener('scroll', _this[options.id]);
211
- logger.debug('\n' + 'scroll event registered: ' + options.type);
213
+ isDev && logger.debug('scroll event registered: ' + options.type);
212
214
  } // END if type showOnScrol
213
215
  }, // END registerScrollEvent
214
216
 
@@ -222,7 +224,7 @@
222
224
  var logger = log4javascript.getLogger('j1.scroller.core');
223
225
  var _this = this;
224
226
 
225
- logger.debug('\n' + 'loading new posts');
227
+ isDev && logger.debug('loading new posts');
226
228
 
227
229
  // initialze loader flag
228
230
  if (this.itemsLoaded === false) return false;
@@ -232,7 +234,7 @@
232
234
 
233
235
  // display spinner while loading
234
236
  if (options.loadStatus) {
235
- logger.debug('\n' + 'show: spinner');
237
+ isDev && logger.debug('show: spinner');
236
238
  $('.loader-ellips').show();
237
239
  }
238
240
 
@@ -244,11 +246,11 @@
244
246
  var childItems = _this.getChildItemsByAjaxHTML(options, xmlhttp.responseText);
245
247
  _this.appendNewItems(childItems);
246
248
 
247
- logger.debug('\n' + 'loading new items: successful');
249
+ isDev && logger.debug('loading new items: successful');
248
250
 
249
251
  // hide the spinner after loading
250
252
  if (options.loadStatus) {
251
- logger.debug('\n' + 'hide: spinner');
253
+ isDev && logger.debug('hide: spinner');
252
254
  $('.loader-ellips').hide();
253
255
  }
254
256
 
@@ -258,17 +260,17 @@
258
260
  } else {
259
261
  // hide the spinner
260
262
  if (options.loadStatus) {
261
- logger.debug('\n' + 'hide: spinner');
263
+ isDev && logger.debug('hide: spinner');
262
264
  $('.loader-ellips').hide();
263
265
  }
264
266
 
265
- logger.error('\n' + 'loading new items failed, HTTP response: ' + xmlhttp.status );
267
+ isDev && logger.error('loading new items failed, HTTP response: ' + xmlhttp.status );
266
268
  _this.itemsLoaded = false;
267
269
  } // END if xmlhttp. tatus 200
268
270
  } // END if if xmlhttp readyState
269
271
  }; // END onreadystatechange
270
272
 
271
- logger.debug('\n' + 'loading new items from path: ' + options.pagePath + options.firstPage);
273
+ isDev && logger.debug('loading new items from path: ' + options.pagePath + options.firstPage);
272
274
  xmlhttp.open("GET", location.origin + options.pagePath + options.firstPage + '/index.html', true);
273
275
 
274
276
  xmlhttp.send();
@@ -282,7 +284,7 @@
282
284
  var logger = log4javascript.getLogger('j1.scroller.core');
283
285
  var newHTML = document.createElement('html');
284
286
 
285
- logger.debug('\n' + 'load new items');
287
+ isDev && logger.debug('load new items');
286
288
  newHTML.innerHTML = HTMLText;
287
289
  var childItems = newHTML.querySelectorAll(options.elementID + ' > *');
288
290
 
@@ -302,17 +304,17 @@
302
304
  items.forEach(function (item) {
303
305
  var elmID = _this.element.id
304
306
  document.getElementById(elmID).appendChild(item);
305
- logger.debug('\n' + 'new item appended');
307
+ isDev && logger.debug('new item appended');
306
308
  }); // END forEach
307
309
 
308
310
  // no dropcaps if translation enabled
309
311
  if (user_translate.translationEnabled) {
310
- logger.debug('\n' + 'translation enabled: ' + user_translate.translationEnabled);
311
- logger.debug('\n' + 'skipped processing of dropcaps');
312
+ isDev && logger.debug('translation enabled: ' + user_translate.translationEnabled);
313
+ isDev && logger.debug('skipped processing of dropcaps');
312
314
  } else {
313
315
  // initialize dropcaps
314
- logger.debug('\n' + 'post processing: createDropCap');
315
- j1.core.createDropCap();
316
+ isDev && logger.debug('post processing: createDropCap');
317
+ j1.api.createDropCap();
316
318
  } // END if translationEnabled
317
319
  }, // END appendNewItems
318
320
 
@@ -12,4 +12,5 @@
12
12
  # For details, see: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE
13
13
  # -----------------------------------------------------------------------------
14
14
  */
15
- !function(e,t,n,i){"use strict";var s={type:"infiniteScroll",scrollOffset:100,elementScroll:!1,firstPage:2,lastPage:!1,infoLastPage:!1,loadStatus:!1,onInit:function(){},onBeforeLoad:function(){},onAfterLoad:function(){}};function o(t,n){this.element=t,this.settings=e.extend({},s,n),this.settings.elementID="#"+this.element.id,this.init(this.settings)}e.extend(o.prototype,{init:function(n){var i=log4javascript.getLogger("j1.scroller.core"),s=this;i.debug("\ninitializing plugin: started"),i.debug("\nstate: started"),n.elementScroll?s.scroller=s.element:s.scroller=t;var o=setInterval(function(){var t="block"===e("#content").css("display");"finished"===j1.getState()&&t&&("infiniteScroll"===n.type&&(i.debug("\nprocessing mode: "+n.type),i.debug("\nloading items from path: "+n.pagePath),i.debug("\nmonitoring element set to: "+s.scroller),s.registerScrollEvent(n)),"showOnScroll"===n.type&&(i.debug("\nprocessing mode: "+n.type),i.debug("\nloading items from path: "+n.pagePath),i.debug("\nmonitoring element set to: "+s.scroller),s.registerScrollEvent(n)),i.debug("\ninitializing plugin: finished"),i.debug("\nstate: finished"),clearInterval(o))},25)},isInViewport:function(e,n){if(0!=e.length){var i=jQuery(t),s=i.scrollTop(),o=i.height(),r=s+o,l=jQuery(e),a=l.offset().top+n,d=l.height(),g=a+d;return a>=s&&a<r||g>s&&g<=r||d>o&&a<=s&&g>=r}},isBottomReached:function(i){var s,o=e(i.elementID).height();if(this.settings.elementScroll){var r=e(t),l=r.scrollTop(),a=r.height(),d=l+a-i.scrollOffset,g=e(i.elementID),c=g.offset().top+o,u=g.height();return s=c+u,c>=l&&c<d||s>l&&s<=d||u>a&&c<=l&&s>=d}return t.innerHeight+t.pageYOffset+i.scrollOffset>=n.body.offsetHeight},registerScrollEvent:function(n){var i=log4javascript.getLogger("j1.scroller.core"),s=this;"infiniteScroll"===n.type&&(s[n.id]=function(e){var n=s.settings;if(s.isBottomReached(n)){if(n.firstPage>n.lastPage)return t.removeEventListener("scroll",s[n.id]),i.debug("\nscroll event removed: "+n.type),n.infoLastPage&&(i.debug("\nshow last page info"),s.infoLastPage(n)),!1;s.getNewPost(n)}},t.addEventListener("scroll",s[n.id]),i.debug("\nscroll event registered: "+n.type)),"showOnScroll"===n.type&&(s[n.id]=function(o){s.isInViewport(e("#"+n.id),n.scrollOffset)&&(i.debug("\nspecified container is in view: "+n.id),e("."+n.id).show(n.showDelay),t.removeEventListener("scroll",s[n.id]),i.debug("\nscroll event showOnScroll: removed"))},t.addEventListener("scroll",s[n.id]),i.debug("\nscroll event registered: "+n.type))},getNewPost:function(t){var n=log4javascript.getLogger("j1.scroller.core"),i=this;if(n.debug("\nloading new posts"),!1===this.itemsLoaded)return!1;this.itemsLoaded=!1,t.loadStatus&&(n.debug("\nshow: spinner"),e(".loader-ellips").show());var s=new XMLHttpRequest;s.onreadystatechange=function(){if(s.readyState==XMLHttpRequest.DONE)if(200==s.status){t.firstPage++;var o=i.getChildItemsByAjaxHTML(t,s.responseText);i.appendNewItems(o),n.debug("\nloading new items: successful"),t.loadStatus&&(n.debug("\nhide: spinner"),e(".loader-ellips").hide()),i.itemsLoaded=!0}else t.loadStatus&&(n.debug("\nhide: spinner"),e(".loader-ellips").hide()),n.error("\nloading new items failed, HTTP response: "+s.status),i.itemsLoaded=!1},n.debug("\nloading new items from path: "+t.pagePath+t.firstPage),s.open("GET",location.origin+t.pagePath+t.firstPage+"/index.html",!0),s.send()},getChildItemsByAjaxHTML:function(e,t){var i=log4javascript.getLogger("j1.scroller.core"),s=n.createElement("html");return i.debug("\nload new items"),s.innerHTML=t,s.querySelectorAll(e.elementID+" > *")},appendNewItems:function(e){var t=log4javascript.getLogger("j1.scroller.core"),i=this,s=j1.getCookieNames(),o=j1.readCookie(s.user_translate);e.forEach(function(e){var s=i.element.id;n.getElementById(s).appendChild(e),t.debug("\nnew item appended")}),o.translationEnabled?(t.debug("\ntranslation enabled: "+o.translationEnabled),t.debug("\nskipped processing of dropcaps")):(t.debug("\npost processing: createDropCap"),j1.core.createDropCap())},infoLastPage:function(t){var n=t.lastPageInfo;e(n).insertAfter(t.elementID),e(".page-scroll-last").show()}}),e.fn.scroller=function(t){return this.each(function(){e.data(this,"plugin_scroller")||e.data(this,"plugin_scroller",new o(this,t))})}}(jQuery,window,document);
15
+
16
+ !function(e,t,i,n){"use strict";const s="development"!==j1.env&&"dev"!==j1.env;var o="scroller",r={type:"infiniteScroll",scrollOffset:100,elementScroll:!1,firstPage:2,lastPage:!1,infoLastPage:!1,loadStatus:!1,onInit:function(){},onBeforeLoad:function(){},onAfterLoad:function(){}};function l(t,i){this.element=t,this.settings=e.extend({},r,i),this.settings.elementID="#"+this.element.id,this.init(this.settings)}e.extend(l.prototype,{init:function(i){var n=log4javascript.getLogger("j1.scroller.core"),o=this;s&&n.debug("initializing plugin: started"),s&&n.debug("state: started"),i.elementScroll?o.scroller=o.element:o.scroller=t;var r=setInterval((function(){var t="block"===e("#content").css("display");"finished"===j1.getState()&&t&&("infiniteScroll"===i.type&&(s&&n.debug("processing mode: "+i.type),s&&n.debug("loading items from path: "+i.pagePath),s&&n.debug("monitoring element set to: "+o.scroller),o.registerScrollEvent(i)),"showOnScroll"===i.type&&(s&&n.debug("processing mode: "+i.type),s&&n.debug("loading items from path: "+i.pagePath),s&&n.debug("monitoring element set to: "+o.scroller),o.registerScrollEvent(i)),s&&n.debug("initializing plugin: finished"),s&&n.debug("state: finished"),clearInterval(r))}),25)},isInViewport:function(e,i){if(0!=e.length){var n=jQuery(t),s=n.scrollTop(),o=n.height(),r=s+o,l=jQuery(e),a=l.offset().top+i,d=l.height(),g=a+d;return a>=s&&a<r||g>s&&g<=r||d>o&&a<=s&&g>=r}},isBottomReached:function(n){var s,o=e(n.elementID).height();if(this.settings.elementScroll){var r=e(t),l=r.scrollTop(),a=r.height(),d=l+a-n.scrollOffset,g=e(n.elementID),c=g.offset().top+o,u=g.height();return s=c+u,c>=l&&c<d||s>l&&s<=d||u>a&&c<=l&&s>=d}return t.innerHeight+t.pageYOffset+n.scrollOffset>=i.body.offsetHeight},registerScrollEvent:function(i){var n=log4javascript.getLogger("j1.scroller.core"),o=this;"infiniteScroll"===i.type&&(o[i.id]=function(e){var i=o.settings;if(o.isBottomReached(i)){if(i.firstPage>i.lastPage)return t.removeEventListener("scroll",o[i.id]),s&&n.debug("scroll event removed: "+i.type),i.infoLastPage&&(s&&n.debug("show last page info"),o.infoLastPage(i)),!1;o.getNewPost(i)}},t.addEventListener("scroll",o[i.id]),s&&n.debug("scroll event registered: "+i.type)),"showOnScroll"===i.type&&(o[i.id]=function(r){o.isInViewport(e("#"+i.id),i.scrollOffset)&&(s&&n.debug("specified container is in view: "+i.id),e("."+i.id).show(i.showDelay),t.removeEventListener("scroll",o[i.id]),s&&n.debug("scroll event showOnScroll: removed"))},t.addEventListener("scroll",o[i.id]),s&&n.debug("scroll event registered: "+i.type))},getNewPost:function(t){var i=log4javascript.getLogger("j1.scroller.core"),n=this;if(s&&i.debug("loading new posts"),!1===this.itemsLoaded)return!1;this.itemsLoaded=!1,t.loadStatus&&(s&&i.debug("show: spinner"),e(".loader-ellips").show());var o=new XMLHttpRequest;o.onreadystatechange=function(){if(o.readyState==XMLHttpRequest.DONE)if(200==o.status){t.firstPage++;var r=n.getChildItemsByAjaxHTML(t,o.responseText);n.appendNewItems(r),s&&i.debug("loading new items: successful"),t.loadStatus&&(s&&i.debug("hide: spinner"),e(".loader-ellips").hide()),n.itemsLoaded=!0}else t.loadStatus&&(s&&i.debug("hide: spinner"),e(".loader-ellips").hide()),s&&i.error("loading new items failed, HTTP response: "+o.status),n.itemsLoaded=!1},s&&i.debug("loading new items from path: "+t.pagePath+t.firstPage),o.open("GET",location.origin+t.pagePath+t.firstPage+"/index.html",!0),o.send()},getChildItemsByAjaxHTML:function(e,t){var n=log4javascript.getLogger("j1.scroller.core"),o=i.createElement("html");return s&&n.debug("load new items"),o.innerHTML=t,o.querySelectorAll(e.elementID+" > *")},appendNewItems:function(e){var t=log4javascript.getLogger("j1.scroller.core"),n=this,o=j1.getCookieNames(),r=j1.readCookie(o.user_translate);e.forEach((function(e){var o=n.element.id;i.getElementById(o).appendChild(e),s&&t.debug("new item appended")})),r.translationEnabled?(s&&t.debug("translation enabled: "+r.translationEnabled),s&&t.debug("skipped processing of dropcaps")):(s&&t.debug("post processing: createDropCap"),j1.api.createDropCap())},infoLastPage:function(t){var i=t.lastPageInfo;e(i).insertAfter(t.elementID),e(".page-scroll-last").show()}}),e.fn[o]=function(t){return this.each((function(){e.data(this,"plugin_"+o)||e.data(this,"plugin_"+o,new l(this,t))}))}}(jQuery,window,document);
@@ -79,13 +79,13 @@
79
79
  // ---------------------------------------------------------------------------
80
80
  ThemeSwitcher.prototype = {
81
81
  clear: function () {
82
- logger.debug('\n' + 'ThemeSwitcher.clear');
82
+ logger.debug('ThemeSwitcher.clear');
83
83
  return this.$element.each(function () {
84
84
  this.$element.empty();
85
85
  });
86
86
  },
87
87
  update: function () {
88
- logger.debug('\n' + 'ThemeSwitcher.update');
88
+ logger.debug('ThemeSwitcher.update');
89
89
  this.getThemes();
90
90
  },
91
91
 
@@ -126,13 +126,13 @@
126
126
  // detect|set user state cookie
127
127
  user_state_detected = j1.existsCookie (cookie_names.user_state);
128
128
  if ( user_state_detected ) {
129
- logger.info('\n' + 'cookie found: ' + cookie_names.user_state);
129
+ logger.info('cookie found: ' + cookie_names.user_state);
130
130
  user_state = j1.readCookie(cookie_names.user_state);
131
131
  } else {
132
- logger.error('\n' + 'cookie not found: ' + cookie_names.user_state);
133
- logger.info('\n' + 'j1 cookies found:' + j1Cookies.length);
132
+ logger.error('cookie not found: ' + cookie_names.user_state);
133
+ logger.info('j1 cookies found:' + j1Cookies.length);
134
134
  j1Cookies.forEach(function (item) {console.log('j1.themes.switcher: ' + item);});
135
- logger.info('\n' + 'ga cookies found:' + gaCookies.length);
135
+ logger.info('ga cookies found:' + gaCookies.length);
136
136
  gaCookies.forEach(function (item) {console.log('j1.themes.switcher: ' + item);});
137
137
  }
138
138
 
@@ -146,7 +146,7 @@
146
146
  if (settings.saveToCookie) {
147
147
  if ( typeof Cookies === 'undefined' ) {
148
148
  if ( debug === 'true' ) {
149
- logger.error('\n' + 'cookies library not present');
149
+ logger.error('cookies library not present');
150
150
  }
151
151
  return false;
152
152
  }
@@ -162,7 +162,7 @@
162
162
  user_state.theme_author_url = 'https://jekyll.one/';
163
163
  }
164
164
 
165
- logger.info('\n' + 'write to cookie : ' + cookie_names.user_state);
165
+ logger.info('write to cookie : ' + cookie_names.user_state);
166
166
  j1.writeCookie({
167
167
  name: cookie_names.user_state,
168
168
  data: user_state,
@@ -173,8 +173,8 @@
173
173
  // reload current page (skip cache)
174
174
  location.reload(true);
175
175
  } else {
176
- logger.info('\n' + 'write to cookie : disabled');
177
- logger.warn('\n' + 'selected theme not activated: ' + name);
176
+ logger.info('write to cookie : disabled');
177
+ logger.warn('selected theme not activated: ' + name);
178
178
  } // END if saveToCookie
179
179
 
180
180
  }, // END switchTheme
@@ -185,7 +185,7 @@
185
185
  loadThemeFromCookie: function (options) {
186
186
 
187
187
  if ( typeof Cookies === 'undefined' ) {
188
- logger.error('\n' + 'cookies library not present');
188
+ logger.error('cookies library not present');
189
189
  return false;
190
190
  }
191
191
 
@@ -195,13 +195,13 @@
195
195
  user_state_detected = j1.existsCookie (cookie_names.user_state);
196
196
 
197
197
  if ( user_state_detected ) {
198
- logger.info('\n' + 'cookie found: ' + cookie_names.user_state);
198
+ logger.info('cookie found: ' + cookie_names.user_state);
199
199
  user_state = j1.readCookie(cookie_names.user_state);
200
200
  } else {
201
- logger.error('\n' + 'cookie not found: ' + cookie_names.user_state);
202
- logger.info('\n' + 'j1 cookies found:' + j1Cookies.length);
201
+ logger.error('cookie not found: ' + cookie_names.user_state);
202
+ logger.info('j1 cookies found:' + j1Cookies.length);
203
203
  j1Cookies.forEach(function (item) {console.log('j1.themes.switcher: ' + item);});
204
- logger.info('\n' + 'ga cookies found:' + gaCookies.length);
204
+ logger.info('ga cookies found:' + gaCookies.length);
205
205
  gaCookies.forEach(function (item) {console.log('j1.themes.switcher: ' + item);});
206
206
  }
207
207
 
@@ -226,11 +226,11 @@
226
226
  // -------------------------------------------------------------------------
227
227
  addThemesToControl: function () {
228
228
  if (typeof this.$element === 'undefined') {
229
- logger.error('\n' + 'bootstrapThemeSelector|addThemesToControl: Element is undefined');
229
+ logger.error('bootstrapThemeSelector|addThemesToControl: Element is undefined');
230
230
  return false;
231
231
  }
232
232
  if (typeof this.themesList === 'undefined') {
233
- logger.error('\n' + 'bootstrapThemeSelector|addThemesToControl: Themes is undefined');
233
+ logger.error('bootstrapThemeSelector|addThemesToControl: Themes is undefined');
234
234
  return false;
235
235
  }
236
236
 
@@ -268,20 +268,20 @@
268
268
  // detect|set user state cookie
269
269
  user_state_detected = j1.existsCookie (cookie_names.user_state);
270
270
  if ( user_state_detected ) {
271
- logger.info('\n' + 'user state cookie found');
271
+ logger.info('user state cookie found');
272
272
  user_state = j1.readCookie(cookie_names.user_state);
273
273
  } else {
274
- logger.error('\n' + 'user state NOT cookie found');
275
- logger.info('\n' + 'j1 cookies found:' + j1Cookies.length);
274
+ logger.error('user state NOT cookie found');
275
+ logger.info('j1 cookies found:' + j1Cookies.length);
276
276
  j1Cookies.forEach(function (item) {console.log('j1.themes.switcher: ' + item);});
277
- logger.info('\n' + 'ga cookies found:' + gaCookies.length);
277
+ logger.info('ga cookies found:' + gaCookies.length);
278
278
  gaCookies.forEach(function (item) {console.log('j1.themes.switcher: ' + item);});
279
279
  }
280
280
 
281
281
  themeName = user_state.theme_name;
282
282
 
283
283
  if ( debug === 'true' ) {
284
- logger.info('\n' + 'bootstrapThemeSelector: UL element selected');
284
+ logger.info('bootstrapThemeSelector: UL element selected');
285
285
  }
286
286
  this.$element.empty();
287
287
 
@@ -328,7 +328,7 @@
328
328
 
329
329
  // END if element is 'ul'
330
330
  } else if (this.$element.is('select')) {
331
- logger.info('\n' + 'bootstrapThemeSelector: SELECT element selected');
331
+ logger.info('bootstrapThemeSelector: SELECT element selected');
332
332
  this.$element.empty();
333
333
 
334
334
  var optionSelectedMarker;
@@ -350,8 +350,8 @@
350
350
  // END if element is 'select'
351
351
  } else {
352
352
  // no container found to add Theme list
353
- logger.info('\n' + 'bootstrapThemeSelector: no UL or SELECT element found');
354
- logger.error('\n' + 'bootstrapThemeSelector: failed');
353
+ logger.info('bootstrapThemeSelector: no UL or SELECT element found');
354
+ logger.error('bootstrapThemeSelector: failed');
355
355
  // console.warn('bootstrapThemeSelector only works with ul or select elements');
356
356
  } // END if
357
357
  }, // END addThemesToControl
@@ -374,7 +374,7 @@
374
374
  base.addThemesToControl();
375
375
  },
376
376
  error: function (jqXHR, textStatus, errorThrown) {
377
- logger.error('\n' + 'failed to retrieve the local feed from: \'' + base.settings.localFeed + '\'');
377
+ logger.error('failed to retrieve the local feed from: \'' + base.settings.localFeed + '\'');
378
378
  }
379
379
  });
380
380
  } else {
@@ -19,4 +19,5 @@
19
19
  # The original version cannot be used with J1 for theme menu creation!
20
20
  # -----------------------------------------------------------------------------
21
21
  */
22
- "use strict";!function(e,t,o,s){var n,i,a=j1.getCookieNames(),h=j1.findCookie("_ga"),r=j1.findCookie("j1"),c=new liteURL(t.location.href),l=c.hostname,m=(l.substring(l.lastIndexOf(".",l.lastIndexOf(".")-1)+1),!!c.protocol.includes("https")),d=log4javascript.getLogger("j1.themes.switcher"),u={},f=function(t,o){return this.$element=e(t),this.settings=e.extend({},e.fn.ThemeSwitcher.defaults,o),this.themesList=[],this.getThemes(),this};f.prototype={clear:function(){return d.debug("\nThemeSwitcher.clear"),this.$element.each(function(){this.$element.empty()})},update:function(){d.debug("\nThemeSwitcher.update"),this.getThemes()},checkStyleSheetByName:function(e){for(var t=!1,s=new RegExp("/"+e+"/","i"),n=0;n<o.styleSheets.length;n++)if(s.test(o.styleSheets[n].href)){t=!0;break}return t},switchTheme:function(t,o){var s=e(this),i=e.extend({},e.fn.ThemeSwitcher.defaults,s.data("ThemeSwitcher")),c=(i.cssThemeLink,i.debug);this.settings.includeBootswatch;if(j1.existsCookie(a.user_state)?(d.info("\ncookie found: "+a.user_state),n=j1.readCookie(a.user_state)):(d.error("\ncookie not found: "+a.user_state),d.info("\nj1 cookies found:"+r.length),r.forEach(function(e){console.log("j1.themes.switcher: "+e)}),d.info("\nga cookies found:"+h.length),h.forEach(function(e){console.log("j1.themes.switcher: "+e)})),n.theme_name,n.theme_css,void 0===o&&(o=this.settings.defaultCssFile),void 0===t&&(t=o),i.saveToCookie){if("undefined"==typeof Cookies)return"true"===c&&d.error("\ncookies library not present"),!1;n.theme_name=t,n.theme_css=o,n.theme_name.includes("Uno")||"Bootstrap"==n.theme_name?(n.theme_author="J1 Team",n.theme_author_url="https://jekyll.one/"):(n.theme_author="Bootswatch",n.theme_author_url="https://bootswatch.com/"),d.info("\nwrite to cookie : "+a.user_state),j1.writeCookie({name:a.user_state,data:n,secure:m,expires:365}),location.reload(!0)}else d.info("\nwrite to cookie : disabled"),d.warn("\nselected theme not activated: "+t)},loadThemeFromCookie:function(t){if("undefined"==typeof Cookies)return d.error("\ncookies library not present"),!1;e.extend({},e.fn.ThemeSwitcher.defaults,t);j1.existsCookie(a.user_state)?(d.info("\ncookie found: "+a.user_state),n=j1.readCookie(a.user_state)):(d.error("\ncookie not found: "+a.user_state),d.info("\nj1 cookies found:"+r.length),r.forEach(function(e){console.log("j1.themes.switcher: "+e)}),d.info("\nga cookies found:"+h.length),h.forEach(function(e){console.log("j1.themes.switcher: "+e)}));var o=n.theme_name,s=n.theme_css;this.switchTheme(o,s)},addTheme:function(e,t,o,s){void 0===o&&(o=0),void 0===s&&(s=0),this.themesList.splice(o,s,{name:e,css:t}),this.addThemesToControl()},addThemesToControl:function(){if(void 0===this.$element)return d.error("\nbootstrapThemeSelector|addThemesToControl: Element is undefined"),!1;if(void 0===this.themesList)return d.error("\nbootstrapThemeSelector|addThemesToControl: Themes is undefined"),!1;if(this.settings.excludeBootswatch){var t;-1!==this.settings.excludeBootswatch.indexOf(",")?t=this.settings.excludeBootswatch.replace(/ /g,"").split(","):(t=[]).push(this.settings.excludeBootswatch);var o=this.themesList;e.each(o,function(s,n){n&&n.name&&-1!==e.inArray(n.name,t)&&o.splice(s,1)}),this.themesList=o}var s=this;if(this.$element.is("ul")){var c,l=e(this),m=e.extend({},e.fn.ThemeSwitcher.defaults,l.data("ThemeSwitcher")),f=(m.cssThemeLink,m.debug);j1.existsCookie(a.user_state)?(d.info("\nuser state cookie found"),n=j1.readCookie(a.user_state)):(d.error("\nuser state NOT cookie found"),d.info("\nj1 cookies found:"+r.length),r.forEach(function(e){console.log("j1.themes.switcher: "+e)}),d.info("\nga cookies found:"+h.length),h.forEach(function(e){console.log("j1.themes.switcher: "+e)})),c=n.theme_name,"true"===f&&d.info("\nbootstrapThemeSelector: UL element selected"),this.$element.empty();var p="";e.each(this.themesList,function(t,o){p=s.$element[0].id.includes("mmenu")?"mmenu-item":"dropdown-item",o.name===c&&(p=s.$element[0].id.includes("mmenu")?"mmenu-item active":"dropdown-item active");var n=e("<li />").attr("class",p).append('<a class="link-no-decoration" href="#"><i class="mdib mdib-view-quilt mdib-18px mr-2" style="color: #9E9E9E"></i>'+o.name+"</a>").on("click",function(){m.loadFromBootswatch?s.switchTheme(o.name,o.css):s.switchTheme(o.name,o.cssCdn),e(this).parent().find("li").removeClass("active"),e(this).addClass("active")});s.$element.append(n)}),i=s.$element[0].className.includes("dropdown-menu")?"desktop":"mobile",u.type="state",u.action="menu loaded for : "+i,u.text="menu loaded on id: "+s.$element[0].id,j1.sendMessage("ThemeSwitcher","j1.adapter.navigator",u)}else if(this.$element.is("select")){var T;d.info("\nbootstrapThemeSelector: SELECT element selected"),this.$element.empty(),e.each(this.themesList,function(e,t){T=null,t.name===c&&(T="selected"),m.loadFromBootswatch?s.$element.append("<option "+T+" value='"+t.css+"'>"+t.name+"</option>"):s.$element.append("<option "+T+" value='"+t.cssCdn+"'>"+t.name+"</option>")}),this.$element.on("change",function(){var t=e("option:selected",this);s.switchTheme(t.text(),t.val())})}else d.info("\nbootstrapThemeSelector: no UL or SELECT element found"),d.error("\nbootstrapThemeSelector: failed")},getThemes:function(){var t=this;null!==this.settings.localFeed&&""!==this.settings.localFeed?e.ajax({url:this.settings.localFeed,dataType:"json",success:function(e){t.themesList=e.themes,t.addThemesToControl()},error:function(e,o,s){d.error("\nfailed to retrieve the local feed from: '"+t.settings.localFeed+"'")}}):e.ajax({url:this.settings.bootswatchApiUrl+"/"+this.settings.bootswatchApiVersion+".json",dataType:"json",success:function(e){if(void 0===e.themes)return null;t.themesList=e.themes,t.themesList.splice(0,0,{name:"default",css:t.settings.defaultCssFile}),t.addThemesToControl()}})},themes:function(e){if(void 0===e)return this.themesList;this.themesList=e}},e.fn.ThemeSwitcher=function(t){var o,s=Array.prototype.slice.call(arguments,1),n=e(this),i=n.data("ThemeSwitcher"),a="object"==typeof t&&t;return i||n.data("ThemeSwitcher",i=new f(this,a)),"string"==typeof t&&(o=i[t].apply(i,s)),void 0===o?n:o},e.fn.ThemeSwitcher.defaults={debug:!1,saveToCookie:!0,cssThemeLink:"bootstrapTheme",cookieThemeName:"bootstrapTheme.name",cookieThemeCss:"boostrapTheme.css",cookieExpiration:365,cookiePath:"/",defaultCssFile:"https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css",bootswatchApiUrl:"https://bootswatch.com/api/",bootswatchApiVersion:"5",loadFromBootswatch:!0,localFeed:"",excludeBootswatch:""},e.fn.ThemeSwitcher.Constructor=f}(jQuery,window,document);
22
+
23
+ !function(e,t,o,s){"use strict";var i,n,a=j1.getCookieNames(),h=j1.findCookie("_ga"),r=j1.findCookie("j1"),c=new liteURL(t.location.href),l=c.hostname,m=(l.substring(l.lastIndexOf(".",l.lastIndexOf(".")-1)+1),!!c.protocol.includes("https")),d=log4javascript.getLogger("j1.themes.switcher"),u={},f=function(t,o){return this.$element=e(t),this.settings=e.extend({},e.fn.ThemeSwitcher.defaults,o),this.themesList=[],this.getThemes(),this};f.prototype={clear:function(){return d.debug("ThemeSwitcher.clear"),this.$element.each((function(){this.$element.empty()}))},update:function(){d.debug("ThemeSwitcher.update"),this.getThemes()},checkStyleSheetByName:function(e){for(var t=!1,s=new RegExp("/"+e+"/","i"),i=0;i<o.styleSheets.length;i++)if(s.test(o.styleSheets[i].href)){t=!0;break}return t},switchTheme:function(t,o){var s=e(this),n=e.extend({},e.fn.ThemeSwitcher.defaults,s.data("ThemeSwitcher")),c=(n.cssThemeLink,n.debug);this.settings.includeBootswatch;if(j1.existsCookie(a.user_state)?(d.info("cookie found: "+a.user_state),i=j1.readCookie(a.user_state)):(d.error("cookie not found: "+a.user_state),d.info("j1 cookies found:"+r.length),r.forEach((function(e){console.log("j1.themes.switcher: "+e)})),d.info("ga cookies found:"+h.length),h.forEach((function(e){console.log("j1.themes.switcher: "+e)}))),i.theme_name,i.theme_css,void 0===o&&(o=this.settings.defaultCssFile),void 0===t&&(t=o),n.saveToCookie){if("undefined"==typeof Cookies)return"true"===c&&d.error("cookies library not present"),!1;i.theme_name=t,i.theme_css=o,i.theme_name.includes("Uno")||"Bootstrap"==i.theme_name?(i.theme_author="J1 Team",i.theme_author_url="https://jekyll.one/"):(i.theme_author="Bootswatch",i.theme_author_url="https://bootswatch.com/"),d.info("write to cookie : "+a.user_state),j1.writeCookie({name:a.user_state,data:i,secure:m,expires:365}),location.reload(!0)}else d.info("write to cookie : disabled"),d.warn("selected theme not activated: "+t)},loadThemeFromCookie:function(t){if("undefined"==typeof Cookies)return d.error("cookies library not present"),!1;e.extend({},e.fn.ThemeSwitcher.defaults,t);j1.existsCookie(a.user_state)?(d.info("cookie found: "+a.user_state),i=j1.readCookie(a.user_state)):(d.error("cookie not found: "+a.user_state),d.info("j1 cookies found:"+r.length),r.forEach((function(e){console.log("j1.themes.switcher: "+e)})),d.info("ga cookies found:"+h.length),h.forEach((function(e){console.log("j1.themes.switcher: "+e)})));var o=i.theme_name,s=i.theme_css;this.switchTheme(o,s)},addTheme:function(e,t,o,s){void 0===o&&(o=0),void 0===s&&(s=0),this.themesList.splice(o,s,{name:e,css:t}),this.addThemesToControl()},addThemesToControl:function(){if(void 0===this.$element)return d.error("bootstrapThemeSelector|addThemesToControl: Element is undefined"),!1;if(void 0===this.themesList)return d.error("bootstrapThemeSelector|addThemesToControl: Themes is undefined"),!1;if(this.settings.excludeBootswatch){var t;-1!==this.settings.excludeBootswatch.indexOf(",")?t=this.settings.excludeBootswatch.replace(/ /g,"").split(","):(t=[]).push(this.settings.excludeBootswatch);var o=this.themesList;e.each(o,(function(s,i){i&&i.name&&-1!==e.inArray(i.name,t)&&o.splice(s,1)})),this.themesList=o}var s=this;if(this.$element.is("ul")){var c,l=e(this),m=e.extend({},e.fn.ThemeSwitcher.defaults,l.data("ThemeSwitcher")),f=(m.cssThemeLink,m.debug);j1.existsCookie(a.user_state)?(d.info("user state cookie found"),i=j1.readCookie(a.user_state)):(d.error("user state NOT cookie found"),d.info("j1 cookies found:"+r.length),r.forEach((function(e){console.log("j1.themes.switcher: "+e)})),d.info("ga cookies found:"+h.length),h.forEach((function(e){console.log("j1.themes.switcher: "+e)}))),c=i.theme_name,"true"===f&&d.info("bootstrapThemeSelector: UL element selected"),this.$element.empty();var p="";e.each(this.themesList,(function(t,o){p=s.$element[0].id.includes("mmenu")?"mmenu-item":"dropdown-item",o.name===c&&(p=s.$element[0].id.includes("mmenu")?"mmenu-item active":"dropdown-item active");var i=e("<li />").attr("class",p).append('<a class="link-no-decoration" href="#"><i class="mdib mdib-view-quilt mdib-18px mr-2" style="color: #9E9E9E"></i>'+o.name+"</a>").on("click",(function(){m.loadFromBootswatch?s.switchTheme(o.name,o.css):s.switchTheme(o.name,o.cssCdn),e(this).parent().find("li").removeClass("active"),e(this).addClass("active")}));s.$element.append(i)})),n=s.$element[0].className.includes("dropdown-menu")?"desktop":"mobile",u.type="state",u.action="menu loaded for : "+n,u.text="menu loaded on id: "+s.$element[0].id,j1.sendMessage("ThemeSwitcher","j1.adapter.navigator",u)}else if(this.$element.is("select")){var T;d.info("bootstrapThemeSelector: SELECT element selected"),this.$element.empty(),e.each(this.themesList,(function(e,t){T=null,t.name===c&&(T="selected"),m.loadFromBootswatch?s.$element.append("<option "+T+" value='"+t.css+"'>"+t.name+"</option>"):s.$element.append("<option "+T+" value='"+t.cssCdn+"'>"+t.name+"</option>")})),this.$element.on("change",(function(){var t=e("option:selected",this);s.switchTheme(t.text(),t.val())}))}else d.info("bootstrapThemeSelector: no UL or SELECT element found"),d.error("bootstrapThemeSelector: failed")},getThemes:function(){var t=this;null!==this.settings.localFeed&&""!==this.settings.localFeed?e.ajax({url:this.settings.localFeed,dataType:"json",success:function(e){t.themesList=e.themes,t.addThemesToControl()},error:function(e,o,s){d.error("failed to retrieve the local feed from: '"+t.settings.localFeed+"'")}}):e.ajax({url:this.settings.bootswatchApiUrl+"/"+this.settings.bootswatchApiVersion+".json",dataType:"json",success:function(e){if(void 0===e.themes)return null;t.themesList=e.themes,t.themesList.splice(0,0,{name:"default",css:t.settings.defaultCssFile}),t.addThemesToControl()}})},themes:function(e){if(void 0===e)return this.themesList;this.themesList=e}},e.fn.ThemeSwitcher=function(t){var o,s=Array.prototype.slice.call(arguments,1),i=e(this),n=i.data("ThemeSwitcher"),a="object"==typeof t&&t;return n||i.data("ThemeSwitcher",n=new f(this,a)),"string"==typeof t&&(o=n[t].apply(n,s)),void 0===o?i:o},e.fn.ThemeSwitcher.defaults={debug:!1,saveToCookie:!0,cssThemeLink:"bootstrapTheme",cookieThemeName:"bootstrapTheme.name",cookieThemeCss:"boostrapTheme.css",cookieExpiration:365,cookiePath:"/",defaultCssFile:"https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css",bootswatchApiUrl:"https://bootswatch.com/api/",bootswatchApiVersion:"5",loadFromBootswatch:!0,localFeed:"",excludeBootswatch:""},e.fn.ThemeSwitcher.Constructor=f}(jQuery,window,document);
@@ -30,7 +30,7 @@ function Translator(props) {
30
30
  // global vars
31
31
  // ---------------------------------------------------------------------------
32
32
  var self = this;
33
- var logger = log4javascript.getLogger('j1.core.translator');
33
+ var logger = log4javascript.getLogger('j1.api.translator');
34
34
  var pageURL = new liteURL(window.location.href);
35
35
  var cookieSecure = (pageURL.protocol.includes('https')) ? true : false;
36
36
  var navigatorLanguage = navigator.language || navigator.userLanguage;
@@ -139,8 +139,8 @@ function Translator(props) {
139
139
  // set the xhrDataElement of the modal loadad based on dialogLanguage
140
140
  translator.props.xhrDataElement = translator.props.xhrDataElement + '-' + translator.props.dialogLanguage;
141
141
 
142
- logger.info('\n' + 'initializing core module: started');
143
- logger.debug('\n' + 'state: started');
142
+ logger.info('initializing core module: started');
143
+ logger.debug('state: started');
144
144
 
145
145
  var translationDefaultSettings = {
146
146
  "translatorName": "google",
@@ -154,7 +154,7 @@ function Translator(props) {
154
154
 
155
155
  var translatorCookie = Cookie.get(translator.props.cookieName);
156
156
  if (!translatorCookie) {
157
- logger.info('\n' + 'initializing translator cookie: ' + translator.props.cookieName);
157
+ logger.info('initializing translator cookie: ' + translator.props.cookieName);
158
158
  // enable and write all settings required for translation (translation cookie)
159
159
  Cookie.set(
160
160
  translator.props.cookieName,
@@ -304,7 +304,7 @@ function Translator(props) {
304
304
  }
305
305
  },
306
306
  error: function (jqXHR, textStatus, errorThrown) {
307
- logger.error('\n' + 'failed to retrieve JSON data from: ' + settings.url);
307
+ logger.error('failed to retrieve JSON data from: ' + settings.url);
308
308
  }
309
309
  });
310
310
  }
@@ -319,7 +319,7 @@ function Translator(props) {
319
319
 
320
320
  self.modal = document.getElementById(translator.props.dialogContainerID);
321
321
  if (!self.modal) {
322
- logger.info('\n' + 'load consent modal');
322
+ logger.info( 'load consent modal');
323
323
 
324
324
  self.modal = document.createElement('div');
325
325
  self.modal.id = translator.props.dialogContainerID;
@@ -343,7 +343,7 @@ function Translator(props) {
343
343
  var msDropdownJSON;
344
344
  var index;
345
345
 
346
- logger.debug('\n' + 'show.bs.modal: entered');
346
+ logger.debug('show.bs.modal: entered');
347
347
 
348
348
  // hide the menubar for the modal header
349
349
  // $('#navigator_nav_navbar').hide();
@@ -359,7 +359,7 @@ function Translator(props) {
359
359
  })
360
360
  )
361
361
  .then(function(data) {
362
- logger.info('\n' + 'creating msDropdown from JSON data: finished');
362
+ logger.info('creating msDropdown from JSON data: finished');
363
363
  });
364
364
  }); // END modal on 'show'
365
365
 
@@ -376,7 +376,7 @@ function Translator(props) {
376
376
  msDropdownJSON = document.getElementById('dropdownJSON').msDropdown;
377
377
  if (!msDropdownJSON.length) {
378
378
  // critical error
379
- logger.error('\n' + 'no msDropdown found in translation dialog');
379
+ logger.error('no msDropdown found in translation dialog');
380
380
  self.$modal.hide();
381
381
  } else {
382
382
  // set translation language for auto detection
@@ -401,7 +401,7 @@ function Translator(props) {
401
401
  // if modal is OPEN
402
402
  $('body').addClass('stop-scrolling');
403
403
 
404
- logger.info('\n' + 'msDropdown successfully loaded in translation dialog');
404
+ logger.info('msDropdown successfully loaded in translation dialog');
405
405
  clearInterval(dependencies_met_msDropdownJSON_loaded);
406
406
  }
407
407
  }
@@ -426,7 +426,7 @@ function Translator(props) {
426
426
  var templateUrl = translator.props.contentURL + '/' + 'index.html';
427
427
  $.get(templateUrl)
428
428
  .done(function (data) {
429
- logger.info('\n' + 'loading consent modal: successfully');
429
+ logger.info('loading consent modal: successfully');
430
430
  self.modal.innerHTML = data;
431
431
  self.modal.innerHTML = $('#' + translator.props.xhrDataElement).eq(0).html();
432
432
  self.modal.style.display = 'block';
@@ -442,7 +442,7 @@ function Translator(props) {
442
442
  self.$buttonSave = $('#translator-buttonSave');
443
443
  self.$buttonAgreeAll = $('#translator-buttonAgreeAll');
444
444
 
445
- logger.info('\n' + 'load/initialze options from cookie');
445
+ logger.info('load/initialze options from cookie');
446
446
  updateButtons();
447
447
  updateOptionsFromCookie();
448
448
 
@@ -457,7 +457,7 @@ function Translator(props) {
457
457
  updateButtons();
458
458
  });
459
459
 
460
- logger.info('\n' + 'initialze button event handler');
460
+ logger.info('initialze button event handler');
461
461
 
462
462
  self.$buttonDoNotAgree.click(function () {
463
463
  doNotAgree();
@@ -485,8 +485,8 @@ function Translator(props) {
485
485
  self.$modal.modal('show');
486
486
  })
487
487
  .fail(function () {
488
- logger.error('\n' + 'loading translator dialog (modal): failed');
489
- logger.warn('\n' + 'probably no|wrong `contentURL` set');
488
+ logger.error('loading translator dialog (modal): failed');
489
+ logger.warn('probably no|wrong `contentURL` set');
490
490
  });
491
491
  } else {
492
492
  self.$modal.modal('show');
@@ -678,7 +678,7 @@ function Translator(props) {
678
678
  }
679
679
  }; // END getSettings
680
680
 
681
- logger.info('\n' + 'initializing core module finished');
682
- logger.debug('\n' + 'state: finished');
681
+ logger.info('initializing core module finished');
682
+ logger.debug('state: finished');
683
683
 
684
684
  } // END Translator
@@ -13,4 +13,4 @@
13
13
  # -----------------------------------------------------------------------------
14
14
  */
15
15
 
16
- "use strict";function Translator(o){var e,a,t=this,n=log4javascript.getLogger("j1.core.translator"),i=!!new liteURL(window.location.href).protocol.includes("https"),r=(navigator.language||navigator.userLanguage,!1),s={},l={set:function(o,e,a,t,n,i){var r=window.btoa(e),s="; expires=Thu, 01 Jan 1970 00:00:00 UTC";if(a>0){var l=new Date;l.setTime(l.getTime()+24*a*60*60*1e3),s="; expires="+l.toUTCString()}document.cookie=i?n?o+"="+(r||"")+s+"; Path=/; SameSite="+t+"; Domain="+n+"; Secure="+i+";":o+"="+(r||"")+s+"; Path=/; SameSite="+t+"; Secure="+i+";":n?o+"="+(r||"")+s+"; Path=/; SameSite="+t+";Domain="+n+"; ":o+"="+(r||"")+s+"; Path=/; SameSite="+t+";"},get:function(o){for(var e=o+"=",a=document.cookie.split(";"),t=0;t<a.length;t++){for(var n=a[t];" "===n.charAt(0);)n=n.substring(1,n.length);if(0===n.indexOf(e)){var i=n.substring(e.length,n.length);return window.atob(i)}}}};for(var p in s.props={contentURL:"/assets/data/translator",translatorLanguagesFile:"/assets/data/iso-639-language-codes-flags.json",translatorLanguages:"translator-languages",cookieName:"j1.user.state",cookieConsentName:"j1.user.consent",cookieStorageDays:365,cookieSameSite:"Lax",cookieSecure:i,translationEnabled:!1,disableLanguageSelector:!1,translatorName:"google",translationLanguages:"all",translationLanguage:"auto",translateAllPages:!0,hideSuggestionBox:!0,hidePoweredBy:!0,hideTopFrame:!0,dialogLanguage:"auto",dialogLanguages:["en","de"],dialogContainerID:"translator-modal",xhrDataElement:"",postSelectionCallback:""},o)s.props[p]=o[p];-1!==s.props.dialogLanguage.indexOf("-")&&(s.props.dialogLanguage=s.props.dialogLanguage.split("-")[0]),s.props.dialogLanguages.includes(s.props.dialogLanguage)||(s.props.dialogLanguage="en"),s.props.xhrDataElement=s.props.xhrDataElement+"-"+s.props.dialogLanguage,n.info("\ninitializing core module: started"),n.debug("\nstate: started");l.get(s.props.cookieName)||(n.info("\ninitializing translator cookie: "+s.props.cookieName),l.set(s.props.cookieName,JSON.stringify({translatorName:"google",translationEnabled:!1,translateAllPages:!0,useLanguageFromBrowser:!0,translationLanguage:"de",analysis:!0,personalization:!0}),s.props.cookieStorageDays,s.props.cookieSameSite,s.props.cookieDomain,s.props.cookieSecure));var d=function(o){"loading"!==document.readyState?o():document.addEventListener("DOMContentLoaded",o)};function c(){var o={},e=!1,a=0,t=arguments.length;"[object Boolean]"===Object.prototype.toString.call(arguments[0])&&(e=arguments[0],a++);for(var n=function(a){for(var t in a)Object.prototype.hasOwnProperty.call(a,t)&&(e&&"[object Object]"===Object.prototype.toString.call(a[t])?o[t]=c(!0,o[t],a[t]):o[t]=a[t])};a<t;a++){n(arguments[a])}return o}function g(o){var e,a=c({size:0,width:250,multiple:!1,selectedIndex:1,enableAutoFilter:!1,visibleRows:null},o);e="#"+a.selector,$.ajax({url:a.url,dataType:"json",success:function(o){var t=[];if(s.props.translationLanguages.includes("all"))t=o[a.elm];else for(var n=0;n<o[a.elm].length;n++)s.props.translationLanguages.includes(o[a.elm][n].value)&&t.push(o[a.elm][n]);a.visibleRows>t.length&&(a.visibleRows=t.length),void 0===$("#dropdownJSON")[0].msDropdown&&MsDropdown.make(e,{byJson:{data:t,name:a.name,size:a.size,width:a.width,multiple:a.multiple},enableAutoFilter:a.enableAutoFilter,visibleRows:a.visibleRows})},error:function(o,e,t){n.error("\nfailed to retrieve JSON data from: "+a.url)}})}function u(){var o="none";d(function(){if(t.modal=document.getElementById(s.props.dialogContainerID),t.modal)t.$modal.modal("show");else{n.info("\nload consent modal"),t.modal=document.createElement("div"),t.modal.id=s.props.dialogContainerID,t.modal.style.display="none",t.modal.setAttribute("class","modal fade"),t.modal.setAttribute("tabindex","-1"),t.modal.setAttribute("role","dialog"),t.modal.setAttribute("aria-labelledby",s.props.dialogContainerID),document.body.append(t.modal),t.$modal=$(t.modal),t.$modal.on("show.bs.modal",(function(){n.debug("\nshow.bs.modal: entered"),$.when(g({url:s.props.translatorLanguagesFile,elm:s.props.translatorLanguages,selector:"dropdownJSON",width:400,visibleRows:8})).then((function(o){n.info("\ncreating msDropdown from JSON data: finished")}))})),t.$modal.on("shown.bs.modal",(function(){var o,i;i=setInterval((function(){void 0!==document.getElementById("dropdownJSON").msDropdown&&((o=document.getElementById("dropdownJSON").msDropdown).length?("auto"===s.props.translationLanguage?(e=navigator.language||navigator.userLanguage,a=e.split("-")[0]):a=s.props.translationLanguage,o.selectedIndex=$("#dropdownJSON option[value="+a+"]").index(),s.props.disableLanguageSelector&&(o.disabled=!0),$("#dropdownJSON").show(),$("body").addClass("stop-scrolling"),n.info("\nmsDropdown successfully loaded in translation dialog"),clearInterval(i)):(n.error("\nno msDropdown found in translation dialog"),t.$modal.hide()))}),10)})),t.$modal.on("hidden.bs.modal",(function(){$("body").removeClass("stop-scrolling"),function(o,e){for(var a=Array.prototype.slice.call(arguments,2),t=o.split("."),n=t.pop(),i=0;i<t.length;i++)e=e[t[i]];e[n].apply(e,a)}(s.props.postSelectionCallback,window,o)}));var i=s.props.contentURL+"/index.html";$.get(i).done((function(e){n.info("\nloading consent modal: successfully"),t.modal.innerHTML=e,t.modal.innerHTML=$("#"+s.props.xhrDataElement).eq(0).html(),t.modal.style.display="block",$(t.modal).modal({backdrop:"static",keyboard:!1}),t.$buttonDoNotAgree=$("#translator-buttonDoNotAgree"),t.$buttonAgree=$("#translator-buttonAgree"),t.$buttonExit=$("#translator-buttonExit"),t.$buttonSave=$("#translator-buttonSave"),t.$buttonAgreeAll=$("#translator-buttonAgreeAll"),n.info("\nload/initialze options from cookie"),f(),m(),$("#google-options").on("hide.bs.collapse",(function(){r=!1,f()})).on("show.bs.collapse",(function(){r=!0,f()})),n.info("\ninitialze button event handler"),t.$buttonDoNotAgree.click((function(){var e;(e=b()).translationEnabled=!1,l.set(s.props.cookieName,JSON.stringify(e),s.props.cookieStorageDays,s.props.cookieSameSite,s.props.cookieDomain,s.props.cookieSecure),t.$modal.modal("hide"),o="process"})),t.$buttonAgree.click((function(){h(),o="process"})),t.$buttonExit.click((function(){o="exitOnly",t.$modal.modal("hide")})),t.$buttonSave.click((function(){var e,a;$("#google-options").collapse("hide"),e=b(),(a=JSON.parse(l.get(s.props.cookieConsentName))).analysis=e.analysis,a.personalization=e.personalization,l.set(s.props.cookieConsentName,JSON.stringify(a),s.props.cookieStorageDays,s.props.cookieSameSite,s.props.cookieDomain,s.props.cookieSecure),l.set(s.props.cookieName,JSON.stringify(e),s.props.cookieStorageDays,s.props.cookieSameSite,s.props.cookieDomain,s.props.cookieSecure),t.$modal.modal("hide"),m(),o="process"})),t.$buttonAgreeAll.click((function(){$("#google-options").collapse("hide"),h(),o="process"})),t.$modal.modal("show")})).fail((function(){n.error("\nloading translator dialog (modal): failed"),n.warn("\nprobably no|wrong `contentURL` set")}))}}.bind(this))}function m(){var o=t.getSettings();if(o)for(var e in o){t.$modal.find("#google-options .translator-option[data-name="+e+'] input[type="checkbox"]').prop("checked",o[e])}}function f(){r?(t.$buttonDoNotAgree.hide(),t.$buttonAgree.hide(),t.$buttonSave.show(),t.$buttonAgreeAll.show()):(t.$buttonDoNotAgree.show(),t.$buttonAgree.show(),t.$buttonSave.hide(),t.$buttonAgreeAll.hide())}function b(o){for(var e=t.$modal.find("#google-options .translator-option"),a={},n=0;n<e.length;n++){var i=e[n],r=i.getAttribute("data-name");if("necessary"===r)a[r]=!0;else if(void 0===o){var s=$(i).find('input[type="checkbox"]');a[r]=s.prop("checked")}else a[r]=!!o}return a}function h(){var o=JSON.parse(l.get(s.props.cookieConsentName)),e=JSON.parse(l.get(s.props.cookieName));e.analysis=!0,e.personalization=!0,e.translationEnabled=!0,o.analysis=e.analysis,o.personalization=e.personalization,l.set(s.props.cookieConsentName,JSON.stringify(o),s.props.cookieStorageDays,s.props.cookieSameSite,s.props.cookieDomain,s.props.cookieSecure),l.set(s.props.cookieName,JSON.stringify(e),s.props.cookieStorageDays,s.props.cookieSameSite,s.props.cookieDomain,s.props.cookieSecure),t.$modal.modal("hide")}this.showDialog=function(){u()},this.getSettings=function(o){if(l.get(s.props.cookieName)){var e=JSON.parse(l.get(s.props.cookieName));return void 0===o?e:!!e&&e[o]}},n.info("\ninitializing core module finished"),n.debug("\nstate: finished")}
16
+ "use strict";function Translator(o){var e,a,t=this,n=log4javascript.getLogger("j1.api.translator"),i=!!new liteURL(window.location.href).protocol.includes("https"),r=(navigator.language||navigator.userLanguage,!1),s={},l={set:function(o,e,a,t,n,i){var r=window.btoa(e),s="; expires=Thu, 01 Jan 1970 00:00:00 UTC";if(a>0){var l=new Date;l.setTime(l.getTime()+24*a*60*60*1e3),s="; expires="+l.toUTCString()}document.cookie=i?n?o+"="+(r||"")+s+"; Path=/; SameSite="+t+"; Domain="+n+"; Secure="+i+";":o+"="+(r||"")+s+"; Path=/; SameSite="+t+"; Secure="+i+";":n?o+"="+(r||"")+s+"; Path=/; SameSite="+t+";Domain="+n+"; ":o+"="+(r||"")+s+"; Path=/; SameSite="+t+";"},get:function(o){for(var e=o+"=",a=document.cookie.split(";"),t=0;t<a.length;t++){for(var n=a[t];" "===n.charAt(0);)n=n.substring(1,n.length);if(0===n.indexOf(e)){var i=n.substring(e.length,n.length);return window.atob(i)}}}};for(var p in s.props={contentURL:"/assets/data/translator",translatorLanguagesFile:"/assets/data/iso-639-language-codes-flags.json",translatorLanguages:"translator-languages",cookieName:"j1.user.state",cookieConsentName:"j1.user.consent",cookieStorageDays:365,cookieSameSite:"Lax",cookieSecure:i,translationEnabled:!1,disableLanguageSelector:!1,translatorName:"google",translationLanguages:"all",translationLanguage:"auto",translateAllPages:!0,hideSuggestionBox:!0,hidePoweredBy:!0,hideTopFrame:!0,dialogLanguage:"auto",dialogLanguages:["en","de"],dialogContainerID:"translator-modal",xhrDataElement:"",postSelectionCallback:""},o)s.props[p]=o[p];-1!==s.props.dialogLanguage.indexOf("-")&&(s.props.dialogLanguage=s.props.dialogLanguage.split("-")[0]),s.props.dialogLanguages.includes(s.props.dialogLanguage)||(s.props.dialogLanguage="en"),s.props.xhrDataElement=s.props.xhrDataElement+"-"+s.props.dialogLanguage,n.info("initializing core module: started"),n.debug("state: started");l.get(s.props.cookieName)||(n.info("initializing translator cookie: "+s.props.cookieName),l.set(s.props.cookieName,JSON.stringify({translatorName:"google",translationEnabled:!1,translateAllPages:!0,useLanguageFromBrowser:!0,translationLanguage:"de",analysis:!0,personalization:!0}),s.props.cookieStorageDays,s.props.cookieSameSite,s.props.cookieDomain,s.props.cookieSecure));var d=function(o){"loading"!==document.readyState?o():document.addEventListener("DOMContentLoaded",o)};function g(){var o={},e=!1,a=0,t=arguments.length;"[object Boolean]"===Object.prototype.toString.call(arguments[0])&&(e=arguments[0],a++);for(var n=function(a){for(var t in a)Object.prototype.hasOwnProperty.call(a,t)&&(e&&"[object Object]"===Object.prototype.toString.call(a[t])?o[t]=g(!0,o[t],a[t]):o[t]=a[t])};a<t;a++){n(arguments[a])}return o}function c(o){var e,a=g({size:0,width:250,multiple:!1,selectedIndex:1,enableAutoFilter:!1,visibleRows:null},o);e="#"+a.selector,$.ajax({url:a.url,dataType:"json",success:function(o){var t=[];if(s.props.translationLanguages.includes("all"))t=o[a.elm];else if(0==t.length)for(var n=0;n<o[a.elm].length;n++)if(s.props.translationLanguages.includes(o[a.elm][n].value))t.push(o[a.elm][n]);else o[a.elm][n];a.visibleRows>t.length&&(a.visibleRows=t.length),void 0===$("#dropdownJSON")[0].msDropdown&&MsDropdown.make(e,{byJson:{data:t,name:a.name,size:a.size,width:a.width,multiple:a.multiple},enableAutoFilter:a.enableAutoFilter,visibleRows:a.visibleRows})},error:function(o,e,t){n.error("failed to retrieve JSON data from: "+a.url)}})}function u(){var o="none";d(function(){if(t.modal=document.getElementById(s.props.dialogContainerID),t.modal)t.$modal.modal("show");else{n.info("load consent modal"),t.modal=document.createElement("div"),t.modal.id=s.props.dialogContainerID,t.modal.style.display="none",t.modal.setAttribute("class","modal fade"),t.modal.setAttribute("tabindex","-1"),t.modal.setAttribute("role","dialog"),t.modal.setAttribute("aria-labelledby",s.props.dialogContainerID),document.body.append(t.modal),t.$modal=$(t.modal),t.$modal.on("show.bs.modal",(function(){n.debug("show.bs.modal: entered"),$.when(c({url:s.props.translatorLanguagesFile,elm:s.props.translatorLanguages,selector:"dropdownJSON",width:400,visibleRows:8})).then((function(o){n.info("creating msDropdown from JSON data: finished")}))})),t.$modal.on("shown.bs.modal",(function(){var o,i;i=setInterval((function(){void 0!==document.getElementById("dropdownJSON").msDropdown&&((o=document.getElementById("dropdownJSON").msDropdown).length?("auto"===s.props.translationLanguage?(e=navigator.language||navigator.userLanguage,a=e.split("-")[0]):a=s.props.translationLanguage,o.selectedIndex=$("#dropdownJSON option[value="+a+"]").index(),s.props.disableLanguageSelector&&(o.disabled=!0),$("#dropdownJSON").show(),$("body").addClass("stop-scrolling"),n.info("msDropdown successfully loaded in translation dialog"),clearInterval(i)):(n.error("no msDropdown found in translation dialog"),t.$modal.hide()))}),10)})),t.$modal.on("hidden.bs.modal",(function(){$("body").removeClass("stop-scrolling"),function(o,e){for(var a=Array.prototype.slice.call(arguments,2),t=o.split("."),n=t.pop(),i=0;i<t.length;i++)e=e[t[i]];e[n].apply(e,a)}(s.props.postSelectionCallback,window,o)}));var i=s.props.contentURL+"/index.html";$.get(i).done((function(e){n.info("loading consent modal: successfully"),t.modal.innerHTML=e,t.modal.innerHTML=$("#"+s.props.xhrDataElement).eq(0).html(),t.modal.style.display="block",$(t.modal).modal({backdrop:"static",keyboard:!1}),t.$buttonDoNotAgree=$("#translator-buttonDoNotAgree"),t.$buttonAgree=$("#translator-buttonAgree"),t.$buttonExit=$("#translator-buttonExit"),t.$buttonSave=$("#translator-buttonSave"),t.$buttonAgreeAll=$("#translator-buttonAgreeAll"),n.info("load/initialze options from cookie"),f(),m(),$("#google-options").on("hide.bs.collapse",(function(){r=!1,f()})).on("show.bs.collapse",(function(){r=!0,f()})),n.info("initialze button event handler"),t.$buttonDoNotAgree.click((function(){var e;(e=b()).translationEnabled=!1,l.set(s.props.cookieName,JSON.stringify(e),s.props.cookieStorageDays,s.props.cookieSameSite,s.props.cookieDomain,s.props.cookieSecure),t.$modal.modal("hide"),o="process"})),t.$buttonAgree.click((function(){h(),o="process"})),t.$buttonExit.click((function(){o="exitOnly",t.$modal.modal("hide")})),t.$buttonSave.click((function(){var e,a;$("#google-options").collapse("hide"),e=b(),(a=JSON.parse(l.get(s.props.cookieConsentName))).analysis=e.analysis,a.personalization=e.personalization,l.set(s.props.cookieConsentName,JSON.stringify(a),s.props.cookieStorageDays,s.props.cookieSameSite,s.props.cookieDomain,s.props.cookieSecure),l.set(s.props.cookieName,JSON.stringify(e),s.props.cookieStorageDays,s.props.cookieSameSite,s.props.cookieDomain,s.props.cookieSecure),t.$modal.modal("hide"),m(),o="process"})),t.$buttonAgreeAll.click((function(){$("#google-options").collapse("hide"),h(),o="process"})),t.$modal.modal("show")})).fail((function(){n.error("loading translator dialog (modal): failed"),n.warn("probably no|wrong `contentURL` set")}))}}.bind(this))}function m(){var o=t.getSettings();if(o)for(var e in o){t.$modal.find("#google-options .translator-option[data-name="+e+'] input[type="checkbox"]').prop("checked",o[e])}}function f(){r?(t.$buttonDoNotAgree.hide(),t.$buttonAgree.hide(),t.$buttonSave.show(),t.$buttonAgreeAll.show()):(t.$buttonDoNotAgree.show(),t.$buttonAgree.show(),t.$buttonSave.hide(),t.$buttonAgreeAll.hide())}function b(o){for(var e=t.$modal.find("#google-options .translator-option"),a={},n=0;n<e.length;n++){var i=e[n],r=i.getAttribute("data-name");if("necessary"===r)a[r]=!0;else if(void 0===o){var s=$(i).find('input[type="checkbox"]');a[r]=s.prop("checked")}else a[r]=!!o}return a}function h(){var o=JSON.parse(l.get(s.props.cookieConsentName)),e=JSON.parse(l.get(s.props.cookieName));e.analysis=!0,e.personalization=!0,e.translationEnabled=!0,o.analysis=e.analysis,o.personalization=e.personalization,l.set(s.props.cookieConsentName,JSON.stringify(o),s.props.cookieStorageDays,s.props.cookieSameSite,s.props.cookieDomain,s.props.cookieSecure),l.set(s.props.cookieName,JSON.stringify(e),s.props.cookieStorageDays,s.props.cookieSameSite,s.props.cookieDomain,s.props.cookieSecure),t.$modal.modal("hide")}this.showDialog=function(){u()},this.getSettings=function(o){if(l.get(s.props.cookieName)){var e=JSON.parse(l.get(s.props.cookieName));return void 0===o?e:!!e&&e[o]}},n.info("initializing core module finished"),n.debug("state: finished")}
@@ -33,6 +33,8 @@
33
33
  }(this, function(videojs) {
34
34
  'use strict';
35
35
 
36
+ const isDev = (j1.env === "development" || j1.env === "dev") ? true : false;
37
+
36
38
  var logger = log4javascript.getLogger('videoJS.plugin.dailymotion');
37
39
  var _isOnMobile = videojs.browser.IS_IOS || videojs.browser.IS_ANDROID;
38
40
  var Tech = videojs.getTech('Tech');
@@ -197,7 +199,7 @@
197
199
  });
198
200
 
199
201
  this.triggerReady();
200
- logger.debug('\n' + 'created ' + this.name_ + ' player on ID: ' + vm.dmPlayer.id);
202
+ isDev && logger.debug('\n' + 'created ' + this.name_ + ' player on ID: ' + vm.dmPlayer.id);
201
203
  } // END initDMPlayer
202
204
 
203
205
  autoplay(autoplay) {
@@ -542,18 +544,18 @@
542
544
  };
543
545
 
544
546
  function apiLoaded() {
545
- logger.debug('\n' + 'API loaded successfully');
547
+ isDev && logger.debug('\n' + 'API loaded successfully');
546
548
 
547
549
  Dailymotion.isSdkReady = true;
548
550
 
549
551
  for (var i = 0; i < Dailymotion.sdkReadyQueue.length; ++i) {
550
552
  Dailymotion.sdkReadyQueue[i].initDMPlayer();
551
553
  }
552
- logger.debug('\n' + 'created all players from queue: #' + i);
554
+ isDev && logger.debug('\n' + 'created all players from queue: #' + i);
553
555
 
554
556
  endTimeModule = Date.now();
555
- logger.debug('\n' + 'initializing plugin: finished');
556
- logger.debug('\n' + 'plugin initializing time: ' + (endTimeModule-startTimeModule) + 'ms');
557
+ isDev && logger.debug('\n' + 'initializing plugin: finished');
558
+ isDev && logger.debug('\n' + 'plugin initializing time: ' + (endTimeModule-startTimeModule) + 'ms');
557
559
  } // END apiLoaded
558
560
 
559
561
  function loadScript(src, callback) {
@@ -606,7 +608,7 @@
606
608
  }
607
609
 
608
610
  head.appendChild(style);
609
- logger.debug('\n' + 'added additional CSS styles');
611
+ isDev && logger.debug('\n' + 'added additional CSS styles');
610
612
  } // END injectCss
611
613
 
612
614
  // Include the version number
@@ -624,8 +626,8 @@
624
626
  if (j1CoreFinished && pageVisible) {
625
627
  startTimeModule = Date.now();
626
628
 
627
- logger.debug('\n' + 'initializing plugin: started');
628
- logger.debug('\n' + 'version of videoJS detected: ' + videojs.VERSION);
629
+ isDev && logger.debug('\n' + 'initializing plugin: started');
630
+ isDev && logger.debug('\n' + 'version of videoJS detected: ' + videojs.VERSION);
629
631
 
630
632
  loadScript('//api.dmcdn.net/all.js', apiLoaded);
631
633
  // loadScript('/assets/theme/j1/modules/videojs/js/plugins/players/dm/api/dailymotion.sdk.min.js', apiLoaded);