j1-template 2022.0.5 → 2022.0.9

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 (57) hide show
  1. checksums.yaml +4 -4
  2. data/_layouts/default.html +0 -57
  3. data/assets/error_pages/HTTP444.html +4 -4
  4. data/assets/error_pages/HTTP445.html +3 -3
  5. data/assets/error_pages/HTTP446.html +110 -0
  6. data/assets/themes/j1/adapter/js/cookieConsent.js +64 -34
  7. data/assets/themes/j1/adapter/js/j1.js +114 -210
  8. data/assets/themes/j1/adapter/js/themer.js +0 -1
  9. data/assets/themes/j1/adapter/js/translator.js +146 -97
  10. data/assets/themes/j1/core/css/themes/unodark/bootstrap.css +6 -0
  11. data/assets/themes/j1/core/css/themes/unodark/bootstrap.min.css +1 -1
  12. data/assets/themes/j1/core/js/template.js +2 -6
  13. data/assets/themes/j1/core/js/template.min.js +1 -1
  14. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  15. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.js +29 -13
  16. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.min.js +1 -1
  17. data/assets/themes/j1/modules/themeSwitcher/js/switcher.js +0 -1
  18. data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +1 -1
  19. data/assets/themes/j1/modules/translator/js/translator.js +98 -63
  20. data/assets/themes/j1/modules/translator/js/translator.min.js +1 -1
  21. data/lib/j1/version.rb +1 -1
  22. data/lib/starter_web/Gemfile +1 -1
  23. data/lib/starter_web/_config.yml +2 -3
  24. data/lib/starter_web/_data/modules/cookies.yml +30 -0
  25. data/lib/starter_web/_data/modules/defaults/cookieconsent.yml +3 -3
  26. data/lib/starter_web/_data/modules/defaults/cookies.yml +112 -0
  27. data/lib/starter_web/_data/modules/navigator_menu.yml +10 -1
  28. data/lib/starter_web/_includes/attributes.asciidoc +6 -1
  29. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  30. data/lib/starter_web/package.json +1 -1
  31. data/lib/starter_web/pages/_test_pages/google-translate-tester.1.adoc +0 -2
  32. data/lib/starter_web/pages/_test_pages/google-translate-tester.4.adoc +0 -2
  33. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/100_converter.adoc +1 -1
  34. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/200_themes.adoc +1 -1
  35. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +1 -1
  36. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +1 -1
  37. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +1 -1
  38. data/lib/starter_web/pages/public/blog/navigator/archive.html +1 -1
  39. data/lib/starter_web/pages/public/blog/navigator/index.html +1 -1
  40. data/lib/starter_web/pages/public/learn/quickstart.adoc +1 -1
  41. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +1 -1
  42. data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +2 -2
  43. data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +1 -1
  44. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +1 -1
  45. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +1 -1
  46. data/lib/starter_web/pages/public/learn/roundtrip/410_bs_modals_extentions.adoc +1 -1
  47. data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +1 -1
  48. data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +1 -1
  49. data/lib/starter_web/pages/public/learn/roundtrip/600_quicksearch.adoc +1 -1
  50. data/lib/starter_web/pages/public/legal/de/300_privacy.adoc +2 -12
  51. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +2 -12
  52. data/lib/starter_web/pages/public/manuals/dropdown-help.adoc +1 -1
  53. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +1 -1
  54. data/lib/starter_web/pages/public/previewer/preview_bootstrap_theme.adoc +1 -1
  55. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  56. data/lib/starter_web/utilsrv/package.json +1 -1
  57. metadata +5 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e99fcdcc2fd19d7b3b98a3ac755a3019658826fc89e2f2b59db12650446c4a08
4
- data.tar.gz: 5a2782ef6d1c8df28aa9002844656a2270186269f71af0ce68120179dbbdf05c
3
+ metadata.gz: 2cc23d49ab79488234bcc11d52989a1114159fd3d075e1b74db6c8122e430885
4
+ data.tar.gz: b4e92ca4f3b66f2682a1299ceb0fc9b5a0381f03705936ab1d75e5ec25dc5eb8
5
5
  SHA512:
6
- metadata.gz: 3da14ace9c6a7cd4280bf6eceba1996c802965e305ad4ebebc1ee4549d6d33736d5288b4d0fa73a1a616914ed55445ae815eed1d08ba41775de791332793a8db
7
- data.tar.gz: 3672d113986fd765b84fa3b6146aa32d38b734d787afcafa5b61f81d3fd9fd44f4fdaaf7336a1c05b587bfe8a24329290f43e6471fb21ac228149996f124c497
6
+ metadata.gz: a0e18887bb26c831f49560b3f46dc140a0aa200b871a6b952066361ae6fae306e3591bdeb18c994b49a9e0022533042d1efa6b64d620622c746888f0d8e64af6
7
+ data.tar.gz: 483b7805c69ffdeb8e2ee16e10b971ded5a801f796facb25965fb05c9b8ff8052a23bae381789e1047a02d02d13fe23792fd2274bfaeff696b1ae2f9ef7309e9
@@ -74,11 +74,6 @@ layout: compress
74
74
  -------------------------------------------------------------------------------- {% endcomment %}
75
75
  {% assign tooltips_options = template_config.bootstrap.tooltips %}
76
76
  {% assign popovers_options = template_config.bootstrap.popovers %}
77
- {% assign smoothscroll_options = template_config.smoothScroll %}
78
-
79
-
80
- {% comment %} tooltips_options: {{ tooltips_options | debug }}{% endcomment %}
81
-
82
77
 
83
78
  {% comment %} Webhooks disabled
84
79
  --------------------------------------------------------------------------------
@@ -89,20 +84,12 @@ layout: compress
89
84
  {% assign logon_client = data.modules.j1_sign_in_up %}
90
85
  {% assign body_scrollbar = data.j1_config.body.scrollbar %}
91
86
 
92
- {% if smoothscroll_options.enabled and smoothscroll_options.scrollInPageHashes %}
93
- {% assign scroll_inpage_hashes = true %}
94
- {% endif %}
95
-
96
87
  {% comment %} Overload properties from page options
97
88
  -------------------------------------------------------------------------------- {% endcomment %}
98
89
  {% if page.scrollbar %}
99
90
  {% assign body_scrollbar = page.scrollbar %}
100
91
  {% endif %}
101
92
 
102
- {% if page.scrollInPageHashes != nil %}
103
- {% assign scroll_inpage_hashes = page.scrollInPageHashes %}
104
- {% endif %}
105
-
106
93
  {% comment %} main
107
94
  -------------------------------------------------------------------------------- {% endcomment %}
108
95
  <!DOCTYPE {{ site.doctype }}>
@@ -259,50 +246,6 @@ layout: compress
259
246
  return new bootstrap.Popover(popoverTriggerEl)
260
247
  });
261
248
  {% endif %}
262
-
263
- {% comment %} Update cookie for lastpage
264
- ---------------------------------------------------------------------------- {% endcomment %}
265
- // save the current page to userstate cookie
266
- var dependencies_met_page_ready = setInterval (function (options) {
267
- if (j1.getState() === 'finished') {
268
- var logger = log4javascript.getLogger('j1.layout.default');
269
-
270
- function setLastPage() {
271
- var cookie_names = j1.getCookieNames();
272
- const user_state_cookie_name = cookie_names.user_session;
273
- var user_state = j1.readCookie(user_state_cookie_name);
274
- var user_state_last_page = window.location.pathname;
275
- user_state.last_page = user_state_last_page;
276
-
277
- j1.writeCookie({
278
- name: user_state_cookie_name,
279
- data: user_state,
280
- samesite: 'Strict'
281
- });
282
- logger.debug('\n' + 'saved current page to cookie :' + user_state_last_page);
283
- }
284
- setLastPage();
285
- clearInterval(dependencies_met_page_ready);
286
- }
287
- });
288
-
289
- {% if scroll_inpage_hashes %}
290
- // In-page HASH anchor links on click based on Chris Coyier's solution
291
- // See: https://css-tricks.com/snippets/jquery/smooth-scrolling/
292
- $('a[href^="#"]:not([href="#"])').click(function(e) {
293
- if (location.hostname == this.hostname) {
294
- var target = $(this.hash);
295
- target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
296
- if (target.length) {
297
- $('html, body').animate({
298
- scrollTop: target.offset().top - 100 + 'px'
299
- }, 200);
300
- return false;
301
- }
302
- }
303
- });
304
- {% endif %}
305
-
306
249
  });
307
250
  </script>
308
251
  <!-- [INFO ] [j1.layout.default.html ] [ end page processing ] -->
@@ -18,8 +18,8 @@ sitemap: false
18
18
 
19
19
  {% comment %}
20
20
  # -----------------------------------------------------------------------------
21
- # ~/assets/http_error_pages/HTTP404.html
22
- # Liquid TEMPLATE to generate customized HTML error pages: 404 - Page not found
21
+ # ~/assets/http_error_pages/HTTP444.html
22
+ # Liquid TEMPLATE to generate customized HTML error pages: 444 - Blocked Content
23
23
  #
24
24
  # Product/Info:
25
25
  # https://jekyll.one
@@ -65,14 +65,14 @@ sitemap: false
65
65
  {% if language == 'en' %}
66
66
  {% assign title = "Blocked Content" %}
67
67
  {% assign back_url_text = "Back Home" %}
68
- {% assign reason = "This page has been disabled for technical reasons. <br/> Because your privacy settings disabled personalization, this page cannot be presented." %}
68
+ {% assign reason = "Access to the page has been disabled for technical reasons. <br/> Because your privacy settings disabled personalization, this page cannot be presented." %}
69
69
  {% assign contact_issue = "Technical Contact" %}
70
70
  {% endif %}
71
71
 
72
72
  {% if language == 'de' %}
73
73
  {% assign title = "Gesperrter Inhalt" %}
74
74
  {% assign back_url_text = "Zurück zur Startseite" %}
75
- {% assign reason = "Diese Seite ist aus technischen Gründen nicht verfügbar. <br/>Die Einstellungen zu Ihrer Privatsphäre erlauben keine Personalisierung. Diese Seite kann daher nicht angezeigt werden." %}
75
+ {% assign reason = "Die Anzeige dieser Seite ist aus technischen Gründen gesperrt. <br/>Die Einstellungen zu Ihrer Privatsphäre erlauben keine Personalisierung. Diese Seite kann daher nicht angezeigt werden." %}
76
76
  {% assign contact_issue = "Technischer Kontakt" %}
77
77
  {% endif %}
78
78
 
@@ -18,8 +18,8 @@ sitemap: false
18
18
 
19
19
  {% comment %}
20
20
  # -----------------------------------------------------------------------------
21
- # ~/assets/http_error_pages/HTTP404.html
22
- # Liquid TEMPLATE to generate customized HTML error pages: 445 - Page not found
21
+ # ~/assets/http_error_pages/HTTP445.html
22
+ # Liquid TEMPLATE to generate customized HTML error pages: 445 - Blocked Content
23
23
  #
24
24
  # Product/Info:
25
25
  # https://jekyll.one
@@ -65,7 +65,7 @@ sitemap: false
65
65
  {% if language == 'en' %}
66
66
  {% assign title = "Site Blocked" %}
67
67
  {% assign back_url_text = "Back Home" %}
68
- {% assign reason = "This site has been disabled for technical reasons. <br/> Because your cookie settings are disabled for this website, the content cannot be presented." %}
68
+ {% assign reason = "Access to the site has been disabled for technical reasons. <br/> Because your cookie settings are disabled for this website, the content cannot be presented." %}
69
69
  {% assign contact_issue = "Technical Contact" %}
70
70
  {% endif %}
71
71
 
@@ -0,0 +1,110 @@
1
+ ---
2
+ date: 2021-01-01 00:00:00
3
+ description: >
4
+ Customized HTML error page
5
+
6
+ categories: [ Error page ]
7
+ tags: [ HTML, 446 ]
8
+
9
+ exclude_from_search: true
10
+
11
+ regenerate: false
12
+ permalink: /446.html
13
+ http_error: 446
14
+ back_url: "https://jekyll.one/"
15
+ sitemap: false
16
+ ---
17
+ {% capture j1_cache %}
18
+
19
+ {% comment %}
20
+ # -----------------------------------------------------------------------------
21
+ # ~/assets/http_error_pages/HTTP446.html
22
+ # Liquid TEMPLATE to generate customized HTML error pages: 446 - Blocked Content
23
+ #
24
+ # Product/Info:
25
+ # https://jekyll.one
26
+ #
27
+ # Copyright (C) 2021 Juergen Adams
28
+ # Copyright (C) 2020 Andi Dittrich
29
+ #
30
+ # J1 Template is licensed under the MIT License.
31
+ # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
32
+ # HttpErrorPages are licensed under the MIT License.
33
+ # See: https://github.com/AndiDittrich/HttpErrorPages
34
+ # -----------------------------------------------------------------------------
35
+ # NOTE
36
+ # German translation, see: https://de.wikipedia.org/wiki/HTTP-Statuscode
37
+ # -----------------------------------------------------------------------------
38
+ # Test data:
39
+ # liquid_var: {{ liquid_var | debug }}
40
+ # config: {{ config | debug }}
41
+ # -----------------------------------------------------------------------------
42
+ {% endcomment %}
43
+
44
+ {% assign language = site.language %}
45
+ {% assign webmaster_email = site.webmaster.email %}
46
+ {% assign copyright_info = site.copyright %}
47
+ {% assign favicon = site.favicon.image %}
48
+ {% assign images_dir = site.asciidoc_attributes.imagesdir %}
49
+ {% assign brand_text = site.brand.text %}
50
+ {% assign brand_image_source = site.brand.image %}
51
+ {% assign brand_image_height = site.brand.image_height %}
52
+
53
+ {% capture brand_image %}{{images_dir}}/{{brand_image_source}}{% endcapture %}
54
+
55
+ {% comment %} language detection
56
+ -------------------------------------------------------------------------------- {% endcomment %}
57
+ {% if site.language == "en" %}
58
+ {% assign language = "en" %}
59
+ {% elsif site.language == "de"%}
60
+ {% assign language = "de" %}
61
+ {% else %}
62
+ {% assign language = "en" %}
63
+ {% endif %}
64
+
65
+ {% if language == 'en' %}
66
+ {% assign title = "Site Blocked" %}
67
+ {% assign back_url_text = "Back to J1 Template (Home)" %}
68
+ {% assign reason = "Access to the site has been blocked for technical reasons. <br> Access to cookies for this site failed. Possibly, a third-party domain tries to access it." %}
69
+ {% assign contact_issue = "Technical Contact" %}
70
+ {% endif %}
71
+
72
+ {% if language == 'de' %}
73
+ {% assign title = "Website gesperrt" %}
74
+ {% assign back_url_text = "Zurück zu J1 Template (Home)" %}
75
+ {% assign reason = "Diese Webseiten sind aus technischen Gründen nicht verfügbar. <br> Der Zugriff auf Cookies ist für diese Website fehlgeschlagen. Möglicherweise versucht eine Drittanbieter-Domain darauf zuzugreifen." %}
76
+ {% assign contact_issue = "Technischer Kontakt" %}
77
+ {% endif %}
78
+
79
+ <!DOCTYPE html>
80
+ <html lang="{{language}}">
81
+ <head>
82
+ <!-- [INFO ] [j1.error.pages ] [ Simple HttpErrorPages | MIT License | https://github.com/AndiDittrich/HttpErrorPages ] -->
83
+ <!-- [INFO ] [j1.error.pages ] [ detected language (site): {{language}} ] -->
84
+ <meta charset="utf-8" />
85
+ <meta http-equiv="X-UA-Compatible" content="IE=edge" />
86
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
87
+ <meta name="robots" content="noindex, nofollow">
88
+ <link rel="icon" type="image/ico" href="{{favicon}}">
89
+ <title>{{title}} · {{page.http_error}}</title>
90
+ <style> .attic { background-image: -webkit-gradient(linear, left top, left bottom, from(#263238), to(#3F51B5));background-image: -webkit-linear-gradient(top, #263238 0%, #3F51B5 100%);background-image: -o-linear-gradient(top, #263238 0%, #3F51B5 100%);background-image: linear-gradient(to bottom, #263238 0%, #3F51B5 100%);filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#263238", endColorstr="#3F51B5", GradientType=0); } </style>
91
+ <style type="text/css">/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{cursor: pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{cursor: pointer ;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}body,html{width:100%;height:100%;background-color:#21232a}body{color:#fff;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.5);padding:0;min-height:100%;-webkit-box-shadow:inset 0 0 100px rgba(0,0,0,.8);box-shadow:inset 0 0 100px rgba(0,0,0,.8);display:table;font-family:"Open Sans",Arial,sans-serif}h1{font-family:inherit;font-weight:500;line-height:1.1;color:inherit;font-size:36px}h1 small{font-size:68%;font-weight:400;line-height:1;color:#777}a{text-decoration:none;color:#fff;font-size:inherit;border-bottom:dotted 1px #707070}.lead{color:silver;font-size:21px;line-height:1.4}.cover{display:table-cell;vertical-align:middle;padding:0 20px}footer{position:fixed;width:100%;height:40px;left:0;bottom:0;color:#a0a0a0;font-size:14px}</style>
92
+ </head>
93
+ <body>
94
+ <div style="margin-top: 1rem;">
95
+ <a href="/"><img src="{{brand_image}}" height="{{brand_image_height}}" alt="{{brand_text}}"></a>
96
+ </div>
97
+ <div class="cover attic">
98
+ <h1>{{title}} <small>{{page.http_error}}</small></h1>
99
+ <p class="lead">{{reason}}</p>
100
+ <div><a href="{{page.back_url}}" target="blank" rel="noopener">{{back_url_text}}</a></div>
101
+ </div>
102
+ <footer>
103
+ <p>{{copyright_info}} · {{contact_issue}}: <a href="mailto:{{webmaster_email}}?subject={{title}}"> {{webmaster_email}} </a></p>
104
+ </footer>
105
+ </body>
106
+ </html>
107
+
108
+ {% endcapture %}
109
+ {{ j1_cache | strip_empty_lines }}
110
+ {% assign j1_cache = nil %}
@@ -34,6 +34,9 @@ regenerate: true
34
34
 
35
35
  {% comment %} Set config data
36
36
  -------------------------------------------------------------------------------- {% endcomment %}
37
+ {% assign cookie_defaults = modules.defaults.cookies.defaults %}
38
+ {% assign cookie_settings = modules.cookies.settings %}
39
+
37
40
  {% assign consent_defaults = modules.defaults.cookieconsent.defaults %}
38
41
  {% assign consent_settings = modules.cookieconsent.settings %}
39
42
  {% assign tracking_enabled = template_config.analytics.enabled %}
@@ -44,6 +47,7 @@ regenerate: true
44
47
  {% comment %} Set config options
45
48
  -------------------------------------------------------------------------------- {% endcomment %}
46
49
  {% assign consent_options = consent_defaults | merge: consent_settings %}
50
+ {% assign cookie_options = cookie_defaults | merge: cookie_settings %}
47
51
 
48
52
  {% assign production = false %}
49
53
  {% if environment == 'prod' or environment == 'production' %}
@@ -87,18 +91,21 @@ j1.adapter['cookieConsent'] = (function (j1, window) {
87
91
  var moduleOptions = {};
88
92
  var _this;
89
93
  var $modal;
94
+ var cookie_names;
90
95
  var user_cookie;
91
96
  var logger;
92
97
  var url;
93
98
  var baseUrl;
94
99
  var hostname;
95
100
  var domain;
101
+ var cookie_option_domain;
96
102
  var cookie_domain;
97
103
  var secure;
98
104
  var logText;
99
105
  var cookie_written;
100
106
  var contentLanguage;
101
107
  var navigatorLanguage;
108
+ var domainAttribute;
102
109
 
103
110
  // NOTE: RegEx for tracking_id: ^(G|UA|YT|MO)-[a-zA-Z0-9-]+$
104
111
  // See: https://stackoverflow.com/questions/20411767/how-to-validate-google-analytics-tracking-id-using-a-javascript-function/20412153
@@ -120,22 +127,17 @@ j1.adapter['cookieConsent'] = (function (j1, window) {
120
127
  // -----------------------------------------------------------------------
121
128
  // globals
122
129
  // -----------------------------------------------------------------------
123
- _this = j1.adapter.cookieConsent;
124
- logger = log4javascript.getLogger('j1.adapter.cookieConsent');
125
- url = new liteURL(window.location.href);
126
- baseUrl = url.origin;
127
- hostname = url.hostname;
128
- domain = hostname.substring(hostname.lastIndexOf('.', hostname.lastIndexOf('.') - 1) + 1);
129
- secure = (url.protocol.includes('https')) ? true : false;
130
- contentLanguage = '{{site.language}}';
131
- navigatorLanguage = navigator.language || navigator.userLanguage;
132
-
133
- // set domain used by cookies
134
- if(domain !== 'localhost') {
135
- cookie_domain = '.' + hostname;
136
- } else {
137
- cookie_domain = hostname;
138
- }
130
+ _this = j1.adapter.cookieConsent;
131
+ logger = log4javascript.getLogger('j1.adapter.cookieConsent');
132
+ cookie_names = j1.getCookieNames();
133
+ url = new liteURL(window.location.href);
134
+ baseUrl = url.origin;
135
+ hostname = url.hostname;
136
+ domain = hostname.substring(hostname.lastIndexOf('.', hostname.lastIndexOf('.') - 1) + 1);
137
+ cookie_option_domain = '{{cookie_options.domain}}';
138
+ secure = (url.protocol.includes('https')) ? true : false;
139
+ contentLanguage = '{{site.language}}';
140
+ navigatorLanguage = navigator.language || navigator.userLanguage;
139
141
 
140
142
  // initialize state flag
141
143
  _this.state = 'pending';
@@ -169,6 +171,16 @@ j1.adapter['cookieConsent'] = (function (j1, window) {
169
171
  // initializer
170
172
  // -----------------------------------------------------------------------
171
173
  var dependencies_met_page_ready = setInterval (function (options) {
174
+ var expires = '{{cookie_options.expires}}';
175
+ var same_site = '{{cookie_options.same_site}}';
176
+
177
+ // set domain used by cookies
178
+ if (cookie_option_domain == 'auto') {
179
+ domainAttribute = domain ;
180
+ } else {
181
+ domainAttribute = '';
182
+ }
183
+
172
184
  if ( j1.getState() === 'finished' ) {
173
185
  _this.setState('started');
174
186
  logger.info('\n' + 'state: ' + _this.getState());
@@ -176,8 +188,11 @@ j1.adapter['cookieConsent'] = (function (j1, window) {
176
188
 
177
189
  j1.cookieConsent = new CookieConsent ({
178
190
  contentURL: moduleOptions.contentURL, // dialog content (modals) for all supported languages
179
- cookieName: moduleOptions.cookieName, // name of the consent cookie
180
- cookieSameSite: moduleOptions.cookieSameSite, // restrict consent cookie
191
+ cookieName: cookie_names.user_consent, // name of the consent cookie
192
+ cookieStorageDays: expires, // lifetime of a cookie [0..365], 0: session cookie
193
+ cookieSameSite: same_site, // restrict consent cookie
194
+ cookieSecure: secure, // only sent to the server with an encrypted request over HTTPS
195
+ cookieDomain: domainAttribute, // set domain (hostname|domain)
181
196
  dialogLanguage: moduleOptions.dialogLanguage, // language for the dialog (modal)
182
197
  whitelisted: moduleOptions.whitelisted, // pages NOt dialog is shown
183
198
  reloadPageOnChange: moduleOptions.reloadPageOnChange, // reload if setzings has changed
@@ -190,12 +205,9 @@ j1.adapter['cookieConsent'] = (function (j1, window) {
190
205
  logger.info('\n' + 'state: ' + _this.getState());
191
206
  logger.debug('\n' + 'module initialized successfully');
192
207
 
193
- // Click events moved to Navigator (core)
194
- //
195
- // $('#quickLinksCookieButton').click(function(e) {
196
- // logger.info('\n' + 'call default action');
197
- // j1.cookieConsent.showDialog();
198
- // });
208
+ // -------------------------------------------------------------------
209
+ // NOTE: Click events moved to Navigator (core)
210
+ // -------------------------------------------------------------------
199
211
 
200
212
  clearInterval(dependencies_met_page_ready);
201
213
  }
@@ -301,23 +313,27 @@ j1.adapter['cookieConsent'] = (function (j1, window) {
301
313
  }
302
314
  }
303
315
 
304
- // Managing providers for personalization OptIn/Out (Comments|Ads)
316
+ // Managing providers using personalization OptIn/Out
317
+ // (Comments|Ads|Translation)
305
318
  //
306
319
  if (!user_consent.analysis || !user_consent.personalization) {
307
- // expire consent|state cookies to session
308
- j1.expireCookie({ name: cookie_names.user_state });
309
- j1.expireCookie({ name: cookie_names.user_consent });
310
- j1.expireCookie({ name: cookie_names.user_translate });
311
320
 
321
+ // overload cookie consent settings
322
+ user_translate.analysis = user_consent.analysis;
323
+ user_translate.personalization = user_consent.personalization;
324
+ // disable translation service
312
325
  user_translate.translationEnabled = false;
326
+
313
327
  cookie_written = j1.writeCookie({
314
328
  name: cookie_names.user_translate,
315
329
  data: user_translate,
316
- samesite: 'Strict',
317
- secure: secure,
318
- expires: 365
330
+ secure: secure
319
331
  });
320
332
 
333
+ // expire permanent cookies to session
334
+ j1.expireCookie({ name: cookie_names.user_state });
335
+ j1.expireCookie({ name: cookie_names.user_consent });
336
+ j1.expireCookie({ name: cookie_names.user_translate });
321
337
  }
322
338
  if (moduleOptions.reloadPageOnChange) {
323
339
  // reload current page (skip cache)
@@ -331,14 +347,28 @@ j1.adapter['cookieConsent'] = (function (j1, window) {
331
347
  j1.removeCookie({ name: item, domain: cookie_domain });
332
348
  });
333
349
 
334
- // Managing providers for personalization OptIn/Out (Comments|Ads)
350
+ // Managing providers using personalization OptIn/Out
351
+ // (Comments|Ads|Translation)
335
352
  //
336
353
  if (!user_consent.analysis || !user_consent.personalization) {
337
- // expire consent|state cookies to session
354
+ // overload cookie consent settings
355
+ user_translate.analysis = user_consent.analysis;
356
+ user_translate.personalization = user_consent.personalization;
357
+ // disable translation service
358
+ user_translate.translationEnabled = false;
359
+
360
+ cookie_written = j1.writeCookie({
361
+ name: cookie_names.user_translate,
362
+ data: user_translate,
363
+ secure: secure
364
+ });
365
+
366
+ // expire permanent cookies to session
338
367
  j1.expireCookie({ name: cookie_names.user_state });
339
368
  j1.expireCookie({ name: cookie_names.user_consent });
340
369
  j1.expireCookie({ name: cookie_names.user_translate });
341
370
  }
371
+
342
372
  if (moduleOptions.reloadPageOnChange) {
343
373
  // reload current page (skip cache)
344
374
  location.reload(true);