j1-template 2022.0.7 → 2022.0.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (211) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/modules/ads/google_ad_content_home.html +11 -0
  3. data/_includes/themes/j1/modules/ads/google_ad_top_home.html +11 -0
  4. data/_layouts/default.html +0 -56
  5. data/apps/public/cc/index.adoc +0 -1
  6. data/assets/data/article_navigator/index.html +0 -1
  7. data/assets/data/news_panel_posts/index.html +0 -1
  8. data/assets/error_pages/HTTP444.html +4 -4
  9. data/assets/error_pages/HTTP445.html +7 -6
  10. data/assets/error_pages/HTTP446.html +110 -0
  11. data/assets/error_pages/HTTP447.html +110 -0
  12. data/assets/error_pages/HTTP448.html +111 -0
  13. data/assets/themes/j1/adapter/js/advertising.js +413 -0
  14. data/assets/themes/j1/adapter/js/algolia.js +1 -4
  15. data/assets/themes/j1/adapter/js/analytics.js +237 -0
  16. data/assets/themes/j1/adapter/js/asciidoctor.js +1 -4
  17. data/assets/themes/j1/adapter/js/attic.js +1 -4
  18. data/assets/themes/j1/adapter/js/bmd.js +1 -4
  19. data/assets/themes/j1/adapter/js/carousel.js +1 -4
  20. data/assets/themes/j1/adapter/js/clipboard.js +1 -2
  21. data/assets/themes/j1/adapter/js/comments.js +387 -0
  22. data/assets/themes/j1/adapter/js/cookieConsent.js +103 -59
  23. data/assets/themes/j1/adapter/js/fab.js +1 -1
  24. data/assets/themes/j1/adapter/js/framer.js +1 -7
  25. data/assets/themes/j1/adapter/js/j1.js +157 -354
  26. data/assets/themes/j1/adapter/js/justifiedGallery.js +1 -4
  27. data/assets/themes/j1/adapter/js/justifiedGalleryCustomizer.js +1 -4
  28. data/assets/themes/j1/adapter/js/lightbox.js +1 -5
  29. data/assets/themes/j1/adapter/js/logger.js +1 -2
  30. data/assets/themes/j1/adapter/js/mmenu.js +2 -3
  31. data/assets/themes/j1/adapter/js/navigator.js +4 -3
  32. data/assets/themes/j1/adapter/js/quicksearch.js +1 -4
  33. data/assets/themes/j1/adapter/js/rouge.js +2 -5
  34. data/assets/themes/j1/adapter/js/rtable.js +1 -4
  35. data/assets/themes/j1/adapter/js/rtextResizer.js +1 -4
  36. data/assets/themes/j1/adapter/js/scroller.js +2 -5
  37. data/assets/themes/j1/adapter/js/themer.js +1 -1
  38. data/assets/themes/j1/adapter/js/toccer.js +1 -4
  39. data/assets/themes/j1/adapter/js/translator.js +121 -112
  40. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +6 -0
  41. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
  42. data/assets/themes/j1/core/js/template.js +13 -5
  43. data/assets/themes/j1/core/js/template.min.js +1 -1
  44. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  45. data/assets/themes/j1/modules/advertising/js/google/adInitializer.js +117 -0
  46. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.js +29 -13
  47. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.min.js +1 -1
  48. data/assets/themes/j1/modules/deeplAPI/js/deeplAPI.2.js +1 -1
  49. data/assets/themes/j1/modules/deeplAPI/js/deeplAPI.js +1 -1
  50. data/assets/themes/j1/modules/scroller/js/scroller.js +1 -1
  51. data/assets/themes/j1/modules/translator/js/translator.js +97 -62
  52. data/assets/themes/j1/modules/translator/js/translator.min.js +1 -1
  53. data/lib/j1/version.rb +1 -1
  54. data/lib/starter_web/Gemfile +1 -1
  55. data/lib/starter_web/_config.yml +1 -13
  56. data/lib/starter_web/_data/apps/carousel.yml +2 -2
  57. data/lib/starter_web/_data/apps/defaults/carousel.yml +3 -2
  58. data/lib/starter_web/_data/apps/defaults/justifiedGallery.yml +2 -2
  59. data/lib/starter_web/_data/apps/defaults/justifiedGalleryCustomizer.yml +2 -2
  60. data/lib/starter_web/_data/apps/defaults/lightGallery.yml +2 -2
  61. data/lib/starter_web/_data/apps/defaults/lightbox.yml +2 -2
  62. data/lib/starter_web/_data/apps/justifiedGallery.yml +2 -2
  63. data/lib/starter_web/_data/apps/justifiedGalleryCustomizer.yml +2 -2
  64. data/lib/starter_web/_data/apps/lightGallery.yml +2 -2
  65. data/lib/starter_web/_data/apps/lightbox.yml +2 -2
  66. data/lib/starter_web/_data/blocks/banner.yml +3 -2
  67. data/lib/starter_web/_data/blocks/defaults/banner.yml +9 -0
  68. data/lib/starter_web/_data/blocks/defaults/footer.yml +9 -0
  69. data/lib/starter_web/_data/blocks/defaults/panel.yml +9 -0
  70. data/lib/starter_web/_data/blocks/footer.yml +3 -2
  71. data/lib/starter_web/_data/blocks/panel.yml +3 -2
  72. data/lib/starter_web/_data/builder/blog_navigator.yml +3 -2
  73. data/lib/starter_web/_data/builder/defaults/blog_navigator.yml +8 -8
  74. data/lib/starter_web/_data/j1_config.yml +0 -116
  75. data/lib/starter_web/_data/layouts/default.yml +21 -21
  76. data/lib/starter_web/_data/layouts/home.yml +24 -0
  77. data/lib/starter_web/_data/layouts/page.yml +7 -18
  78. data/lib/starter_web/_data/layouts/post.yml +0 -11
  79. data/lib/starter_web/_data/modules/advertising.yml +140 -12
  80. data/lib/starter_web/_data/modules/analytics.yml +99 -0
  81. data/lib/starter_web/_data/modules/attics.yml +3 -2
  82. data/lib/starter_web/_data/modules/comments.yml +55 -0
  83. data/lib/starter_web/_data/modules/cookieconsent.yml +2 -1
  84. data/lib/starter_web/_data/modules/cookies.yml +3 -1
  85. data/lib/starter_web/_data/modules/defaults/advertising.yml +106 -0
  86. data/lib/starter_web/_data/modules/defaults/analytics.yml +93 -0
  87. data/lib/starter_web/_data/modules/defaults/attics.yml +3 -2
  88. data/lib/starter_web/_data/modules/defaults/authentication.yml +51 -48
  89. data/lib/starter_web/_data/modules/defaults/comments.yml +114 -0
  90. data/lib/starter_web/_data/modules/defaults/cookieconsent.yml +6 -6
  91. data/lib/starter_web/_data/modules/defaults/cookies.yml +90 -6
  92. data/lib/starter_web/_data/modules/defaults/fab.yml +4 -2
  93. data/lib/starter_web/_data/modules/defaults/framer.yml +2 -3
  94. data/lib/starter_web/_data/modules/defaults/log4javascript.yml +3 -2
  95. data/lib/starter_web/_data/modules/defaults/log4r.yml +2 -2
  96. data/lib/starter_web/_data/modules/defaults/navigator.yml +4 -2
  97. data/lib/starter_web/_data/modules/defaults/quicksearch.yml +4 -3
  98. data/lib/starter_web/_data/modules/defaults/rtable.yml +3 -2
  99. data/lib/starter_web/_data/modules/defaults/scoller.yml +3 -2
  100. data/lib/starter_web/_data/modules/defaults/themer.yml +119 -118
  101. data/lib/starter_web/_data/modules/defaults/toccer.yml +1 -1
  102. data/lib/starter_web/_data/modules/defaults/translator.yml +1 -1
  103. data/lib/starter_web/_data/modules/fab.yml +3 -2
  104. data/lib/starter_web/_data/modules/framer.yml +3 -4
  105. data/lib/starter_web/_data/modules/log4r.yml +2 -2
  106. data/lib/starter_web/_data/modules/navigator.yml +4 -2
  107. data/lib/starter_web/_data/modules/quicksearch.yml +3 -3
  108. data/lib/starter_web/_data/modules/rtable.yml +3 -3
  109. data/lib/starter_web/_data/modules/scroller.yml +2 -3
  110. data/lib/starter_web/_data/modules/themer.yml +2 -3
  111. data/lib/starter_web/_data/modules/toccer.yml +3 -3
  112. data/lib/starter_web/_data/modules/translator.yml +1 -1
  113. data/lib/starter_web/_data/plugins/defaults/paginator.yml +2 -2
  114. data/lib/starter_web/_data/plugins/paginator.yml +2 -2
  115. data/lib/starter_web/_data/resources.yml +447 -290
  116. data/lib/starter_web/_includes/attributes.asciidoc +1 -1
  117. data/lib/starter_web/_includes/themes/j1/modules/ads/google_ad_content_home.html +11 -0
  118. data/lib/starter_web/_includes/themes/j1/modules/ads/google_ad_top_home.html +11 -0
  119. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  120. data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.ads.asciidoc +196 -0
  121. data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.comments.asciidoc +182 -0
  122. data/lib/starter_web/index.html +0 -1
  123. data/lib/starter_web/package.json +1 -1
  124. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.adoc +0 -1
  125. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +0 -1
  126. data/lib/starter_web/pages/public/asciidoc_skeletons/simple-document/simple.adoc +0 -1
  127. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +0 -1
  128. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +0 -1
  129. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +0 -1
  130. data/lib/starter_web/pages/public/blog/navigator/archive.html +0 -1
  131. data/lib/starter_web/pages/public/blog/navigator/index.html +0 -1
  132. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +4 -3
  133. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.ads.asciidoc +265 -0
  134. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.base.asciidoc +237 -0
  135. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.comments.asciidoc +237 -0
  136. data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +62 -0
  137. data/lib/starter_web/pages/public/learn/roundtrip/_includes/google-ad.js +130 -0
  138. data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +0 -1
  139. data/lib/starter_web/pages/public/legal/en/200_impress.adoc +0 -1
  140. data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +0 -1
  141. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  142. data/lib/starter_web/utilsrv/package.json +1 -1
  143. metadata +24 -70
  144. data/_includes/themes/j1/blocks/ads/ad.html +0 -64
  145. data/_includes/themes/j1/modules/boards/news_pin_board.html +0 -183
  146. data/_includes/themes/j1/modules/connectors/ad/custom-provider.html +0 -30
  147. data/_includes/themes/j1/modules/connectors/ad/google-adsense.html +0 -62
  148. data/_includes/themes/j1/modules/connectors/ads +0 -56
  149. data/_includes/themes/j1/modules/connectors/analytic/custom-provider.html +0 -32
  150. data/_includes/themes/j1/modules/connectors/analytic/google-analytics.html +0 -30
  151. data/_includes/themes/j1/modules/connectors/analytics +0 -60
  152. data/_includes/themes/j1/modules/connectors/comment/commento.html +0 -31
  153. data/_includes/themes/j1/modules/connectors/comment/custom-provider.html +0 -30
  154. data/_includes/themes/j1/modules/connectors/comment/disqus.html +0 -32
  155. data/_includes/themes/j1/modules/connectors/comment/facebook.html +0 -30
  156. data/_includes/themes/j1/modules/connectors/comment/hyvor.html +0 -32
  157. data/_includes/themes/j1/modules/connectors/comment/just-comments.html +0 -31
  158. data/_includes/themes/j1/modules/connectors/comments +0 -64
  159. data/_includes/themes/j1/modules/connectors/sharing +0 -29
  160. data/_includes/themes/j1/modules/connectors/survey/custom-provider.html +0 -30
  161. data/_includes/themes/j1/modules/connectors/survey/jotform.html +0 -32
  162. data/_includes/themes/j1/modules/connectors/surveys +0 -58
  163. data/_includes/themes/j1/modules/connectors/translator +0 -58
  164. data/_includes/themes/j1/modules/connectors/translators/custom-translator.html +0 -32
  165. data/_includes/themes/j1/modules/connectors/translators/google-translator.html +0 -53
  166. data/_includes/themes/j1/modules/search/algolia.html +0 -181
  167. data/_includes/themes/j1/modules/search/docsearch.html +0 -42
  168. data/assets/data/disqus.js +0 -81
  169. data/assets/data/hyvor.js +0 -72
  170. data/lib/starter_web/pages/_test_pages/100_side-bar-tester.adoc +0 -244
  171. data/lib/starter_web/pages/_test_pages/_includes/attributes.asciidoc +0 -110
  172. data/lib/starter_web/pages/_test_pages/_includes/documents/100_gistblock.asciidoc +0 -28
  173. data/lib/starter_web/pages/_test_pages/_includes/documents/410_bottom_info.asciidoc +0 -14
  174. data/lib/starter_web/pages/_test_pages/_includes/documents/410_bottom_left_warning.asciidoc +0 -11
  175. data/lib/starter_web/pages/_test_pages/_includes/documents/410_bottom_right_danger.asciidoc +0 -11
  176. data/lib/starter_web/pages/_test_pages/_includes/documents/410_central_success.asciidoc +0 -11
  177. data/lib/starter_web/pages/_test_pages/_includes/documents/410_full_height_left_info.asciidoc +0 -11
  178. data/lib/starter_web/pages/_test_pages/_includes/documents/410_full_height_right_success.asciidoc +0 -11
  179. data/lib/starter_web/pages/_test_pages/_includes/documents/410_table_bs_modal_examples.asciidoc +0 -47
  180. data/lib/starter_web/pages/_test_pages/_includes/documents/410_top_info.asciidoc +0 -11
  181. data/lib/starter_web/pages/_test_pages/_includes/documents/410_top_left_info.asciidoc +0 -11
  182. data/lib/starter_web/pages/_test_pages/_includes/documents/410_top_right_success.asciidoc +0 -11
  183. data/lib/starter_web/pages/_test_pages/_includes/documents/419_advanced_modals_demo.asciidoc +0 -337
  184. data/lib/starter_web/pages/_test_pages/_includes/documents/tables/bs_modal_examples.asciidoc +0 -47
  185. data/lib/starter_web/pages/_test_pages/accordion-01-tester.adoc +0 -220
  186. data/lib/starter_web/pages/_test_pages/accordion-02-tester.adoc +0 -177
  187. data/lib/starter_web/pages/_test_pages/accordion-03-tester.adoc +0 -148
  188. data/lib/starter_web/pages/_test_pages/attribute-changes-01-tester.adoc +0 -226
  189. data/lib/starter_web/pages/_test_pages/backdrop-tester.adoc +0 -109
  190. data/lib/starter_web/pages/_test_pages/button-tester-1.adoc +0 -127
  191. data/lib/starter_web/pages/_test_pages/card-tester.adoc +0 -128
  192. data/lib/starter_web/pages/_test_pages/cookieConsent.adoc +0 -96
  193. data/lib/starter_web/pages/_test_pages/deepl.0.adoc +0 -258
  194. data/lib/starter_web/pages/_test_pages/deepl.adoc +0 -204
  195. data/lib/starter_web/pages/_test_pages/desandro-button.adoc +0 -171
  196. data/lib/starter_web/pages/_test_pages/desandro.adoc +0 -147
  197. data/lib/starter_web/pages/_test_pages/flipcard-1-tester.adoc +0 -308
  198. data/lib/starter_web/pages/_test_pages/formular-01-tester.adoc +0 -167
  199. data/lib/starter_web/pages/_test_pages/formular-02-tester.adoc +0 -727
  200. data/lib/starter_web/pages/_test_pages/google-translate-tester.0.adoc +0 -113
  201. data/lib/starter_web/pages/_test_pages/google-translate-tester.1.adoc +0 -231
  202. data/lib/starter_web/pages/_test_pages/google-translate-tester.3.adoc +0 -149
  203. data/lib/starter_web/pages/_test_pages/google-translate-tester.4.adoc +0 -237
  204. data/lib/starter_web/pages/_test_pages/infinite-scroll-tester-2.adoc +0 -183
  205. data/lib/starter_web/pages/_test_pages/infinite-scroll-tester-3.adoc +0 -235
  206. data/lib/starter_web/pages/_test_pages/infinite-scroll-tester-4.adoc +0 -222
  207. data/lib/starter_web/pages/_test_pages/infinite-scroll-tester-5.adoc +0 -119
  208. data/lib/starter_web/pages/_test_pages/infinite-scroll-tester.1.adoc +0 -236
  209. data/lib/starter_web/pages/_test_pages/infinite-scroll-tester.adoc +0 -225
  210. data/lib/starter_web/pages/_test_pages/list-group-tester.adoc +0 -265
  211. data/lib/starter_web/pages/_test_pages/tictok.adoc +0 -127
@@ -0,0 +1,117 @@
1
+ ---
2
+ regenerate: true
3
+ ---
4
+
5
+ {% capture cache %}
6
+
7
+ {% comment %}
8
+ # -----------------------------------------------------------------------------
9
+ # ~/assets/themes/j1/modules/advertising/js/google/adInitializer.js
10
+ # Liquid template for Google Adsense to initialze all units in a page
11
+ #
12
+ # Product/Info:
13
+ # https://jekyll.one
14
+ # Copyright (C) 2021 Juergen Adams
15
+ #
16
+ # J1 Template is licensed under the MIT License.
17
+ # For details, see https://jekyll.one
18
+ # -----------------------------------------------------------------------------
19
+ # Test data:
20
+ # {{ liquid_var | debug }}
21
+ # -----------------------------------------------------------------------------
22
+ {% endcomment %}
23
+
24
+ {% comment %} Liquid procedures
25
+ -------------------------------------------------------------------------------- {% endcomment %}
26
+
27
+ {% comment %} Set global settings
28
+ -------------------------------------------------------------------------------- {% endcomment %}
29
+ {% assign environment = site.environment %}
30
+ {% assign asset_path = "/assets/themes/j1" %}
31
+
32
+ {% comment %} Process YML config data
33
+ ================================================================================ {% endcomment %}
34
+
35
+ {% comment %} Set config files
36
+ -------------------------------------------------------------------------------- {% endcomment %}
37
+ {% assign template_config = site.data.j1_config %}
38
+ {% assign blocks = site.data.blocks %}
39
+ {% assign modules = site.data.modules %}
40
+
41
+ {% comment %} Set config data (settings only)
42
+ -------------------------------------------------------------------------------- {% endcomment %}
43
+ {% assign cookie_defaults = modules.defaults.cookies.defaults %}
44
+ {% assign cookie_settings = modules.cookies.settings %}
45
+
46
+ {% assign advertising_options = modules.defaults.advertising.defaults %}
47
+ {% assign advertising_settings = modules.advertising.settings %}
48
+
49
+ {% comment %} Set config options (settings only)
50
+ -------------------------------------------------------------------------------- {% endcomment %}
51
+ {% assign cookie_options = cookie_defaults | merge: cookie_settings %}
52
+ {% assign advertising_options = advertising_options | merge: advertising_settings %}
53
+
54
+ {% comment %} Variables
55
+ -------------------------------------------------------------------------------- {% endcomment %}
56
+ {% assign advertising = advertising_options.enabled %}
57
+ {% assign advertising_provider = advertising_options.provider %}
58
+
59
+ {% assign production = false %}
60
+ {% if environment == 'prod' or environment == 'production' %}
61
+ {% assign production = true %}
62
+ {% endif %}
63
+
64
+ /*
65
+ # -----------------------------------------------------------------------------
66
+ # ~/assets/themes/j1/modules/advertising/js/google/adInitializer.js
67
+ # JS helper for Google Adsense to initialze all units in a page
68
+ #
69
+ # Product/Info:
70
+ # http://jekyll.one
71
+ #
72
+ # Copyright (C) 2021 Juergen Adams
73
+ #
74
+ # J1 Template is licensed under MIT License.
75
+ # See: https://github.com/jekyll-one/J1 Template/blob/master/LICENSE
76
+ # -----------------------------------------------------------------------------
77
+ */
78
+
79
+ $(document).ready(function() {
80
+ // [INFO ] [j1.adapter.advertising ] [ detected advertising provider: {{advertising_provider}}} ]
81
+ // [INFO ] [j1.adapter.advertising ] [ advertising detected as: {{advertising}} ]
82
+ {% if advertising %}
83
+ var logger = log4javascript.getLogger('j1.core.advertising.google');
84
+ var ads_found = document.getElementsByClassName('adsbygoogle').length;
85
+ var cookie_names = j1.getCookieNames();
86
+ var user_consent = j1.readCookie(cookie_names.user_consent);
87
+
88
+ var dependencies_met_page_ready = setInterval (function (options) {
89
+ if (j1.getState() === 'finished') {
90
+ if (user_consent.personalization) {
91
+ if (ads_found) {
92
+ logger.info('\n' + 'initialize all ads in page: #' + ads_found);
93
+ [].forEach.call(document.querySelectorAll('.adsbygoogle'), function() {
94
+ (adsbygoogle = window.adsbygoogle || []).push({});
95
+ });
96
+ } else {
97
+ logger.warn('\n' + 'no ads found in page');
98
+ }
99
+ } else {
100
+ logger.warn('\n' + 'initializing ads skipped');
101
+ logger.warn('\n' + 'consent on cookies disabled for personalization');
102
+ }
103
+ clearInterval(dependencies_met_page_ready);
104
+ }
105
+ }, 25);
106
+ {% else %}
107
+ // [WARN ] [j1.core.advertising ] [ no init code placed ]
108
+ {% endif %}
109
+ });
110
+
111
+ {% endcapture %}
112
+ {% if production %}
113
+ {{ cache | minifyJS }}
114
+ {% else %}
115
+ {{ cache | strip_empty_lines }}
116
+ {% endif %}
117
+ {% assign cache = nil %}
@@ -38,7 +38,7 @@
38
38
 
39
39
  'use strict';
40
40
  function CookieConsent(props) {
41
- var logger = log4javascript.getLogger('j1.core.bsCookieConsent');
41
+ var logger = log4javascript.getLogger('j1.core.CookieConsent');
42
42
  var self = this;
43
43
  var detailedSettingsShown = false;
44
44
  var url = new liteURL(window.location.href);
@@ -56,14 +56,10 @@ function CookieConsent(props) {
56
56
  dialogLanguage: 'content', // language used for the consent dialog (modal)
57
57
  dialogLanguages: ['en','de'], // supported languages for the consent dialog (modal), defaults to first in array
58
58
  contentURL: '/assets/data/cookieconsent', // URL contain the consent dialogs (modals) for ALL supported languages
59
- cookieName: 'j1.user.translate', // name of the cookie, in which the configuration is stored
60
- cookieStorageDays: 365, // duration the configuration cookie is stored on the client
61
59
  postSelectionCallback: '', // callback function, called after the user has made his selection
62
60
  whitelisted: [], // pages NO consent modal dialog is issued
63
61
  xhrDataElement: 'consent-data', // src container for all language-specific consent dialogs (taken from contentURL)
64
- dialogContainerID: 'consent-modal', // dest container, the dialog modal is loaded (dynamically)
65
- cookieSameSite: 'Lax', // restrict the consent cookie to first-party (do NOT send cookie to other domains)
66
- cookieSecure: true
62
+ dialogContainerID: 'consent-modal' // dest container, the dialog modal is loaded (dynamically)
67
63
  };
68
64
 
69
65
  // merge property settings
@@ -87,7 +83,7 @@ function CookieConsent(props) {
87
83
  this.props.cookieSecure = cookieSecure;
88
84
 
89
85
  var Cookie = {
90
- set: function (name, value, days, cookieSameSite, cookieSecure) {
86
+ set: function (name, value, days, cookieSameSite, cookieDomain, cookieSecure) {
91
87
  var value_encoded = window.btoa(value);
92
88
  var expires = '; expires=Thu, 01 Jan 1970 00:00:00 UTC';
93
89
  if (days>0) {
@@ -96,9 +92,9 @@ function CookieConsent(props) {
96
92
  expires = "; expires=" + date.toUTCString();
97
93
  }
98
94
  if (cookieSecure) {
99
- document.cookie = name + "=" + (value_encoded || '') + expires + '; Path=/; cookieSameSite=' + cookieSameSite + '; ' + 'cookieSecure=' + cookieSecure + ';';
95
+ document.cookie = name + "=" + (value_encoded || '') + expires + '; Path=/; SameSite=' + cookieSameSite + '; ' + 'Domain=' + cookieDomain + '; ' + 'Secure=' + cookieSecure + ';';
100
96
  } else {
101
- document.cookie = name + "=" + (value_encoded || '') + expires + '; Path=/; cookieSameSite=' + cookieSameSite + ';';
97
+ document.cookie = name + "=" + (value_encoded || '') + expires + '; Path=/; SameSite=' + cookieSameSite + ';' + 'Domain=' + cookieDomain + '; ';
102
98
  }
103
99
  },
104
100
  get: function (name) {
@@ -319,20 +315,41 @@ function CookieConsent(props) {
319
315
  }
320
316
 
321
317
  function agreeAll() {
322
- Cookie.set(self.props.cookieName, JSON.stringify(gatherOptions(true)), self.props.cookieStorageDays, self.props.cookieSameSite, cookieSecure);
318
+ Cookie.set(
319
+ self.props.cookieName,
320
+ JSON.stringify(gatherOptions(true)),
321
+ self.props.cookieStorageDays,
322
+ self.props.cookieSameSite,
323
+ self.props.cookieDomain,
324
+ cookieSecure
325
+ );
323
326
  self.$modal.modal('hide');
324
327
  }
325
328
 
326
329
  function doNotAgree() {
327
330
  // Remove consent cookie
328
- Cookie.set(self.props.cookieName, JSON.stringify(gatherOptions(false)), 0, self.props.cookieSameSite, cookieSecure);
331
+ Cookie.set(
332
+ self.props.cookieName,
333
+ JSON.stringify(gatherOptions(false)),
334
+ 0,
335
+ self.props.cookieSameSite,
336
+ self.props.cookieDomain,
337
+ cookieSecure
338
+ );
329
339
  self.$modal.modal('hide');
330
340
  // redirect to error page: blocked site
331
341
  window.location.href = '/445.html';
332
342
  }
333
343
 
334
344
  function saveSettings() {
335
- Cookie.set(self.props.cookieName, JSON.stringify(gatherOptions()), self.props.cookieStorageDays, self.props.cookieSameSite, cookieSecure);
345
+ Cookie.set(
346
+ self.props.cookieName,
347
+ JSON.stringify(gatherOptions()),
348
+ self.props.cookieStorageDays,
349
+ self.props.cookieSameSite,
350
+ self.props.cookieDomain,
351
+ cookieSecure
352
+ );
336
353
  self.$modal.modal('hide');
337
354
  }
338
355
 
@@ -346,7 +363,6 @@ function CookieConsent(props) {
346
363
 
347
364
  // API functions
348
365
  // ---------------------------------------------------------------------------
349
-
350
366
  logger.info('\n' + 'initializing core module finished');
351
367
  logger.info('\n' + 'state: finished');
352
368
 
@@ -24,4 +24,4 @@
24
24
  # outside of J1 Template!
25
25
  # -----------------------------------------------------------------------------
26
26
  */
27
- "use strict";function CookieConsent(d){var v=log4javascript.getLogger("j1.core.bsCookieConsent");var p=this;var q=false;var e=new liteURL(window.location.href);var c=(e.protocol.includes("https"))?true:false;var j;var g;var t;v.info("\ninitializing core module: started");v.info("\nstate: started");this.props={autoShowDialog:true,dialogLanguage:"content",dialogLanguages:["en","de"],contentURL:"/assets/data/cookieconsent",cookieName:"j1.user.translate",cookieStorageDays:365,postSelectionCallback:"",whitelisted:[],xhrDataElement:"consent-data",dialogContainerID:"consent-modal",cookieSameSite:"Strict",cookieSecure:true};for(var f in d){this.props[f]=d[f]}if(this.props.dialogLanguage.indexOf("-")!==-1){this.props.dialogLanguage=this.props.dialogLanguage.split("-")[0]}if(!this.props.dialogLanguages.includes(this.props.dialogLanguage)){this.props.dialogLanguage=this.props.dialogLanguages[0]}this.props.xhrDataElement=this.props.xhrDataElement+"-"+this.props.dialogLanguage;this.props.cookieSecure=c;var h={set:function(z,B,D,A,x){var C=window.btoa(B);var w="; expires=Thu, 01 Jan 1970 00:00:00 UTC";if(D>0){var y=new Date();y.setTime(y.getTime()+(D*24*60*60*1000));w="; expires="+y.toUTCString()}if(x){document.cookie=z+"="+(C||"")+w+"; Path=/; cookieSameSite="+A+"; cookieSecure="+x+";"}else{document.cookie=z+"="+(C||"")+w+"; Path=/; cookieSameSite="+A+";"}},get:function(x){var A=x+"=";var w=document.cookie.split(";");for(var y=0;y<w.length;y++){var C=w[y];while(C.charAt(0)===" "){C=C.substring(1,C.length)}if(C.indexOf(A)===0){var B=C.substring(A.length,C.length);var z=window.atob(B);return z}}return undefined}};var n={documentReady:function(w){if(document.readyState!=="loading"){w()}else{document.addEventListener("DOMContentLoaded",w)}}};function u(){var w={};var x=false;var y=0;var z=arguments.length;if(Object.prototype.toString.call(arguments[0])==="[object Boolean]"){x=arguments[0];y++}var B=function(C){for(var D in C){if(Object.prototype.hasOwnProperty.call(C,D)){if(x&&Object.prototype.toString.call(C[D])==="[object Object]"){w[D]=u(true,w[D],C[D])}else{w[D]=C[D]}}}};for(;y<z;y++){var A=arguments[y];B(A)}return w}function i(B,y){var w=Array.prototype.slice.call(arguments,2);var A=B.split(".");var z=A.pop();for(var x=0;x<A.length;x++){y=y[A[x]]}return y[z].apply(y,w)}function m(w){n.documentReady(function(){p.modal=document.getElementById(p.props.dialogContainerID);if(!p.modal){v.info("\nload consent modal");p.modal=document.createElement("div");p.modal.id=p.props.dialogContainerID;p.modal.style.display="none";p.modal.setAttribute("class","modal fade");p.modal.setAttribute("tabindex","-1");p.modal.setAttribute("role","dialog");p.modal.setAttribute("aria-labelledby",p.props.dialogContainerID);document.body.append(p.modal);p.$modal=$(p.modal);p.$modal.on("hidden.bs.modal",function(){i(p.props.postSelectionCallback,window)});var x=p.props.contentURL+"/index.html";$.get(x).done(function(y){v.info("\nloading consent modal: successfully");p.modal.innerHTML=y;p.modal.innerHTML=$("#"+p.props.xhrDataElement).eq(0).html();p.modal.style.display="block";$(p.modal).modal({backdrop:"static",keyboard:false});p.$buttonDoNotAgree=$("#bccs-buttonDoNotAgree");p.$buttonAgree=$("#bccs-buttonAgree");p.$buttonSave=$("#bccs-buttonSave");p.$buttonAgreeAll=$("#bccs-buttonAgreeAll");v.info("\nload/initialze options from cookie");l();k();$("#bccs-options").on("hide.bs.collapse",function(){q=false;l()}).on("show.bs.collapse",function(){q=true;l()});v.info("\ninitialze event handler");p.$buttonDoNotAgree.click(function(){b()});p.$buttonAgree.click(function(){o()});p.$buttonSave.click(function(){$("#bccs-options").collapse("hide");s();k()});p.$buttonAgreeAll.click(function(){$("#bccs-options").collapse("hide");o();k()});p.$modal.modal("show")}).fail(function(){v.error("\nloading consent modal: failed");v.warn("\nprobably no `contentURL` set")})}else{p.$modal.modal("show")}}.bind(this))}function k(){var y=p.getSettings();if(y){for(var x in y){var w=p.$modal.find("#bccs-options .bccs-option[data-name='"+x+"'] input[type='checkbox']");w.prop("checked",y[x])}}}function l(){if(q){p.$buttonDoNotAgree.hide();p.$buttonAgree.hide();p.$buttonSave.show();p.$buttonAgreeAll.show()}else{p.$buttonDoNotAgree.show();p.$buttonAgree.show();p.$buttonSave.hide();p.$buttonAgreeAll.hide()}}function a(x){var w=p.$modal.find("#bccs-options .bccs-option");var z={};for(var A=0;A<w.length;A++){var C=w[A];var y=C.getAttribute("data-name");if(y==="necessary"){z[y]=true}else{if(x===undefined){var B=$(C).find("input[type='checkbox']");z[y]=B.prop("checked")}else{z[y]=!!x}}}return z}function o(){h.set(p.props.cookieName,JSON.stringify(a(true)),p.props.cookieStorageDays,p.props.cookieSameSite,c);p.$modal.modal("hide")}function b(){h.set(p.props.cookieName,JSON.stringify(a(false)),0,p.props.cookieSameSite,c);p.$modal.modal("hide");window.location.href="/445.html"}function s(){h.set(p.props.cookieName,JSON.stringify(a()),p.props.cookieStorageDays,p.props.cookieSameSite,c);p.$modal.modal("hide")}t=(this.props.whitelisted.indexOf(window.location.pathname)>-1);var r=h.get(this.props.cookieName);if((r===undefined||r==="false")&&this.props.autoShowDialog&&!t){m()}v.info("\ninitializing core module finished");v.info("\nstate: finished");this.showDialog=function(){t=(this.props.whitelisted.indexOf(window.location.pathname)>-1);if(!t){m()}};this.getSettings=function(x){var w=h.get(p.props.cookieName);if(w){var y=JSON.parse(h.get(p.props.cookieName));if(x===undefined){return y}else{if(y){return y[x]}else{return false}}}else{return undefined}}};
27
+ "use strict";function CookieConsent(d){var v=log4javascript.getLogger("j1.core.CookieConsent");var p=this;var q=false;var e=new liteURL(window.location.href);var c=(e.protocol.includes("https"))?true:false;var j;var g;var t;v.info("\ninitializing core module: started");v.info("\nstate: started");this.props={autoShowDialog:true,dialogLanguage:"content",dialogLanguages:["en","de"],contentURL:"/assets/data/cookieconsent",postSelectionCallback:"",whitelisted:[],xhrDataElement:"consent-data",dialogContainerID:"consent-modal"};for(var f in d){this.props[f]=d[f]}if(this.props.dialogLanguage.indexOf("-")!==-1){this.props.dialogLanguage=this.props.dialogLanguage.split("-")[0]}if(!this.props.dialogLanguages.includes(this.props.dialogLanguage)){this.props.dialogLanguage=this.props.dialogLanguages[0]}this.props.xhrDataElement=this.props.xhrDataElement+"-"+this.props.dialogLanguage;this.props.cookieSecure=c;var h={set:function(w,C,E,z,D,A){var B=window.btoa(C);var x="; expires=Thu, 01 Jan 1970 00:00:00 UTC";if(E>0){var y=new Date();y.setTime(y.getTime()+(E*24*60*60*1000));x="; expires="+y.toUTCString()}if(A){document.cookie=w+"="+(B||"")+x+"; Path=/; SameSite="+z+"; Domain="+D+"; Secure="+A+";"}else{document.cookie=w+"="+(B||"")+x+"; Path=/; SameSite="+z+";Domain="+D+"; "}},get:function(x){var A=x+"=";var w=document.cookie.split(";");for(var y=0;y<w.length;y++){var C=w[y];while(C.charAt(0)===" "){C=C.substring(1,C.length)}if(C.indexOf(A)===0){var B=C.substring(A.length,C.length);var z=window.atob(B);return z}}return undefined}};var n={documentReady:function(w){if(document.readyState!=="loading"){w()}else{document.addEventListener("DOMContentLoaded",w)}}};function u(){var w={};var x=false;var y=0;var z=arguments.length;if(Object.prototype.toString.call(arguments[0])==="[object Boolean]"){x=arguments[0];y++}var B=function(C){for(var D in C){if(Object.prototype.hasOwnProperty.call(C,D)){if(x&&Object.prototype.toString.call(C[D])==="[object Object]"){w[D]=u(true,w[D],C[D])}else{w[D]=C[D]}}}};for(;y<z;y++){var A=arguments[y];B(A)}return w}function i(B,y){var w=Array.prototype.slice.call(arguments,2);var A=B.split(".");var z=A.pop();for(var x=0;x<A.length;x++){y=y[A[x]]}return y[z].apply(y,w)}function m(w){n.documentReady(function(){p.modal=document.getElementById(p.props.dialogContainerID);if(!p.modal){v.info("\nload consent modal");p.modal=document.createElement("div");p.modal.id=p.props.dialogContainerID;p.modal.style.display="none";p.modal.setAttribute("class","modal fade");p.modal.setAttribute("tabindex","-1");p.modal.setAttribute("role","dialog");p.modal.setAttribute("aria-labelledby",p.props.dialogContainerID);document.body.append(p.modal);p.$modal=$(p.modal);p.$modal.on("hidden.bs.modal",function(){i(p.props.postSelectionCallback,window)});var x=p.props.contentURL+"/index.html";$.get(x).done(function(y){v.info("\nloading consent modal: successfully");p.modal.innerHTML=y;p.modal.innerHTML=$("#"+p.props.xhrDataElement).eq(0).html();p.modal.style.display="block";$(p.modal).modal({backdrop:"static",keyboard:false});p.$buttonDoNotAgree=$("#bccs-buttonDoNotAgree");p.$buttonAgree=$("#bccs-buttonAgree");p.$buttonSave=$("#bccs-buttonSave");p.$buttonAgreeAll=$("#bccs-buttonAgreeAll");v.info("\nload/initialze options from cookie");l();k();$("#bccs-options").on("hide.bs.collapse",function(){q=false;l()}).on("show.bs.collapse",function(){q=true;l()});v.info("\ninitialze event handler");p.$buttonDoNotAgree.click(function(){b()});p.$buttonAgree.click(function(){o()});p.$buttonSave.click(function(){$("#bccs-options").collapse("hide");s();k()});p.$buttonAgreeAll.click(function(){$("#bccs-options").collapse("hide");o();k()});p.$modal.modal("show")}).fail(function(){v.error("\nloading consent modal: failed");v.warn("\nprobably no `contentURL` set")})}else{p.$modal.modal("show")}}.bind(this))}function k(){var y=p.getSettings();if(y){for(var x in y){var w=p.$modal.find("#bccs-options .bccs-option[data-name='"+x+"'] input[type='checkbox']");w.prop("checked",y[x])}}}function l(){if(q){p.$buttonDoNotAgree.hide();p.$buttonAgree.hide();p.$buttonSave.show();p.$buttonAgreeAll.show()}else{p.$buttonDoNotAgree.show();p.$buttonAgree.show();p.$buttonSave.hide();p.$buttonAgreeAll.hide()}}function a(x){var w=p.$modal.find("#bccs-options .bccs-option");var z={};for(var A=0;A<w.length;A++){var C=w[A];var y=C.getAttribute("data-name");if(y==="necessary"){z[y]=true}else{if(x===undefined){var B=$(C).find("input[type='checkbox']");z[y]=B.prop("checked")}else{z[y]=!!x}}}return z}function o(){h.set(p.props.cookieName,JSON.stringify(a(true)),p.props.cookieStorageDays,p.props.cookieSameSite,p.props.cookieDomain,c);p.$modal.modal("hide")}function b(){h.set(p.props.cookieName,JSON.stringify(a(false)),0,p.props.cookieSameSite,p.props.cookieDomain,c);p.$modal.modal("hide");window.location.href="/445.html"}function s(){h.set(p.props.cookieName,JSON.stringify(a()),p.props.cookieStorageDays,p.props.cookieSameSite,p.props.cookieDomain,c);p.$modal.modal("hide")}t=(this.props.whitelisted.indexOf(window.location.pathname)>-1);var r=h.get(this.props.cookieName);if((r===undefined||r==="false")&&this.props.autoShowDialog&&!t){m()}v.info("\ninitializing core module finished");v.info("\nstate: finished");this.showDialog=function(){t=(this.props.whitelisted.indexOf(window.location.pathname)>-1);if(!t){m()}};this.getSettings=function(x){var w=h.get(p.props.cookieName);if(w){var y=JSON.parse(h.get(p.props.cookieName));if(x===undefined){return y}else{if(y){return y[x]}else{return false}}}else{return undefined}}};
@@ -100,7 +100,7 @@
100
100
  logger.info('\n' + 'translation: in progress');
101
101
  clearInterval(dependencies_met_page_ready);
102
102
  }
103
- });
103
+ }, 25);
104
104
  },
105
105
 
106
106
  encryptData: function (message = '', key = '') {
@@ -99,7 +99,7 @@
99
99
  logger.info('\n' + 'translate: started');
100
100
  clearInterval(dependencies_met_page_ready);
101
101
  }
102
- });
102
+ }, 25);
103
103
  },
104
104
 
105
105
  // decryptData: function (message = '', key = '', iv = '') {
@@ -100,7 +100,7 @@
100
100
  logger.info('\n' + 'state: finished');
101
101
  clearInterval(dependencies_met_page_ready);
102
102
  }
103
- });
103
+ }, 25);
104
104
  },
105
105
 
106
106
  // -------------------------------------------------------------------------
@@ -37,6 +37,46 @@ function Translator(props) {
37
37
  var navigator_language;
38
38
  var translation_language;
39
39
 
40
+ // ---------------------------------------------------------------------------
41
+ // Cookie()
42
+ // manage cookies
43
+ // ---------------------------------------------------------------------------
44
+ var Cookie = {
45
+ set: function (name, value, days, cookieSameSite, cookieDomain, cookieSecure) {
46
+ var value_encoded = window.btoa(value);
47
+ var expires = '; expires=Thu, 01 Jan 1970 00:00:00 UTC';
48
+ if (days>0) {
49
+ var date = new Date();
50
+ date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
51
+ expires = "; expires=" + date.toUTCString();
52
+ }
53
+ if (cookieSecure) {
54
+ document.cookie = name + "=" + (value_encoded || '') + expires + '; Path=/; SameSite=' + cookieSameSite + '; ' + 'Domain=' + cookieDomain + '; ' + 'Secure=' + cookieSecure + ';';
55
+ } else {
56
+ document.cookie = name + "=" + (value_encoded || '') + expires + '; Path=/; SameSite=' + cookieSameSite + ';' + 'Domain=' + cookieDomain + '; ';
57
+ }
58
+ },
59
+ get: function (name) {
60
+ var nameEQ = name + '=';
61
+ var ca = document.cookie.split(';');
62
+ for (var i = 0; i < ca.length; i++) {
63
+ var c = ca[i];
64
+ while (c.charAt(0) === ' ') {
65
+ c = c.substring(1, c.length);
66
+ }
67
+ if (c.indexOf(nameEQ) === 0) {
68
+ var value_encoded = c.substring(nameEQ.length, c.length);
69
+ var value = window.atob(value_encoded);
70
+ return value;
71
+ }
72
+ }
73
+ return undefined;
74
+ }
75
+ };
76
+
77
+ logger.info('\n' + 'initializing core module: started');
78
+ logger.info('\n' + 'state: started');
79
+
40
80
  // ---------------------------------------------------------------------------
41
81
  // default property settings
42
82
  // ---------------------------------------------------------------------------
@@ -84,46 +124,33 @@ function Translator(props) {
84
124
  logger.info('\n' + 'initializing core module: started');
85
125
  logger.info('\n' + 'state: started');
86
126
 
87
- // ---------------------------------------------------------------------------
88
- // internal functions
89
- // ---------------------------------------------------------------------------
127
+ var translationDefaultSettings = {
128
+ "translatorName": "google",
129
+ "translationEnabled": false,
130
+ "translateAllPages": true,
131
+ "useLanguageFromBrowser": true,
132
+ "translationLanguage": "de",
133
+ "analysis": true,
134
+ "personalization": true
135
+ };
136
+
137
+ var translatorCookie = Cookie.get(self.props.cookieName);
138
+ if (!translatorCookie) {
139
+ logger.info('\n' + 'initializing translator cookie: ' + self.props.cookieName);
140
+ // enable and write all settings required for translation (translation cookie)
141
+ Cookie.set(
142
+ self.props.cookieName,
143
+ JSON.stringify(translationDefaultSettings),
144
+ self.props.cookieStorageDays,
145
+ self.props.cookieSameSite,
146
+ self.props.cookieDomain,
147
+ self.props.cookieSecure
148
+ );
149
+ }
90
150
 
91
151
  // ---------------------------------------------------------------------------
92
- // Cookie()
93
- // manage cookies
152
+ // internal functions
94
153
  // ---------------------------------------------------------------------------
95
- var Cookie = {
96
- set: function (name, value, days, samesite, secure) {
97
- var value_encoded = window.btoa(value);
98
- var expires = '';
99
- if (days) {
100
- var date = new Date();
101
- date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
102
- expires = '; expires=' + date.toUTCString();
103
- }
104
- if (secure) {
105
- document.cookie = name + '=' + (value_encoded || '') + expires + '; Path=/; SameSite=' + samesite + '; ' + 'secure=' + secure + ';';
106
- } else {
107
- document.cookie = name + '=' + (value_encoded || '') + expires + '; Path=/; SameSite=' + samesite + ';';
108
- }
109
- },
110
- get: function (name) {
111
- var nameEQ = name + '=';
112
- var ca = document.cookie.split(';');
113
- for (var i = 0; i < ca.length; i++) {
114
- var c = ca[i];
115
- while (c.charAt(0) === ' ') {
116
- c = c.substring(1, c.length);
117
- }
118
- if (c.indexOf(nameEQ) === 0) {
119
- var value_encoded = c.substring(nameEQ.length, c.length);
120
- var value = window.atob(value_encoded);
121
- return value;
122
- }
123
- }
124
- return undefined;
125
- }
126
- };
127
154
 
128
155
  // ---------------------------------------------------------------------------
129
156
  // global event handler
@@ -486,11 +513,15 @@ function Translator(props) {
486
513
  // On 'agreeAll', enable ALL settings required for translation
487
514
  // ---------------------------------------------------------------------------
488
515
  function agreeAll() {
489
- var translationSettings = gatherOptions(true);
490
- var consentSettings = {};
516
+ var consentSettings = JSON.parse(Cookie.get(self.props.cookieConsentName));
517
+ var translationSettings = JSON.parse(Cookie.get(self.props.cookieName));
491
518
 
492
- // enable and write all settings required for translation (consent cookie)
493
- consentSettings = JSON.parse(Cookie.get(self.props.cookieConsentName));
519
+ // enable all settings required for translation
520
+ translationSettings.analysis = true;
521
+ translationSettings.personalization = true;
522
+ translationSettings.translationEnabled = true;
523
+
524
+ // overload user consent settings (consent cookie)
494
525
  consentSettings.analysis = translationSettings.analysis;
495
526
  consentSettings.personalization = translationSettings.personalization;
496
527
 
@@ -498,17 +529,19 @@ function Translator(props) {
498
529
  self.props.cookieConsentName,
499
530
  JSON.stringify(consentSettings),
500
531
  self.props.cookieStorageDays,
501
- self.props.sameSite,
502
- self.props.secure
532
+ self.props.cookieSameSite,
533
+ self.props.cookieDomain,
534
+ self.props.cookieSecure
503
535
  );
504
536
 
505
- // enable and write all settings required for translation (translation cookie)
537
+ // write all settings required for translation (translation cookie)
506
538
  Cookie.set(
507
539
  self.props.cookieName,
508
540
  JSON.stringify(translationSettings),
509
541
  self.props.cookieStorageDays,
510
- self.props.sameSite,
511
- self.props.secure
542
+ self.props.cookieSameSite,
543
+ self.props.cookieDomain,
544
+ self.props.cookieSecure
512
545
  );
513
546
 
514
547
  self.$modal.modal('hide');
@@ -519,15 +552,17 @@ function Translator(props) {
519
552
  // process current settings from checkboxes for button `doNotAgree`
520
553
  // ---------------------------------------------------------------------------
521
554
  function doNotAgree() {
522
- var settings = gatherOptions();
555
+ var translationSettings = gatherOptions();
523
556
 
524
- settings.translationEnabled = false;
557
+ // disable all settings required for translation (translation cookie)
558
+ translationSettings.translationEnabled = false;
525
559
  Cookie.set(
526
560
  self.props.cookieName,
527
- JSON.stringify(settings),
561
+ JSON.stringify(translationSettings),
528
562
  self.props.cookieStorageDays,
529
- self.props.sameSite,
530
- self.props.secure
563
+ self.props.cookieSameSite,
564
+ self.props.cookieDomain,
565
+ self.props.cookieSecure
531
566
  );
532
567
  self.$modal.modal('hide');
533
568
  }
@@ -537,29 +572,29 @@ function Translator(props) {
537
572
  // write current settings from checkboxes to cookie
538
573
  // ---------------------------------------------------------------------------
539
574
  function saveSettings() {
540
- var settings;
541
- var consentSettings = {};
575
+ var translationSettings = gatherOptions();
576
+ var consentSettings = JSON.parse(Cookie.get(self.props.cookieConsentName));
542
577
 
543
578
  // update all cookies required for (google-)translation
544
579
  //
545
- settings = gatherOptions();
546
- consentSettings = JSON.parse(Cookie.get(self.props.cookieConsentName));
547
- consentSettings.analysis = settings.analysis;
548
- consentSettings.personalization = settings.personalization;
580
+ consentSettings.analysis = translationSettings.analysis;
581
+ consentSettings.personalization = translationSettings.personalization;
549
582
 
550
583
  Cookie.set(
551
584
  self.props.cookieConsentName,
552
585
  JSON.stringify(consentSettings),
553
586
  self.props.cookieStorageDays,
554
- self.props.sameSite,
555
- self.props.secure
587
+ self.props.cookieSameSite,
588
+ self.props.cookieDomain,
589
+ self.props.cookieSecure
556
590
  );
557
591
  Cookie.set(
558
592
  self.props.cookieName,
559
- JSON.stringify(gatherOptions()),
593
+ JSON.stringify(translationSettings),
560
594
  self.props.cookieStorageDays,
561
- self.props.sameSite,
562
- self.props.secure
595
+ self.props.cookieSameSite,
596
+ self.props.cookieDomain,
597
+ self.props.cookieSecure
563
598
  );
564
599
  self.$modal.modal('hide');
565
600
  }
@@ -12,4 +12,4 @@
12
12
  # See: https://github.com/jekyll-one/J1 Template/blob/master/LICENSE
13
13
  # -----------------------------------------------------------------------------
14
14
  */
15
- "use strict";function Translator(d){var p=this;var u=log4javascript.getLogger("j1.core.translator");var l=new liteURL(window.location.href);var c=(l.protocol.includes("https"))?true:false;var q=false;var g;var s;this.props={contentURL:"/assets/data/translator",cookieName:"j1.user.state",cookieConsentName:"j1.user.consent",cookieStorageDays:365,cookieSameSite:"Lax",cookieSecure:c,translationEnabled:false,disableLanguageSelector:false,translatorName:"google",translationLanguages:"all",translationLanguage:"auto",translateAllPages:true,hideSuggestionBox:true,hidePoweredBy:true,hideTopFrame:true,dialogLanguage:"content",dialogLanguages:["en","de"],dialogContainerID:"translator-modal",xhrDataElement:"",postSelectionCallback:"",};for(var e in d){this.props[e]=d[e]}if(this.props.dialogLanguage.indexOf("-")!==-1){this.props.dialogLanguage=this.props.dialogLanguage.split("-")[0]}if(!this.props.dialogLanguages.includes(this.props.dialogLanguage)){this.props.dialogLanguage=this.props.dialogLanguages[0]}this.props.xhrDataElement=this.props.xhrDataElement+"-"+this.props.dialogLanguage;u.info("\ninitializing core module: started");u.info("\nstate: started");var f={set:function(x,z,C,y,A){var B=window.btoa(z);var v="";if(C){var w=new Date();w.setTime(w.getTime()+(C*24*60*60*1000));v="; expires="+w.toUTCString()}if(A){document.cookie=x+"="+(B||"")+v+"; Path=/; SameSite="+y+"; secure="+A+";"}else{document.cookie=x+"="+(B||"")+v+"; Path=/; SameSite="+y+";"}},get:function(w){var z=w+"=";var v=document.cookie.split(";");for(var x=0;x<v.length;x++){var B=v[x];while(B.charAt(0)===" "){B=B.substring(1,B.length)}if(B.indexOf(z)===0){var A=B.substring(z.length,B.length);var y=window.atob(A);return y}}return undefined}};var n={documentReady:function(v){if(document.readyState!=="loading"){v()}else{document.addEventListener("DOMContentLoaded",v)}}};function t(){var v={};var w=false;var x=0;var y=arguments.length;if(Object.prototype.toString.call(arguments[0])==="[object Boolean]"){w=arguments[0];x++}var A=function(B){for(var C in B){if(Object.prototype.hasOwnProperty.call(B,C)){if(w&&Object.prototype.toString.call(B[C])==="[object Object]"){v[C]=t(true,v[C],B[C])}else{v[C]=B[C]}}}};for(;x<y;x++){var z=arguments[x];A(z)}return v}function h(A,x){var v=Array.prototype.slice.call(arguments,2);var z=A.split(".");var y=z.pop();for(var w=0;w<z.length;w++){x=x[z[w]]}return x[y].apply(x,v)}function j(w){var v;var x=t({size:0,width:250,multiple:false,selectedIndex:1,enableAutoFilter:false,visibleRows:null,},w);v="#"+x.selector;$.ajax({url:x.url,dataType:"json",success:function(A){var z=[];if(p.props.translationLanguages.includes("all")){z=A[x.elm]}else{for(var y=0;y<A[x.elm].length;y++){if(p.props.translationLanguages.includes(A[x.elm][y].value)){z.push(A[x.elm][y])}}}if(x.visibleRows>z.length){x.visibleRows=z.length}MsDropdown.make(v,{byJson:{data:z,name:x.name,size:x.size,width:x.width,multiple:x.multiple,},enableAutoFilter:x.enableAutoFilter,visibleRows:x.visibleRows,})},error:function(y,A,z){u.error("\nfailed to retrieve JSON data from: "+x.url)}})}function m(){n.documentReady(function(){p.modal=document.getElementById(p.props.dialogContainerID);if(!p.modal){u.info("\nload consent modal");p.modal=document.createElement("div");p.modal.id=p.props.dialogContainerID;p.modal.style.display="none";p.modal.setAttribute("class","modal fade");p.modal.setAttribute("tabindex","-1");p.modal.setAttribute("role","dialog");p.modal.setAttribute("aria-labelledby",p.props.dialogContainerID);document.body.append(p.modal);p.$modal=$(p.modal);p.$modal.on("show.bs.modal",function(){var w;var x;u.info("\nshow.bs.modal: entered");$.when(j({url:"/assets/data/iso-639-language-codes-flags.json",elm:"iso-639-languages",selector:"dropdownJSON",width:400,visibleRows:8,})).then(function(y){u.info("\ncreating msDropdown from JSON data: finished")})});p.$modal.on("shown.bs.modal",function(){var w;var x;x=setInterval(function(){if(typeof document.getElementById("dropdownJSON").msDropdown!=="undefined"){w=document.getElementById("dropdownJSON").msDropdown;if(!w.length){u.error("\nno msDropdown found in translation dialog");p.$modal.hide()}else{if(p.props.translationLanguage==="auto"){g=navigator.language||navigator.userLanguage;s=g.split("-")[0]}else{s=p.props.translationLanguage}w.selectedIndex=$("#dropdownJSON option[value="+s+"]").index();if(p.props.disableLanguageSelector){w.disabled=true}$("#dropdownJSON").show();$("body").addClass("stop-scrolling");u.info("\nmsDropdown successfully loaded in translation dialog");clearInterval(x)}}},25)});p.$modal.on("hidden.bs.modal",function(){$("body").removeClass("stop-scrolling");h(p.props.postSelectionCallback,window)});var v=p.props.contentURL+"/index.html";$.get(v).done(function(w){u.info("\nloading consent modal: successfully");p.modal.innerHTML=w;p.modal.innerHTML=$("#"+p.props.xhrDataElement).eq(0).html();p.modal.style.display="block";$(p.modal).modal({backdrop:"static",keyboard:false});p.$buttonDoNotAgree=$("#translator-buttonDoNotAgree");p.$buttonAgree=$("#translator-buttonAgree");p.$buttonSave=$("#translator-buttonSave");p.$buttonAgreeAll=$("#translator-buttonAgreeAll");u.info("\nload/initialze options from cookie");k();i();$("#google-options").on("hide.bs.collapse",function(){q=false;k()}).on("show.bs.collapse",function(){q=true;k()});u.info("\ninitialze button event handler");p.$buttonDoNotAgree.click(function(){b()});p.$buttonAgree.click(function(){o()});p.$buttonSave.click(function(){$("#google-options").collapse("hide");r();i()});p.$buttonAgreeAll.click(function(){$("#google-options").collapse("hide");o()});p.$modal.modal("show")}).fail(function(){u.error("\nloading translator dialog (modal): failed");u.warn("\nprobably no|wrong `contentURL` set")})}else{p.$modal.modal("show")}}.bind(this))}function i(){var x=p.getSettings();if(x){for(var w in x){var v=p.$modal.find("#google-options .translator-option[data-name="+w+'] input[type="checkbox"]');v.prop("checked",x[w])}}}function k(){if(q){p.$buttonDoNotAgree.hide();p.$buttonAgree.hide();p.$buttonSave.show();p.$buttonAgreeAll.show()}else{p.$buttonDoNotAgree.show();p.$buttonAgree.show();p.$buttonSave.hide();p.$buttonAgreeAll.hide()}}function a(w){var v=p.$modal.find("#google-options .translator-option");var y={};for(var z=0;z<v.length;z++){var B=v[z];var x=B.getAttribute("data-name");if(x==="necessary"){y[x]=true}else{if(w===undefined){var A=$(B).find('input[type="checkbox"]');y[x]=A.prop("checked")}else{y[x]=!!w}}}return y}function o(){var w=a(true);var v={};v=JSON.parse(f.get(p.props.cookieConsentName));v.analysis=w.analysis;v.personalization=w.personalization;f.set(p.props.cookieConsentName,JSON.stringify(v),p.props.cookieStorageDays,p.props.sameSite,p.props.secure);f.set(p.props.cookieName,JSON.stringify(w),p.props.cookieStorageDays,p.props.sameSite,p.props.secure);p.$modal.modal("hide")}function b(){var v=a();v.translationEnabled=false;f.set(p.props.cookieName,JSON.stringify(v),p.props.cookieStorageDays,p.props.sameSite,p.props.secure);p.$modal.modal("hide")}function r(){var w;var v={};w=a();v=JSON.parse(f.get(p.props.cookieConsentName));v.analysis=w.analysis;v.personalization=w.personalization;f.set(p.props.cookieConsentName,JSON.stringify(v),p.props.cookieStorageDays,p.props.sameSite,p.props.secure);f.set(p.props.cookieName,JSON.stringify(a()),p.props.cookieStorageDays,p.props.sameSite,p.props.secure);p.$modal.modal("hide")}this.showDialog=function(){m()};this.getSettings=function(w){var v=f.get(p.props.cookieName);if(v){var x=JSON.parse(f.get(p.props.cookieName));if(w===undefined){return x}else{if(x){return x[w]}else{return false}}}else{return undefined}};u.info("\ninitializing core module finished");u.info("\nstate: finished")};
15
+ "use strict";function Translator(d){var q=this;var w=log4javascript.getLogger("j1.core.translator");var m=new liteURL(window.location.href);var c=(m.protocol.includes("https"))?true:false;var r=false;var h;var u;var g={set:function(x,D,F,A,E,B){var C=window.btoa(D);var y="; expires=Thu, 01 Jan 1970 00:00:00 UTC";if(F>0){var z=new Date();z.setTime(z.getTime()+(F*24*60*60*1000));y="; expires="+z.toUTCString()}if(B){document.cookie=x+"="+(C||"")+y+"; Path=/; SameSite="+A+"; Domain="+E+"; Secure="+B+";"}else{document.cookie=x+"="+(C||"")+y+"; Path=/; SameSite="+A+";Domain="+E+"; "}},get:function(y){var B=y+"=";var x=document.cookie.split(";");for(var z=0;z<x.length;z++){var D=x[z];while(D.charAt(0)===" "){D=D.substring(1,D.length)}if(D.indexOf(B)===0){var C=D.substring(B.length,D.length);var A=window.atob(C);return A}}return undefined}};w.info("\ninitializing core module: started");w.info("\nstate: started");this.props={contentURL:"/assets/data/translator",cookieName:"j1.user.state",cookieConsentName:"j1.user.consent",cookieStorageDays:365,cookieSameSite:"Lax",cookieSecure:c,translationEnabled:false,disableLanguageSelector:false,translatorName:"google",translationLanguages:"all",translationLanguage:"auto",translateAllPages:true,hideSuggestionBox:true,hidePoweredBy:true,hideTopFrame:true,dialogLanguage:"content",dialogLanguages:["en","de"],dialogContainerID:"translator-modal",xhrDataElement:"",postSelectionCallback:"",};for(var f in d){this.props[f]=d[f]}if(this.props.dialogLanguage.indexOf("-")!==-1){this.props.dialogLanguage=this.props.dialogLanguage.split("-")[0]}if(!this.props.dialogLanguages.includes(this.props.dialogLanguage)){this.props.dialogLanguage=this.props.dialogLanguages[0]}this.props.xhrDataElement=this.props.xhrDataElement+"-"+this.props.dialogLanguage;w.info("\ninitializing core module: started");w.info("\nstate: started");var s={translatorName:"google",translationEnabled:false,translateAllPages:true,useLanguageFromBrowser:true,translationLanguage:"de",analysis:true,personalization:true};var e=g.get(q.props.cookieName);if(!e){w.info("\ninitializing translator cookie: "+q.props.cookieName);g.set(q.props.cookieName,JSON.stringify(s),q.props.cookieStorageDays,q.props.cookieSameSite,q.props.cookieDomain,q.props.cookieSecure)}var o={documentReady:function(x){if(document.readyState!=="loading"){x()}else{document.addEventListener("DOMContentLoaded",x)}}};function v(){var x={};var y=false;var z=0;var A=arguments.length;if(Object.prototype.toString.call(arguments[0])==="[object Boolean]"){y=arguments[0];z++}var C=function(D){for(var E in D){if(Object.prototype.hasOwnProperty.call(D,E)){if(y&&Object.prototype.toString.call(D[E])==="[object Object]"){x[E]=v(true,x[E],D[E])}else{x[E]=D[E]}}}};for(;z<A;z++){var B=arguments[z];C(B)}return x}function i(C,z){var x=Array.prototype.slice.call(arguments,2);var B=C.split(".");var A=B.pop();for(var y=0;y<B.length;y++){z=z[B[y]]}return z[A].apply(z,x)}function k(y){var x;var z=v({size:0,width:250,multiple:false,selectedIndex:1,enableAutoFilter:false,visibleRows:null,},y);x="#"+z.selector;$.ajax({url:z.url,dataType:"json",success:function(C){var B=[];if(q.props.translationLanguages.includes("all")){B=C[z.elm]}else{for(var A=0;A<C[z.elm].length;A++){if(q.props.translationLanguages.includes(C[z.elm][A].value)){B.push(C[z.elm][A])}}}if(z.visibleRows>B.length){z.visibleRows=B.length}MsDropdown.make(x,{byJson:{data:B,name:z.name,size:z.size,width:z.width,multiple:z.multiple,},enableAutoFilter:z.enableAutoFilter,visibleRows:z.visibleRows,})},error:function(A,C,B){w.error("\nfailed to retrieve JSON data from: "+z.url)}})}function n(){o.documentReady(function(){q.modal=document.getElementById(q.props.dialogContainerID);if(!q.modal){w.info("\nload consent modal");q.modal=document.createElement("div");q.modal.id=q.props.dialogContainerID;q.modal.style.display="none";q.modal.setAttribute("class","modal fade");q.modal.setAttribute("tabindex","-1");q.modal.setAttribute("role","dialog");q.modal.setAttribute("aria-labelledby",q.props.dialogContainerID);document.body.append(q.modal);q.$modal=$(q.modal);q.$modal.on("show.bs.modal",function(){var y;var z;w.info("\nshow.bs.modal: entered");$.when(k({url:"/assets/data/iso-639-language-codes-flags.json",elm:"iso-639-languages",selector:"dropdownJSON",width:400,visibleRows:8,})).then(function(A){w.info("\ncreating msDropdown from JSON data: finished")})});q.$modal.on("shown.bs.modal",function(){var y;var z;z=setInterval(function(){if(typeof document.getElementById("dropdownJSON").msDropdown!=="undefined"){y=document.getElementById("dropdownJSON").msDropdown;if(!y.length){w.error("\nno msDropdown found in translation dialog");q.$modal.hide()}else{if(q.props.translationLanguage==="auto"){h=navigator.language||navigator.userLanguage;u=h.split("-")[0]}else{u=q.props.translationLanguage}y.selectedIndex=$("#dropdownJSON option[value="+u+"]").index();if(q.props.disableLanguageSelector){y.disabled=true}$("#dropdownJSON").show();$("body").addClass("stop-scrolling");w.info("\nmsDropdown successfully loaded in translation dialog");clearInterval(z)}}},25)});q.$modal.on("hidden.bs.modal",function(){$("body").removeClass("stop-scrolling");i(q.props.postSelectionCallback,window)});var x=q.props.contentURL+"/index.html";$.get(x).done(function(y){w.info("\nloading consent modal: successfully");q.modal.innerHTML=y;q.modal.innerHTML=$("#"+q.props.xhrDataElement).eq(0).html();q.modal.style.display="block";$(q.modal).modal({backdrop:"static",keyboard:false});q.$buttonDoNotAgree=$("#translator-buttonDoNotAgree");q.$buttonAgree=$("#translator-buttonAgree");q.$buttonSave=$("#translator-buttonSave");q.$buttonAgreeAll=$("#translator-buttonAgreeAll");w.info("\nload/initialze options from cookie");l();j();$("#google-options").on("hide.bs.collapse",function(){r=false;l()}).on("show.bs.collapse",function(){r=true;l()});w.info("\ninitialze button event handler");q.$buttonDoNotAgree.click(function(){b()});q.$buttonAgree.click(function(){p()});q.$buttonSave.click(function(){$("#google-options").collapse("hide");t();j()});q.$buttonAgreeAll.click(function(){$("#google-options").collapse("hide");p()});q.$modal.modal("show")}).fail(function(){w.error("\nloading translator dialog (modal): failed");w.warn("\nprobably no|wrong `contentURL` set")})}else{q.$modal.modal("show")}}.bind(this))}function j(){var z=q.getSettings();if(z){for(var y in z){var x=q.$modal.find("#google-options .translator-option[data-name="+y+'] input[type="checkbox"]');x.prop("checked",z[y])}}}function l(){if(r){q.$buttonDoNotAgree.hide();q.$buttonAgree.hide();q.$buttonSave.show();q.$buttonAgreeAll.show()}else{q.$buttonDoNotAgree.show();q.$buttonAgree.show();q.$buttonSave.hide();q.$buttonAgreeAll.hide()}}function a(y){var x=q.$modal.find("#google-options .translator-option");var A={};for(var B=0;B<x.length;B++){var D=x[B];var z=D.getAttribute("data-name");if(z==="necessary"){A[z]=true}else{if(y===undefined){var C=$(D).find('input[type="checkbox"]');A[z]=C.prop("checked")}else{A[z]=!!y}}}return A}function p(){var x=JSON.parse(g.get(q.props.cookieConsentName));var y=JSON.parse(g.get(q.props.cookieName));y.analysis=true;y.personalization=true;y.translationEnabled=true;x.analysis=y.analysis;x.personalization=y.personalization;g.set(q.props.cookieConsentName,JSON.stringify(x),q.props.cookieStorageDays,q.props.cookieSameSite,q.props.cookieDomain,q.props.cookieSecure);g.set(q.props.cookieName,JSON.stringify(y),q.props.cookieStorageDays,q.props.cookieSameSite,q.props.cookieDomain,q.props.cookieSecure);q.$modal.modal("hide")}function b(){var x=a();x.translationEnabled=false;g.set(q.props.cookieName,JSON.stringify(x),q.props.cookieStorageDays,q.props.cookieSameSite,q.props.cookieDomain,q.props.cookieSecure);q.$modal.modal("hide")}function t(){var y=a();var x=JSON.parse(g.get(q.props.cookieConsentName));x.analysis=y.analysis;x.personalization=y.personalization;g.set(q.props.cookieConsentName,JSON.stringify(x),q.props.cookieStorageDays,q.props.cookieSameSite,q.props.cookieDomain,q.props.cookieSecure);g.set(q.props.cookieName,JSON.stringify(y),q.props.cookieStorageDays,q.props.cookieSameSite,q.props.cookieDomain,q.props.cookieSecure);q.$modal.modal("hide")}this.showDialog=function(){n()};this.getSettings=function(y){var x=g.get(q.props.cookieName);if(x){var z=JSON.parse(g.get(q.props.cookieName));if(y===undefined){return z}else{if(z){return z[y]}else{return false}}}else{return undefined}};w.info("\ninitializing core module finished");w.info("\nstate: finished")};
data/lib/j1/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module J1
2
- VERSION = '2022.0.7'
2
+ VERSION = '2022.0.11'
3
3
  end
@@ -53,7 +53,7 @@ gem 'jekyll', '~> 4.2'
53
53
 
54
54
  # Theme Rubies, default: J1 Template (NOT used for the development system)
55
55
  #
56
- gem 'j1-template', '~> 2022.0.7'
56
+ gem 'j1-template', '~> 2022.0.11'
57
57
 
58
58
  # ------------------------------------------------------------------------------
59
59
  # PRODUCTION: Gem needed for the Jekyll and J1 prod environment
@@ -53,7 +53,7 @@ environment: development
53
53
  # ------------------------------------------------------------------------------
54
54
  # Sets the build version of J1 Template Gem
55
55
  #
56
- version: 2022.0.7
56
+ version: 2022.0.11
57
57
 
58
58
  # version
59
59
  # ------------------------------------------------------------------------------
@@ -598,9 +598,6 @@ defaults:
598
598
  personalization: false
599
599
  exclude_from_search: false
600
600
 
601
- analytics: true
602
- comments: true
603
- advertising: false
604
601
  youtube: true
605
602
  vimeo: true
606
603
 
@@ -643,9 +640,6 @@ defaults:
643
640
  personalization: false
644
641
  exclude_from_search: false
645
642
 
646
- analytics: true
647
- comments: true
648
- advertising: false
649
643
  youtube: true
650
644
  vimeo: true
651
645
 
@@ -692,9 +686,6 @@ defaults:
692
686
  personalization: false
693
687
  exclude_from_search: false
694
688
 
695
- analytics: true
696
- comments: true
697
- advertising: false
698
689
  youtube: true
699
690
  vimeo: true
700
691
 
@@ -731,9 +722,6 @@ defaults:
731
722
  personalization: false
732
723
  exclude_from_search: true
733
724
 
734
- analytics: false
735
- comments: false
736
- advertising: false
737
725
  youtube: false
738
726
  vimeo: false
739
727
 
@@ -12,9 +12,9 @@
12
12
  # ------------------------------------------------------------------------------
13
13
 
14
14
  # ------------------------------------------------------------------------------
15
- # About this configuration (used for J1 CC only)
15
+ # Description (used for J1 CC only)
16
16
  #
17
- about_config:
17
+ description:
18
18
 
19
19
  title: Carousel
20
20
  scope: User settings