j1-template 2021.1.8 → 2021.1.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/layout_metadata_generator.html +4 -4
  3. data/_includes/themes/j1/modules/connectors/ads +18 -7
  4. data/_includes/themes/j1/modules/connectors/analytic/google-analytics.html +6 -6
  5. data/_includes/themes/j1/modules/connectors/analytics +17 -3
  6. data/_includes/themes/j1/modules/connectors/comments +22 -8
  7. data/_includes/themes/j1/modules/connectors/translator +20 -6
  8. data/_includes/themes/j1/procedures/global/select_location.proc +3 -3
  9. data/assets/error_pages/HTTP204.html +30 -10
  10. data/assets/error_pages/HTTP400.html +29 -8
  11. data/assets/error_pages/HTTP401.html +29 -9
  12. data/assets/error_pages/HTTP403.html +29 -8
  13. data/assets/error_pages/HTTP404.html +29 -8
  14. data/assets/error_pages/HTTP500.html +29 -8
  15. data/assets/error_pages/HTTP501.html +29 -8
  16. data/assets/error_pages/HTTP502.html +29 -8
  17. data/assets/error_pages/HTTP503.html +30 -8
  18. data/assets/themes/j1/adapter/js/cookieConsent.js +55 -51
  19. data/assets/themes/j1/adapter/js/fam.js +2 -1
  20. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.js +22 -7
  21. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.min.js +275 -2
  22. data/assets/themes/j1/modules/themeSwitcher/js/switcher.js +1 -2
  23. data/lib/j1/version.rb +1 -1
  24. data/lib/starter_web/Gemfile +1 -1
  25. data/lib/starter_web/_config.yml +18 -10
  26. data/lib/starter_web/_data/j1_config.yml +1 -1
  27. data/lib/starter_web/_data/modules/cookieconsent.yml +1 -0
  28. data/lib/starter_web/_data/modules/defaults/cookieconsent.yml +10 -9
  29. data/lib/starter_web/_includes/attributes.asciidoc +1 -1
  30. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  31. data/lib/starter_web/index.html +3 -3
  32. data/lib/starter_web/package.json +2 -2
  33. data/lib/starter_web/pages/public/blog/navigator/archive.html +2 -1
  34. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +3 -2
  35. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +20 -3
  36. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +9 -6
  37. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  38. data/lib/starter_web/utilsrv/package.json +1 -1
  39. metadata +2 -60
  40. data/assets/error_pages/HTTP520.html +0 -68
  41. data/assets/error_pages/HTTP521.html +0 -68
  42. data/assets/error_pages/HTTP533.html +0 -68
  43. data/assets/themes/j1/adapter/js/navigator.1.js +0 -896
  44. data/assets/themes/j1/adapter/js/navigator.2.js +0 -928
  45. data/assets/themes/j1/modules/_lightGallery/css/core/lg-fb-comment-box.css +0 -58
  46. data/assets/themes/j1/modules/_lightGallery/css/core/lg-fb-comment-box.min.css +0 -5
  47. data/assets/themes/j1/modules/_lightGallery/css/core/lg-transitions.css +0 -778
  48. data/assets/themes/j1/modules/_lightGallery/css/core/lg-transitions.min.css +0 -5
  49. data/assets/themes/j1/modules/_lightGallery/css/core/lightgallery.css +0 -981
  50. data/assets/themes/j1/modules/_lightGallery/css/core/lightgallery.min.css +0 -5
  51. data/assets/themes/j1/modules/_lightGallery/css/fonts/lg.eot +0 -0
  52. data/assets/themes/j1/modules/_lightGallery/css/fonts/lg.svg +0 -47
  53. data/assets/themes/j1/modules/_lightGallery/css/fonts/lg.ttf +0 -0
  54. data/assets/themes/j1/modules/_lightGallery/css/fonts/lg.woff +0 -0
  55. data/assets/themes/j1/modules/_lightGallery/css/img/loading.gif +0 -0
  56. data/assets/themes/j1/modules/_lightGallery/css/img/video-play.png +0 -0
  57. data/assets/themes/j1/modules/_lightGallery/css/img/vimeo-play.png +0 -0
  58. data/assets/themes/j1/modules/_lightGallery/css/img/youtube-play.png +0 -0
  59. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/animation-w.png +0 -0
  60. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/customize-w.png +0 -0
  61. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/dynamic-w.png +0 -0
  62. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/facebook-icon.svg +0 -10
  63. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/googleplus-icon.svg +0 -30
  64. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/html5-w.png +0 -0
  65. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/linked-in.png +0 -0
  66. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/module-w.png +0 -0
  67. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/play-button.png +0 -0
  68. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/responsive-w.png +0 -0
  69. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/thumb-w.png +0 -0
  70. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/touch-w.png +0 -0
  71. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/twitter-icon.svg +0 -15
  72. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/twitter.png +0 -0
  73. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/video1-w.png +0 -0
  74. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/zoom-w.png +0 -0
  75. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/zoom.png +0 -0
  76. data/assets/themes/j1/modules/_lightGallery/css/themes/uno.css +0 -262
  77. data/assets/themes/j1/modules/_lightGallery/css/themes/uno.min.css +0 -15
  78. data/assets/themes/j1/modules/_lightGallery/js/core/lightgallery.js +0 -1362
  79. data/assets/themes/j1/modules/_lightGallery/js/core/lightgallery.min.js +0 -4
  80. data/assets/themes/j1/modules/_lightGallery/js/modules/j1/j1-video.js +0 -402
  81. data/assets/themes/j1/modules/_lightGallery/js/modules/j1/j1-video.min.js +0 -8
  82. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-autoplay.js +0 -206
  83. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-autoplay.min.js +0 -5
  84. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-fullscreen.js +0 -126
  85. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-fullscreen.min.js +0 -5
  86. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-hash.js +0 -101
  87. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-hash.min.js +0 -5
  88. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-pager.js +0 -105
  89. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-pager.min.js +0 -5
  90. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-share.js +0 -107
  91. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-share.min.js +0 -5
  92. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-thumbnail.js +0 -478
  93. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-thumbnail.min.js +0 -5
  94. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-video.js +0 -342
  95. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-video.min.js +0 -5
  96. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-zoom.js +0 -527
  97. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-zoom.min.js +0 -5
@@ -1,68 +0,0 @@
1
- ---
2
- regenerate: false
3
- permalink: /521.html
4
- sitemap: false
5
- ---
6
- {% capture j1_cache %}
7
-
8
- {% comment %}
9
- # -----------------------------------------------------------------------------
10
- # ~/assets/http_error_pages/HTTP521.html
11
- # Liquid TEMPLATE to generate customized HTML error pages: 521 - Service currently unavailable
12
- #
13
- # Product/Info:
14
- # https://jekyll.one
15
- #
16
- # Copyright (C) 2021 Juergen Adams
17
- # Copyright (C) 2020 Andi Dittrich
18
- #
19
- # J1 Template is licensed under the MIT License.
20
- # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
21
- # HttpErrorPages are licensed under the MIT License.
22
- # See: https://github.com/AndiDittrich/HttpErrorPages
23
- # -----------------------------------------------------------------------------
24
- # Test data:
25
- # liquid_var: {{ liquid_var | debug }}
26
- # config: {{ config | debug }}
27
- # -----------------------------------------------------------------------------
28
- {% endcomment %}
29
-
30
- {% assign title = "Uups | Service currently unavailable" %}
31
- {% assign webmaster_email = site.webmaster.email %}
32
- {% assign copyright_info = site.copyright %}
33
- {% assign favicon = site.favicon.image %}
34
- {% assign images_dir = site.asciidoc_attributes.imagesdir %}
35
- {% assign brand_text = site.brand.text %}
36
- {% assign brand_image_source = site.brand.image %}
37
- {% assign brand_image_height = site.brand.image_height %}
38
-
39
- {% capture brand_image %}{{images_dir}}/{{brand_image_source}}{% endcapture %}
40
-
41
- <!DOCTYPE html>
42
- <html lang="en">
43
- <head>
44
- <!-- Simple HttpErrorPages | MIT License | https://github.com/AndiDittrich/HttpErrorPages -->
45
- <meta charset="utf-8" />
46
- <meta http-equiv="X-UA-Compatible" content="IE=edge" />
47
- <meta name="viewport" content="width=device-width, initial-scale=1" />
48
- <meta name="robots" content="noindex, nofollow">
49
- <link rel="icon" type="image/ico" href="{{favicon}}">
50
- <title>{{title}}</title>
51
- <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>
52
- <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}/*! Simple HttpErrorPages | MIT X11 License | https://github.com/AndiDittrich/HttpErrorPages */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>
53
- </head>
54
- <body>
55
- <a href="/"><img src="{{brand_image}}" height="{{brand_image_height}}" alt="{{brand_text}}"></a>
56
- <div class="cover attic">
57
- <h1>Service currently unavailable <small>521</small></h1>
58
- <p class="lead">We&#39;ve got some trouble with our backend upstream cluster.<br />Our service team has been dispatched to bring it back online.</p>
59
- </div>
60
- <footer>
61
- <p>{{copyright_info}} · Technical Contact: <p>{{copyright_info}} · Technical Contact: <a href="mailto:{{webmaster_email}}?subject={{title}}">{{webmaster_email}}</a></p>
62
- </footer>
63
- </body>
64
- </html>
65
-
66
- {% endcapture %}
67
- {{ j1_cache | strip_empty_lines }}
68
- {% assign j1_cache = nil %}
@@ -1,68 +0,0 @@
1
- ---
2
- regenerate: false
3
- permalink: /533.html
4
- sitemap: false
5
- ---
6
- {% capture j1_cache %}
7
-
8
- {% comment %}
9
- # -----------------------------------------------------------------------------
10
- # ~/assets/http_error_pages/HTTP533.html
11
- # Liquid TEMPLATE to generate customized HTML error pages: 533 - Scheduled Maintenance
12
- #
13
- # Product/Info:
14
- # https://jekyll.one
15
- #
16
- # Copyright (C) 2021 Juergen Adams
17
- # Copyright (C) 2020 Andi Dittrich
18
- #
19
- # J1 Template is licensed under the MIT License.
20
- # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
21
- # HttpErrorPages are licensed under the MIT License.
22
- # See: https://github.com/AndiDittrich/HttpErrorPages
23
- # -----------------------------------------------------------------------------
24
- # Test data:
25
- # liquid_var: {{ liquid_var | debug }}
26
- # config: {{ config | debug }}
27
- # -----------------------------------------------------------------------------
28
- {% endcomment %}
29
-
30
- {% assign title = "Uups | Scheduled Maintenance" %}
31
- {% assign webmaster_email = site.webmaster.email %}
32
- {% assign copyright_info = site.copyright %}
33
- {% assign favicon = site.favicon.image %}
34
- {% assign images_dir = site.asciidoc_attributes.imagesdir %}
35
- {% assign brand_text = site.brand.text %}
36
- {% assign brand_image_source = site.brand.image %}
37
- {% assign brand_image_height = site.brand.image_height %}
38
-
39
- {% capture brand_image %}{{images_dir}}/{{brand_image_source}}{% endcapture %}
40
-
41
- <!DOCTYPE html>
42
- <html lang="en">
43
- <head>
44
- <!-- Simple HttpErrorPages | MIT License | https://github.com/AndiDittrich/HttpErrorPages -->
45
- <meta charset="utf-8" />
46
- <meta http-equiv="X-UA-Compatible" content="IE=edge" />
47
- <meta name="viewport" content="width=device-width, initial-scale=1" />
48
- <meta name="robots" content="noindex, nofollow">
49
- <link rel="icon" type="image/ico" href="{{favicon}}">
50
- <title>{{title}}</title>
51
- <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>
52
- <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}/*! Simple HttpErrorPages | MIT X11 License | https://github.com/AndiDittrich/HttpErrorPages */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>
53
- </head>
54
- <body>
55
- <a href="/"><img src="{{brand_image}}" height="{{brand_image_height}}" alt="{{brand_text}}"></a>
56
- <div class="cover attic">
57
- <h1>Scheduled Maintenance <small>533</small></h1>
58
- <p class="lead">This site is currently down for maintenance.<br />Our service team is working hard to bring it back online soon.</p>
59
- </div>
60
- <footer>
61
- <p>{{copyright_info}} · Technical Contact: <p>{{copyright_info}} · Technical Contact: <a href="mailto:{{webmaster_email}}?subject={{title}}">{{webmaster_email}}</a></p>
62
- </footer>
63
- </body>
64
- </html>
65
-
66
- {% endcapture %}
67
- {{ j1_cache | strip_empty_lines }}
68
- {% assign j1_cache = nil %}
@@ -1,896 +0,0 @@
1
- ---
2
- regenerate: true
3
- ---
4
-
5
- {% capture cache %}
6
-
7
- {% comment %}
8
- # -----------------------------------------------------------------------------
9
- # ~/assets/themes/j1/adapter/js/navigator.js
10
- # Liquid template to adapt Navigator Core functions
11
- #
12
- # Product/Info:
13
- # https://jekyll.one
14
- #
15
- # Copyright (C) 2021 Juergen Adams
16
- #
17
- # J1 Template is licensed under the MIT License.
18
- # For details, see https://jekyll.one
19
- # -----------------------------------------------------------------------------
20
- # Test data:
21
- # {{ liquid_var | debug }}
22
- # -----------------------------------------------------------------------------
23
- # NOTE:
24
- #
25
- # JSON pretty print
26
- # Example: var str = JSON.stringify(obj, null, 2); // spacing level = 2
27
- # See: https://stackoverflow.com/questions/4810841/how-can-i-pretty-print-json-using-javascript
28
- # -----------------------------------------------------------------------------
29
- # NOTE:
30
- # jadams, 2020-06-21:
31
- # J1 Navigator needs a general revision on BS4 code and functionalities
32
- # Current, only base function are tested with BS4 (was coded for BS3)
33
- # -----------------------------------------------------------------------------
34
- # NOTE:
35
- # jadams, 2020-07-17:
36
- # J1 Navigator can't be minfied for now. Uglifier fails on an ES6
37
- # (most probably) structure that couldn't fixed by 'harmony' setting.
38
- # Minifier fails by:
39
- # Unexpected token: punc ())
40
- # Current, minifying has been disabled
41
- # -----------------------------------------------------------------------------
42
- {% endcomment %}
43
-
44
- {% comment %} Liquid procedures
45
- -------------------------------------------------------------------------------- {% endcomment %}
46
- {% capture select_color %}themes/{{site.template.name}}/procedures/global/select_color.proc{% endcapture %}
47
-
48
- {% comment %} Set global settings
49
- -------------------------------------------------------------------------------- {% endcomment %}
50
- {% assign environment = site.environment %}
51
- {% assign brand_image_height = site.brand.image_height %}
52
-
53
- {% comment %} Process YML config data
54
- ================================================================================ {% endcomment %}
55
-
56
-
57
- {% comment %} Set config files
58
- {% assign auth_manager_config = site.j1_auth %}
59
- -------------------------------------------------------------------------------- {% endcomment %}
60
- {% assign template_config = site.data.j1_config %}
61
- {% assign blocks = site.data.blocks %}
62
- {% assign modules = site.data.modules %}
63
-
64
- {% assign themer_defaults = modules.defaults.themer.defaults %}
65
- {% assign themer_settings = modules.themer.settings %}
66
-
67
- {% assign authentication_defaults = modules.defaults.authentication.defaults %}
68
- {% assign authentication_settings = modules.authentication.settings %}
69
-
70
- {% assign template_config = site.data.template_settings %}
71
- {% assign navigator_defaults = site.data.modules.defaults.navigator.defaults %}
72
- {% assign navigator_settings = site.data.modules.navigator.settings %}
73
-
74
- {% comment %} Set config data
75
- -------------------------------------------------------------------------------- {% endcomment %}
76
- {% assign nav_bar_defaults = navigator_defaults.nav_bar %}
77
- {% assign nav_bar_settings = navigator_settings.nav_bar %}
78
- {% assign nav_menu_defaults = navigator_defaults.nav_menu %}
79
- {% assign nav_menu_settings = navigator_settings.nav_menu %}
80
-
81
- {% assign nav_quicklinks_defaults = navigator_defaults.nav_quicklinks %}
82
- {% assign nav_quicklinks_settings = navigator_settings.nav_quicklinks %}
83
- {% assign nav_topsearch_defaults = navigator_defaults.nav_topsearch %}
84
- {% assign nav_topsearch_settings = navigator_settings.nav_topsearch %}
85
- {% assign nav_authclient_defaults = authentication_defaults.auth_client %}
86
- {% assign nav_authclient_settings = authentication_settings.auth_client %}
87
-
88
- {% comment %} Set config options
89
- -------------------------------------------------------------------------------- {% endcomment %}
90
- {% assign authentication_options = authentication_defaults | merge: authentication_settings %}
91
- {% assign themer_options = themer_defaults | merge: themer_settings %}
92
- {% assign nav_bar_options = nav_bar_defaults | merge: nav_bar_settings %}
93
- {% assign nav_menu_options = nav_menu_defaults | merge: nav_menu_settings %}
94
- {% assign quicklinks_options = nav_quicklinks_defaults | merge: nav_quicklinks_settings %}
95
- {% assign topsearch_options = nav_topsearch_defaults | merge: nav_topsearch_settings %}
96
- {% assign authclient_options = nav_authclient_defaults | merge: nav_authclient_settings %}
97
-
98
- {% assign nav_bar_id = navigator_defaults.nav_bar.id %}
99
- {% assign nav_menu_id = navigator_defaults.nav_menu.id %}
100
- {% assign nav_quicklinks_id = navigator_defaults.nav_quicklinks.id %}
101
- {% assign nav_navbar_media_breakpoint = navigator_defaults.nav_bar.media_breakpoint %}
102
- {% assign authclient_modals_id = navigator_defaults.nav_authclient.xhr_container_id %}
103
-
104
- {% if nav_bar_options.dropdown_animate_duration != null %}
105
- {% assign animate_duration = nav_bar_options.dropdown_animate_duration %}
106
- {% else %}
107
- {% assign animate_duration = 1 %}
108
- {% endif %}
109
-
110
- {% assign production = false %}
111
- {% if environment == 'prod' or environment == 'production' %}
112
- {% assign production = true %}
113
- {% endif %}
114
-
115
- {% comment %}
116
- --------------------------------------------------------------------------------
117
- Set|Overload Liquid vars hardwired to NOT break the (MD) style
118
- ToDo: Remove configuration from j1_navigator.yml
119
- -------------------------------------------------------------------------------- {% endcomment %}
120
- {% assign dropdown_border_height = "3" %}
121
-
122
- /*
123
- # -----------------------------------------------------------------------------
124
- # ~/assets/themes/j1/adapter/js/navigator.js
125
- # JS Adapter for J1 Navigator
126
- #
127
- # Product/Info:
128
- # {{site.data.template_settings.theme_author_url}}
129
- #
130
- # Copyright (C) 2021 Juergen Adams
131
- #
132
- # J1 Template is licensed under the MIT License.
133
- # For details, see {{site.data.template_settings.theme_author_url}}
134
- # -----------------------------------------------------------------------------
135
- # NOTE: For AJAX (XHR) loads see
136
- # https://stackoverflow.com/questions/3709597/wait-until-all-jquery-ajax-requests-are-done
137
- # -----------------------------------------------------------------------------
138
- # NOTE: For getStyleValue helper see
139
- # https://stackoverflow.com/questions/16965515/how-to-get-a-style-attribute-from-a-css-class-by-javascript-jquery
140
- # -----------------------------------------------------------------------------
141
- # Adapter generated: {{site.time}}
142
- # -----------------------------------------------------------------------------
143
- */
144
-
145
- // -----------------------------------------------------------------------------
146
- // ESLint shimming
147
- // -----------------------------------------------------------------------------
148
- /* eslint indent: "off" */
149
- // -----------------------------------------------------------------------------
150
- 'use strict';
151
-
152
- j1.adapter['navigator'] = (function (j1, window) {
153
-
154
- // ---------------------------------------------------------------------------
155
- // globals
156
- // ---------------------------------------------------------------------------
157
- var environment = '{{environment}}';
158
- var dclFinished = false;
159
- var moduleOptions = {};
160
-
161
- var nav_menu_id = '{{nav_menu_id}}';
162
- var nav_quicklinks_id = '{{nav_quicklinks_id}}';
163
-
164
- var authclient_modals_id = '{{authclient_modals_id}}';
165
- var authclient_xhr_data_element = '{{authclient_options.xhr_data_element}}';
166
- var authclient_modals_data_path = '{{authclient_options.xhr_data_path}}';
167
-
168
- var nav_menu_data_path = '{{nav_menu_options.data_path}}';
169
- var nav_quicklinks_data_path = '{{quicklinks_options.data_path}}';
170
-
171
- var colors_data_path = '{{template_config.colors_data_path}}';
172
- var font_size_data_path = '{{template_config.font_size_data_path}}';
173
-
174
-
175
- var cookie_names = j1.getCookieNames();
176
- var cookie_user_session_name = cookie_names.user_session;
177
-
178
- var user_session = {};
179
- var user_session_merged = {};
180
- var session_state = {};
181
-
182
- var themerEnabled = {{themer_options.enabled}}; //was (test): false;
183
- var authClientEnabled;
184
- var appDetected;
185
- var json_data;
186
- var _this;
187
- var logger;
188
- var logText;
189
-
190
-
191
- // ---------------------------------------------------------------------------
192
- // helper functions
193
- // ---------------------------------------------------------------------------
194
-
195
- // ---------------------------------------------------------------------------
196
- // main object
197
- // ---------------------------------------------------------------------------
198
- return {
199
-
200
- // -------------------------------------------------------------------------
201
- // module initializer
202
- // -------------------------------------------------------------------------
203
- init: function (options) {
204
-
205
- // -----------------------------------------------------------------------
206
- // globals
207
- // -----------------------------------------------------------------------
208
- _this = j1.adapter.navigator;
209
- logger = log4javascript.getLogger('j1.adapter.navigator');
210
-
211
- // initialize state flag
212
- _this.setState('started');
213
- logger.info('state: ' + _this.getState());
214
- logger.info('module is being initialized');
215
-
216
- // -----------------------------------------------------------------------
217
- // defaults
218
- // -----------------------------------------------------------------------
219
- var settings = $.extend({
220
- module_name: 'j1.adapter.navigator',
221
- generated: '{{site.time}}'
222
- }, options);
223
-
224
- // -----------------------------------------------------------------------
225
- // options loader
226
- // -----------------------------------------------------------------------
227
- /* eslint-disable */
228
- var authConfig = {};
229
- var navDefaults = {};
230
- var navBarConfig = {};
231
- var navMenuConfig = {};
232
- var navQuicklinksConfig = {};
233
- var navTopsearchConfig = {};
234
- var navAuthClientConfig = {};
235
- var navBarOptions = {};
236
- var navMenuOptions = {};
237
- var navQuicklinksOptions = {};
238
- var navTopsearchOptions = {};
239
- var navAuthClientOptions = {};
240
- var navAuthMAnagerConfig = {};
241
-
242
- var user_state = {};
243
- var cookie_names = j1.getCookieNames();
244
- var cookie_user_state_name = cookie_names.user_state;
245
-
246
- var themerOptions = {};
247
- var interval_count = 0;
248
- var user_state_detected;
249
- var themes_count;
250
- var max_count = 100;
251
-
252
-
253
- navDefaults = $.extend({}, {{navigator_defaults | replace: '=>', ':' }});
254
- navBarConfig = $.extend({}, {{nav_bar_options | replace: '=>', ':' }});
255
- navMenuConfig = $.extend({}, {{nav_menu_options | replace: '=>', ':' }});
256
- navQuicklinksConfig = $.extend({}, {{quicklinks_options | replace: '=>', ':' }});
257
- navTopsearchConfig = $.extend({}, {{topsearch_options | replace: '=>', ':' }});
258
- navAuthClientConfig = $.extend({}, {{authclient_options | replace: '=>', ':' }});
259
-
260
- navAuthMAnagerConfig = $.extend({}, {{authentication_options | replace: '=>', ':' }});
261
- authClientEnabled = navAuthMAnagerConfig.enabled;
262
-
263
- themerOptions = $.extend({}, {{themer_options | replace: '=>', ':' | replace: 'nil', '""' }});
264
-
265
- // Merge|Overload module CONFIG by DEFAULTS
266
- //
267
- navBarOptions = j1.mergeData(navBarConfig, navDefaults.nav_bar);
268
- navMenuOptions = j1.mergeData(navMenuConfig, navDefaults.nav_menu);
269
- navQuicklinksOptions = j1.mergeData(navQuicklinksConfig, navDefaults.nav_quicklinks);
270
- navTopsearchOptions = j1.mergeData(navTopsearchConfig, navDefaults.nav_topsearch);
271
- navAuthClientConfig = j1.mergeData(navAuthClientConfig, navDefaults.nav_authclient);
272
-
273
- // save config settings into the adapter object for global access
274
- //
275
- _this['navDefaults'] = navDefaults;
276
- _this['navBarOptions'] = navBarOptions;
277
- _this['navMenuOptions'] = navMenuOptions;
278
- _this['navQuicklinksOptions'] = navQuicklinksOptions;
279
- _this['navTopsearchOptions'] = navTopsearchOptions;
280
- _this['navAuthClientConfig'] = navAuthClientConfig;
281
- _this['navAuthManagerConfig'] = navAuthMAnagerConfig;
282
-
283
- // Load (individual) frontmatter options (currently NOT used)
284
- if (options != null) { var frontmatterOptions = $.extend({}, options) }
285
- /* eslint-enable */
286
-
287
- // -----------------------------------------------------------------------
288
- // Load HTML data (AJAX)
289
- // -----------------------------------------------------------------------
290
- // jadams, 202-06-24: Promise (chain) if $.when seems NOT to work correctly.
291
- // It seems a chain using .then will be a better solution to make it sure
292
- // that the last Deferred set the state to 'data_loaded'.
293
- // Found the final state randomly set to 'null' what prevent the module
294
- // to run mmenuInitializer.
295
- // Workaround: Set 'data_loaded' to be returned by all Deferred in
296
- // the chain.
297
- // See: https://stackoverflow.com/questions/5436327/jquery-deferreds-and-promises-then-vs-done
298
- // authclient_xhr_data_element
299
- // -----------------------------------------------------------------------
300
- // data loader
301
- // -----------------------------------------------------------------------
302
-
303
- j1.xhrData({
304
- xhr_container_id: navQuicklinksOptions.xhr_container_id,
305
- xhr_data_path: navQuicklinksOptions.xhr_data_path,
306
- xhr_data_element: navQuicklinksOptions.xhr_data_element },
307
- 'j1.adapter.navigator',
308
- null);
309
- j1.xhrData({
310
- xhr_container_id: navAuthClientConfig.xhr_container_id,
311
- xhr_data_path: navAuthClientConfig.xhr_data_path,
312
- xhr_data_element: navAuthClientConfig.xhr_data_element },
313
- 'j1.adapter.navigator',
314
- null);
315
- j1.xhrData({
316
- xhr_container_id: navMenuOptions.xhr_container_id,
317
- xhr_data_path: navMenuOptions.xhr_data_path,
318
- xhr_data_element: navMenuOptions.xhr_data_element },
319
- 'j1.adapter.navigator',
320
- 'data_loaded');
321
-
322
- var dependencies_met_load_menu_finished = setInterval (function () {
323
- if (j1.xhrDOMState['#'+navQuicklinksOptions.xhr_container_id] == 'not loaded' ||
324
- j1.xhrDOMState['#'+navAuthClientConfig.xhr_container_id] == 'not loaded' ||
325
- j1.xhrDOMState['#'+navMenuOptions.xhr_container_id] == 'not loaded')
326
- {
327
- // load HTML data (AJAX) failed
328
- logger.error('load HTML data (AJAX): failed');
329
- _this.setState('finished');
330
- logger.info('state: ' + _this.getState());
331
- logger.info('initializing module: failed');
332
- logger.info('met dependencies for: xhrData');
333
- clearInterval(dependencies_met_load_menu_finished);
334
- } else if (j1.xhrDOMState['#'+navQuicklinksOptions.xhr_container_id] == 'success' &&
335
- j1.xhrDOMState['#'+navAuthClientConfig.xhr_container_id] == 'success' &&
336
- j1.xhrDOMState['#'+navMenuOptions.xhr_container_id] == 'success' )
337
- {
338
- // AJAX loads (xhrData) has finished successfully
339
- _this.setState('processing');
340
- logger.info('status: ' + _this.getState());
341
- logger.info('initialize navigator core');
342
-
343
- // Detect|Set J1 App status
344
- appDetected = j1.appDetected();
345
- authClientEnabled = j1.authEnabled();
346
- logger.info('application status detected: ' + appDetected);
347
-
348
- j1.core.navigator.init (_this.navDefaults, _this.navMenuOptions);
349
-
350
- // load themes (to menu) if themer is enabled
351
- if (themerEnabled) {
352
-
353
- logText = 'theme switcher: enabled';
354
- logger.info(logText);
355
-
356
- // Detect|Set J1 UserState
357
- user_state_detected = j1.existsCookie(cookie_user_state_name);
358
- if (user_state_detected) {
359
- user_state = j1.readCookie(cookie_user_state_name);
360
- }
361
-
362
- logText = 'load themes';
363
- logger.info(logText);
364
-
365
- // load LOCAL themes from JSON data
366
- logText = 'load local themes (json file)';
367
- logger.info(logText);
368
- $('#local_themes').bootstrapThemeSwitcher({
369
- localFeed: themerOptions.localThemes
370
- });
371
-
372
- // load REMOTE themes from Bootswatch API (localFeed EMPTY!)
373
- $('#remote_themes').bootstrapThemeSwitcher({
374
- localFeed: '',
375
- bootswatchApiVersion: themerOptions.bootswatchApiVersion
376
- });
377
-
378
- // jadams, 2021-04-22: Up to now, it is unclear why in some
379
- // cases the menu bar is NOT fully loaded for THEMES
380
- // TODO: Add additional checks to find the reason
381
- var dependencies_met_remote_themes_loaded = setInterval(function() {
382
- // jadams, 2021-07-03: check for themer get finished loading
383
- interval_count += 1;
384
- themes_count = document.getElementById("remote_themes").getElementsByTagName("li").length;
385
- if ( themes_count > 0 ) {
386
- logger.info('remote themes loaded: successfully');
387
- logger.info('remote themes loaded: successfully after: ' + interval_count * 25 + ' ms');
388
-
389
- clearInterval(dependencies_met_remote_themes_loaded);
390
- } else {
391
- logger.debug('wait for theme to be loaded: ' + user_state.theme_name);
392
- }
393
- if (interval_count > max_count) {
394
- logger.warn('remote themes loading: failed');
395
- logger.warn('continue processing');
396
- clearInterval(dependencies_met_remote_themes_loaded);
397
- }
398
- clearInterval(dependencies_met_page_finished);
399
- }, 25); // END dependencies_met_remote_themes_loaded
400
- } else {
401
- logger.info('theme switcher detected as: disabled');
402
- } // END if themerEnabled
403
-
404
- // -------------------------------------------------------------------
405
- // event handler|css styles
406
- // -------------------------------------------------------------------
407
- // jadams, 2021-07-03: unclear why to wait for the themer ???
408
- // continue to apply the theme CSS
409
- if (themerEnabled) {
410
- _this.setState('processing');
411
-
412
- logger.info('initialize eventHandler');
413
- j1.core.navigator.eventHandler();
414
-
415
- logger.info('initializing dynamic CSS styles');
416
- _this.setCSS (
417
- navDefaults, navBarOptions, navMenuOptions,
418
- navQuicklinksOptions, navTopsearchOptions
419
- );
420
-
421
- logger.info('init auth client');
422
- _this.initAuthClient(_this.navAuthManagerConfig);
423
-
424
- _this.setState('finished');
425
- logger.info('state: ' + _this.getState());
426
- logger.info('module initialized successfully');
427
- logger.info('met dependencies for: j1');
428
- clearInterval(dependencies_met_themer_finished);
429
- } else {
430
- _this.setState('processing');
431
-
432
- logger.info('initialize eventHandler');
433
- j1.core.navigator.eventHandler();
434
-
435
- // set general|global theme colors
436
- logger.info('apply dynamic CSS styles');
437
- _this.setCSS (
438
- navDefaults, navBarOptions, navMenuOptions,
439
- navQuicklinksOptions, navTopsearchOptions
440
- );
441
-
442
- logger.info('init auth client');
443
- _this.initAuthClient(_this.navAuthManagerConfig);
444
- _this.setState('finished');
445
- logger.info('state: ' + _this.getState());
446
- clearInterval(dependencies_met_themer_finished);
447
- }
448
- } else {
449
- // load HTML data (AJAX) failed for unknown reason
450
- logger.error('initializing module: failed for unlnown reason');
451
- _this.setState('finished');
452
- logger.info('state: ' + _this.getState());
453
- clearInterval(dependencies_met_load_menu_finished);
454
- }
455
- }, 25); // END dependencies_met_load_menu_finished
456
-
457
- // -----------------------------------------------------------------------
458
- // Register event 'reset on resize' to call j1.core.navigator on
459
- // manageDropdownMenu to manage the (current) NAV menu for
460
- // desktop or mobile
461
- // -----------------------------------------------------------------------
462
- $(window).on('resize', function() {
463
- j1.core.navigator.manageDropdownMenu(navDefaults, navMenuOptions);
464
-
465
- // jadams, 2020-07-10: cause severe trouble on mobile devices if
466
- // OnScreen Kbd comes up and reduces the window size (resize event)
467
- // DISABLED
468
- // ---------------------------------------------------------------------
469
- // Hide|Close topSearch on resize event
470
- // $('.top-search').slideUp();
471
-
472
- // Manage sticky NAV bars
473
- setTimeout (function() {
474
- j1.core.navigator.navbarSticky();
475
- }, 500);
476
-
477
- // Scroll the page one pixel back and forth to get
478
- // the right position for Toccer (trigger) and SSM
479
- $(window).scrollTop($(window).scrollTop()+1);
480
- $(window).scrollTop($(window).scrollTop()-1);
481
-
482
- // jadams, 2020-06-21: unclear|forgotten what I'm doing here!
483
- // Looks like the old BS3 implementation
484
- //
485
- // $('.navbar-collapse').removeClass('in');
486
- // $('.navbar-collapse').removeClass('on');
487
- // $('.navbar-collapse').removeClass('bounceIn');
488
- });
489
- }, // END init
490
-
491
- // -------------------------------------------------------------------------
492
- // initialize JS portion for the dialogs (modals) used by J1AuthClient
493
- // NOTE: Currently cookie updates NOT processed at the NAV module
494
- // All updates on Cookies are managed by Cookie Consent.
495
- // To be considered to re-add cookie updates for the auth state
496
- // -------------------------------------------------------------------------
497
- initAuthClient: function(auth_config) {
498
- var logger = log4javascript.getLogger('j1.adapter.navigator.initAuthClient');
499
- var user_session = j1.readCookie(cookie_user_session_name);
500
-
501
- _this.modalEventHandler(auth_config);
502
-
503
- if (j1.appDetected() && j1.authEnabled()) {
504
- // Toggle/Set SignIn/SignOut icon|link in QuickLinks
505
- // See: https://stackoverflow.com/questions/13524107/how-to-set-data-attributes-in-html-elements
506
- if (user_session.authenticated === 'true') {
507
- // Set SignOut
508
- $('#navLinkSignInOut').attr('data-target', '#modalOmniSignOut');
509
- $('#iconSignInOut').removeClass('mdi-login').addClass('mdi-logout');
510
- } else {
511
- // Set SignIn
512
- $('#navLinkSignInOut').attr('data-target', '#modalOmniSignIn');
513
- $('#iconSignInOut').removeClass('mdi-logout').addClass('mdi-login');
514
- }
515
- }
516
-
517
- return true;
518
- }, // END initAuthClient
519
-
520
- // -------------------------------------------------------------------------
521
- // modalEventHandler
522
- // Manage button click events for all BS Modals
523
- // See: https://www.nickang.com/add-event-listener-for-loop-problem-in-javascript/
524
- // -------------------------------------------------------------------------
525
- modalEventHandler: function (options) {
526
- // var logger = log4javascript.getLogger('j1.adapter.navigator.EventHandler');
527
- var authConfig = options.j1_auth;
528
- var route;
529
- var provider;
530
- var provider_url;
531
- var allowed_users;
532
- var logText;
533
-
534
- var signIn = {
535
- provider: authConfig.providers.activated[0],
536
- users: authConfig.providers[authConfig.providers['activated'][0]]['users'],
537
- do: false
538
- };
539
-
540
- var signOut = {
541
- provider: authConfig.providers.activated[0],
542
- providerSignOut: false,
543
- do: false
544
- };
545
-
546
- logText = 'initialize button click events';
547
- logger.info(logText);
548
-
549
- // Manage button click events for modal "signInOutButton"
550
- // -----------------------------------------------------------------------
551
- $('ul.nav-pills > li').click(function (e) {
552
- e.preventDefault();
553
- // jadams, 2019-07-30: To be checked if needed
554
- signIn.provider = $(this).text().trim();
555
- signIn.provider = signIn.provider.toLowerCase();
556
- signIn.allowed_users = signIn.users.toString();
557
- });
558
-
559
- $('a.btn').click(function() {
560
- if (this.id === 'signInButton') {
561
- signIn.do = true;
562
- } else {
563
- signIn.do = false;
564
- }
565
- if (this.id === 'signOutButton') {
566
- signOut.do = true;
567
- } else {
568
- signOut.do = false;
569
- }
570
- });
571
-
572
- $('input:checkbox[name="providerSignOut"]').on('click', function (e) {
573
- e.stopPropagation();
574
- signOut.providerSignOut = $('input:checkbox[name="providerSignOut"]').is(':checked');
575
- if(environment === 'development') {
576
- logText = 'provider signout set to: ' + signOut.providerSignOut;
577
- logger.info(logText);
578
- }
579
- });
580
-
581
- // Manage pre events on modal "modalOmniSignIn"
582
- // -----------------------------------------------------------------------
583
- $('#modalOmniSignOut').on('show.bs.modal', function() {
584
- var modal = $(this);
585
- logger.info('place current user data');
586
- user_session = j1.readCookie(cookie_user_session_name);
587
- modal.find('.user-info').text('You are signed in to provider: ' + user_session.provider);
588
- }); // END SHOW modalOmniSignOut
589
-
590
- // Manage post events on modal "modalOmniSignIn"
591
- // -----------------------------------------------------------------------
592
- $('#modalOmniSignIn').on('hidden.bs.modal', function() {
593
- if (signIn.do == true) {
594
- provider = signIn.provider.toLowerCase();
595
- allowed_users = signIn.users.toString();
596
- logText = 'provider detected: ' + provider;
597
- logger.info(logText);
598
-
599
- var route = '/authentication?request=signin&provider=' +provider+ '&allowed_users=' +allowed_users;
600
- logText = 'call middleware for signin on route: ' + route;
601
- logger.info(logText);
602
- window.location.href = route;
603
- } else {
604
- provider = signIn.provider.toLowerCase();
605
- logText = 'provider detected: ' + provider;
606
- logger.info(logText);
607
- logText = 'login declined for provider: ' +provider;
608
- logger.info(logText);
609
- }
610
- }); // END post events "modalOmniSignIn"
611
-
612
- // Manage post events on modal "modalOmniSignOut"
613
- // -----------------------------------------------------------------------
614
- $('#modalOmniSignOut').on('hidden.bs.modal', function() {
615
- if (signOut.do == true) {
616
- logger.info('load active provider from cookie: ' + cookie_user_session_name);
617
-
618
- user_session = j1.readCookie(cookie_user_session_name);
619
- provider = user_session.provider;
620
- provider_url = user_session.provider_site_url;
621
-
622
- logText = 'provider detected: ' + provider;
623
- logger.info(logText);
624
- logText = 'initiate signout for provider: ' +provider;
625
- logger.info(logText);
626
-
627
- var route = '/authentication?request=signout&provider=' + provider + '&provider_signout=' + signOut.providerSignOut; // + '/logout/';
628
- logText = 'call middleware on route : ' +route;
629
- logger.info(logText);
630
- window.location.href = route;
631
- } else {
632
- provider = signOut.provider.toLowerCase();
633
- logText = 'provider detected: ' + provider;
634
- logger.info(logText);
635
- logText = 'signout declined for provider: ' +provider ;
636
- logger.info(logText);
637
- }
638
- }); // END post events "modalSignOut"
639
-
640
- logText = 'initialize button click events completed';
641
- logger.info(logText);
642
-
643
- return true;
644
- }, // END modalEventHandler
645
-
646
- // -------------------------------------------------------------------------
647
- // setCSS
648
- // Set dynamic CSS styles
649
- // -------------------------------------------------------------------------
650
- setCSS: function (navDefaults, navBarOptions, navMenuOptions, navQuicklinksOptions, navTopsearchOptions) {
651
- var logger = log4javascript.getLogger('j1.adapter.navigator.setCSS');
652
- var gridBreakpoint_lg = '992px';
653
- var gridBreakpoint_md = '768px';
654
- var gridBreakpoint_sm = '576px';
655
- var navPrimaryColor = navDefaults.nav_primary_color;
656
-
657
- {% comment %} Set|Resolve navMenuOptions
658
- -------------------------------------------------------------------------- {% endcomment %}
659
- navMenuOptions.dropdown_font_size = navMenuOptions.dropdown_font_size;
660
- navMenuOptions.megamenu_font_size = navMenuOptions.megamenu_font_size;
661
-
662
- {% comment %} Set|Resolve navBarOptions
663
- -------------------------------------------------------------------------- {% endcomment %}
664
- navBarOptions.background_color_full = navBarOptions.background_color_full;
665
-
666
- {% comment %} Set|Resolve navMenuOptions
667
- -------------------------------------------------------------------------- {% endcomment %}
668
- navMenuOptions.menu_item_color = navMenuOptions.menu_item_color;
669
- navMenuOptions.menu_item_color_hover = navMenuOptions.menu_item_color_hover;
670
- navMenuOptions.menu_item_dropdown_color = navMenuOptions.menu_item_dropdown_color;
671
- navMenuOptions.dropdown_item_color = navMenuOptions.dropdown_item_color;
672
- navMenuOptions.dropdown_background_color_hover = navMenuOptions.dropdown_background_color_hover;
673
- navMenuOptions.dropdown_background_color_active = navMenuOptions.dropdown_background_color_active;
674
- navMenuOptions.dropdown_border_color = navMenuOptions.dropdown_border_color;
675
-
676
- {% comment %} Set|Resolve navQuicklinksOptions
677
- -------------------------------------------------------------------------- {% endcomment %}
678
- navQuicklinksOptions.icon_color = navQuicklinksOptions.icon_color;
679
- navQuicklinksOptions.icon_color_hover = navQuicklinksOptions.icon_color_hover;
680
- navQuicklinksOptions.background_color = navQuicklinksOptions.background_color;
681
-
682
- {% comment %} Set|Resolve navTopsearchOptions
683
- -------------------------------------------------------------------------- {% endcomment %}
684
- navTopsearchOptions.input_color = navTopsearchOptions.input_color;
685
- navTopsearchOptions.background_color = navTopsearchOptions.background_color;
686
-
687
- {% comment %} Set dymanic styles
688
- -------------------------------------------------------------------------- {% endcomment %}
689
- // $('nav-primary').css({"background-color": "navPrimaryColor"});
690
-
691
-
692
- {% comment %} navBar styles
693
- -------------------------------------------------------------------------- {% endcomment %}
694
- var bg_primary = j1.getStyleValue('bg-primary', 'background-color');
695
- var bg_scrolled = bg_primary;
696
- var bg_collapsed = bg_primary;
697
-
698
- $('head').append('<style>.mdi-bg-primary {color: ' +bg_scrolled+ ';}</style>');
699
-
700
- // Size of brand image
701
- $('head').append('<style>.navbar-brand > img { height: {{brand_image_height}}px !important; }</style>');
702
-
703
- // Navbar transparent-light (light)
704
- $('head').append('<style>@media (min-width: ' +gridBreakpoint_lg+ ') { nav.navbar.navigator.navbar-transparent.light { background-color: ' +navBarOptions.background_color_full+ ' !important; border-bottom: solid 0px !important; } }</style>');
705
- $('head').append('<style>@media (min-width: ' +gridBreakpoint_lg+ ') { nav.navbar.navigator.navbar-scrolled.light { background-color: ' +bg_scrolled+ ' !important; } }</style>');
706
-
707
- $('head').append('<style id="dynNav">@media (max-width: ' +gridBreakpoint_md+ ') { nav.navbar.navigator.navbar-transparent.light { background-color: ' +navBarOptions.background_color_full+ ' !important; border-bottom: solid 0px !important; } }</style>');
708
- $('head').append('<style id="dynNav">@media (max-width: ' +gridBreakpoint_md+ ') { nav.navbar.navigator.navbar-scrolled.light { background-color: ' +bg_scrolled+ ' !important; } }</style>');
709
- $('head').append('<style id="dynNav">@media (min-width: ' +gridBreakpoint_md+ ') { nav.navbar.navigator.navbar-transparent.light { background-color: ' +navBarOptions.background_color_full+ ' !important; border-bottom: solid 0px !important; } }</style>');
710
- $('head').append('<style id="dynNav">@media (min-width: ' +gridBreakpoint_md+ ') { nav.navbar.navigator.navbar-scrolled.light { background-color: ' +bg_scrolled+ ' !important; } }</style>');
711
-
712
- $('head').append('<style id="dynNav">@media (max-width: ' +gridBreakpoint_sm+ ') { nav.navbar.navigator.navbar-transparent.light { background-color: ' +navBarOptions.background_color_full+ ' !important; border-bottom: solid 0px !important; } }</style>');
713
- $('head').append('<style id="dynNav">@media (max-width: ' +gridBreakpoint_sm+ ') { nav.navbar.navigator.navbar-scrolled.light { background-color: ' +bg_scrolled+ ' !important; } }</style>');
714
-
715
- {% comment %} navQuicklinks styles
716
- -------------------------------------------------------------------------- {% endcomment %}
717
- $('head').append('<style>.attr-nav> ul > li > a { color: ' +navQuicklinksOptions.icon_color+ ' !important; }</style>');
718
- $('head').append('<style>.attr-nav> ul > li > a:hover { color: ' +navQuicklinksOptions.icon_color_hover+ ' !important; }</style>');
719
-
720
- {% comment %} navMenu styles
721
- -------------------------------------------------------------------------- {% endcomment %}
722
- // Remove background for anchor
723
- $('head').append('<style>.dropdown-menu > .active > a { background-color: transparent !important; }</style>');
724
- // hover menu-item|menu-sub-item
725
- $('head').append('<style>@media (min-width: ' +gridBreakpoint_lg+ ') { nav.navbar.navigator .dropdown-item:focus, nav.navbar.navigator .dropdown-item:hover, nav.navbar.navigator .nav-sub-item:focus, nav.navbar.navigator .nav-sub-item:hover { background: ' +navMenuOptions.dropdown_background_color_hover+ ' !important; }}</style>');
726
-
727
- // Limit 1st dropdown item width
728
- $('head').append('<style>@media (min-width: ' +gridBreakpoint_lg+ ') { nav.navbar.navigator ul.nav.navbar-right .dropdown-menu .dropdown-menu { left: -' +navMenuOptions.dropdown_item_min_width+ 'rem !important; } }</style>');
729
-
730
- // Limit last (2nd) dropdown in height (nav.navbar.navigator li.dropdown ul.dropdown-menu ul.dropdown-menu)
731
- // !important
732
- $('head').append('<style>@media (min-width: ' +gridBreakpoint_lg+ ') { nav.navbar.navigator li.dropdown ul.dropdown-menu ul.dropdown-menu { top: -' +navMenuOptions.dropdown_border_top+ 'px !important; max-height: ' +navMenuOptions.dropdown_menu_max_height+ 'em; } }</style>');
733
-
734
- // Set dropdown item colors
735
- $('head').append('<style>@media (min-width: ' +gridBreakpoint_lg+ ') { nav.navbar.navigator ul.nav > li > a { color: ' +navMenuOptions.menu_item_color+ ' !important; } }</style>');
736
- $('head').append('<style>@media (min-width: ' +gridBreakpoint_lg+ ') { nav.navbar.navigator ul.nav > li > a:hover { color: ' +navMenuOptions.menu_item_color_hover+ ' !important; } }</style>');
737
-
738
- // Dropdown menu styles
739
- // jadams, 2017-11-30: removed left padding from dropdown mwenu (for new j1nav style based on Navigator|Slate)
740
- $('head').append('<style>@media (min-width: ' +gridBreakpoint_lg+ ') { nav.navbar.navigator li.dropdown ul.dropdown-menu { animation-duration: ' +navMenuOptions.dropdown_animate_duration+ 's !important; color: ' +bg_scrolled+ ' !important; min-width: ' +navMenuOptions.dropdown_item_min_width+ 'rem !important; border-top: solid ' +navMenuOptions.dropdown_border_top+ 'px !important; border-radius: ' +navMenuOptions.dropdown_border_radius+ 'px !important; left: 0; } }</style>');
741
-
742
- {% if dropdown_style == 'raised' %}
743
- $('head').append('<style>@media (min-width: ' +gridBreakpoint_lg+ ') { nav.navbar.navigator li.dropdown ul.dropdown-menu { box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important; } }</style>');
744
- {% endif %}
745
-
746
- // jadams, 2017-11-22: configure dropdown_font_size|color
747
- $('head').append('<style>@media (min-width: ' +gridBreakpoint_lg+ ') { nav.navbar.navigator li.dropdown ul.dropdown-menu > li > a { color: ' +navMenuOptions.dropdown_item_color+ ' !important; font-size: ' +navMenuOptions.dropdown_font_size+ ' !important; font-weight: 400; } }</style>');
748
- $('head').append('<style>@media (min-width: ' +gridBreakpoint_lg+ ') { nav.navbar.navigator ul.dropdown-menu.megamenu-content .content ul.menu-col li a { color: ' +navMenuOptions.dropdown_item_color+ ' !important; font-size: ' +navMenuOptions.megamenu_font_size+ ' !important; font-weight: 400; } }</style>');
749
-
750
- {% comment %} navQuicklinks styles
751
- -------------------------------------------------------------------------- {% endcomment %}
752
-
753
- {% comment %} navTopSearch Styles
754
- -------------------------------------------------------------------------- {% endcomment %}
755
- // jadams, 2020-07-08: disabled because colors for icons set by the icon font settings
756
- // $('head').append('<style>.top-search .input-group-addon { color: ' +navTopsearchOptions.input_color+ ' !important; }</style>');
757
- $('head').append('<style>.top-search { background-color: ' +navTopsearchOptions.background_color+ ' !important; }</style>');
758
- $('head').append('<style>.top-search input.form-control { color: ' +navTopsearchOptions.input_color+ ' !important; }</style>');
759
-
760
- {% comment %} Timeline styles
761
- -------------------------------------------------------------------------- {% endcomment %}
762
- $('head').append('<style>.timeline > li > .timeline-panel:after {border-right-color: ' +bg_scrolled+ '; border-left-color: ' +bg_scrolled+ ';}</style>');
763
- $('head').append('<style>.tmicon {background: ' +bg_scrolled+ ';}</style>');
764
-
765
- {% comment %} Heading styles
766
- -------------------------------------------------------------------------- {% endcomment %}
767
- $('head').append('<style>.heading:after {background: ' +bg_scrolled+ ' !important;}</style>');
768
-
769
- {% comment %} Tag Cloud styles
770
- -------------------------------------------------------------------------- {% endcomment %}
771
- $('head').append('<style>.tag-cloud ul li a {background-color: ' +bg_scrolled+ ' !important;}</style>');
772
- // $('head').append('<style>.tag-cloud ul li a:hover {background-color: #212121 !important;}</style>');
773
-
774
- {% comment %} Toccer styles
775
- -------------------------------------------------------------------------- {% endcomment %}
776
- $('head').append('<style>.is-active-link::before {background-color: ' +bg_scrolled+ ' !important;}</style>');
777
-
778
- {% comment %} BS extended Modal styles
779
- -------------------------------------------------------------------------- {% endcomment %}
780
- $('head').append('<style>.modal-dialog.modal-notify.modal-primary .modal-header {background-color: ' +bg_scrolled+ ';}</style>');
781
-
782
- {% comment %} BS nav|pills styles
783
- -------------------------------------------------------------------------- {% endcomment %}
784
- $('head').append('<style>.nav-pills .nav-link.active, .nav-pills .show > .nav-link {background-color: ' +bg_scrolled+ ' !important;}</style>');
785
-
786
- return true;
787
- }, // END setCSS
788
-
789
- // -------------------------------------------------------------------------
790
- // delayShowMenu
791
- // delay all dropdown menu to open for "delay" time
792
- // See: http://jsfiddle.net/AndreasPizsa/NzvKC/
793
- // -------------------------------------------------------------------------
794
- delayShowMenu: function ( menuOpenDelay ) {
795
- var logger = log4javascript.getLogger('j1.adapter.navigator.delayShowMenu');
796
- var theTimer = 0;
797
- var theElement = null;
798
- var theLastPosition = {x:0,y:0};
799
-
800
- logText ='entered delayShowMenu';
801
- logger.info(logText);
802
-
803
- // $('#navigator_nav_menu')
804
- // .find('li.dropdown.nav-item')
805
-
806
- $('[data-toggle]').closest('li')
807
- .on('mouseenter', function (inEvent) {
808
- if (theElement) theElement.removeClass('open');
809
- window.clearTimeout(theTimer);
810
- theElement = $(this);
811
-
812
- theTimer = window.setTimeout(function () {
813
- theElement.addClass('open');
814
- }, menuOpenDelay);
815
- })
816
- .on('mousemove', function (inEvent) {
817
- if(Math.abs(theLastPosition.x - inEvent.ScreenX) > 4 ||
818
- Math.abs(theLastPosition.y - inEvent.ScreenY) > 4) {
819
- theLastPosition.x = inEvent.ScreenX;
820
- theLastPosition.y = inEvent.ScreenY;
821
- return;
822
- }
823
- if (theElement.hasClass('open')) return;
824
- window.clearTimeout(theTimer);
825
- theTimer = window.setTimeout(function () {
826
- theElement.addClass('open');
827
- }, menuOpenDelay);
828
- })
829
- .on('mouseleave', function (inEvent) {
830
- window.clearTimeout(theTimer);
831
- theElement = $(this);
832
- theTimer = window.setTimeout(function () {
833
- theElement.removeClass('open');
834
- }, menuOpenDelay);
835
- });
836
-
837
- return true;
838
- }, // END delayShowMenu
839
-
840
- // -------------------------------------------------------------------------
841
- // messageHandler
842
- // Manage messages (paylods) send from other J1 modules
843
- // -------------------------------------------------------------------------
844
- messageHandler: function (sender, message) {
845
- // var json_message = JSON.stringify(message, undefined, 2); // multiline
846
- var json_message = JSON.stringify(message);
847
-
848
- logText = 'received message from ' + sender + ': ' + json_message;
849
- logger.debug(logText);
850
-
851
- // -----------------------------------------------------------------------
852
- // Process commands|actions
853
- // -----------------------------------------------------------------------
854
- if (message.type === 'command' && message.action === 'module_initialized') {
855
- //
856
- // Place handling of command|action here
857
- //
858
- logger.info(message.text);
859
- }
860
- if (message.type === 'command' && message.action === 'status') {
861
- logger.info('messageHandler: received - ' + message.action);
862
- }
863
-
864
- //
865
- // Place handling of other command|action here
866
- //
867
-
868
- return true;
869
- }, // END messageHandler
870
-
871
- // -------------------------------------------------------------------------
872
- // setState()
873
- // Sets the current (processing) state of the module
874
- // -------------------------------------------------------------------------
875
- setState: function (stat) {
876
- _this.state = stat;
877
- }, // END setState
878
-
879
- // -------------------------------------------------------------------------
880
- // getState()
881
- // Returns the current (processing) state of the module
882
- // -------------------------------------------------------------------------
883
- getState: function () {
884
- return _this.state;
885
- } // END getState
886
-
887
- }; // END return
888
- })(j1, window);
889
-
890
- {% endcapture %}
891
- {% if production %}
892
- {{ cache | minifyJS }}
893
- {% else %}
894
- {{ cache | strip_empty_lines }}
895
- {% endif %}
896
- {% assign cache = nil %}