j1_template_mde 2018.4.31 → 2018.4.32

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 (130) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/layout_metadata_generator.html +5 -6
  3. data/_includes/themes/j1/layouts/layout_shim_generator.html +20 -2
  4. data/_includes/themes/j1/layouts/layout_theme_generator.html +2 -2
  5. data/_includes/themes/j1/modules/connectors/{analytic/google → ad/custom-provider.html} +7 -16
  6. data/_includes/themes/j1/modules/connectors/ad/google-adsense.html +6 -6
  7. data/_includes/themes/j1/modules/connectors/ads +23 -8
  8. data/_includes/themes/j1/modules/connectors/analytic/custom-provider.html +32 -0
  9. data/_includes/themes/j1/modules/connectors/analytic/google-analytics.html +38 -0
  10. data/_includes/themes/j1/modules/connectors/analytics +16 -17
  11. data/_includes/themes/j1/modules/connectors/comment/custom-provider.html +31 -0
  12. data/_includes/themes/j1/modules/connectors/comment/disqus.html +3 -3
  13. data/_includes/themes/j1/modules/connectors/comment/facebook.html +31 -0
  14. data/_includes/themes/j1/modules/connectors/comments +14 -12
  15. data/_includes/themes/j1/modules/connectors/sharing +3 -10
  16. data/_includes/themes/j1/modules/navigator/generator.html +17 -12
  17. data/_includes/themes/j1/modules/navigator/procedures/quicklinks.proc +37 -27
  18. data/_includes/themes/j1/modules/navigator/procedures/sidebar.proc +3 -3
  19. data/_includes/themes/j1/procedures/layouts/module_writer.proc +4 -4
  20. data/_includes/themes/j1/procedures/layouts/resource_writer.proc +6 -6
  21. data/lib/j1/version.rb +1 -1
  22. data/lib/j1_app/j1_auth_manager/_unused/auth_manager.before_merge_added.rb +1267 -0
  23. data/lib/j1_app/j1_auth_manager/_unused/auth_manager.update.web_cookie.rb +1333 -0
  24. data/lib/j1_app/j1_auth_manager/_unused/auth_manager_ui.2.erb +198 -0
  25. data/lib/j1_app/j1_auth_manager/_unused/auth_manager_ui.additional_inits.erb +254 -0
  26. data/lib/j1_app/j1_auth_manager/auth_manager.rb +361 -275
  27. data/lib/j1_app/j1_auth_manager/config.rb +9 -9
  28. data/lib/j1_app/j1_auth_manager/helpers.rb +60 -2
  29. data/lib/j1_app/j1_auth_manager/views/auth_manager_ui.erb +123 -37
  30. data/lib/starter_web/Gemfile +1 -1
  31. data/lib/starter_web/_config.yml +42 -32
  32. data/lib/starter_web/_data/j1_config.yml +46 -56
  33. data/lib/starter_web/_data/j1_resources.yml +25 -5
  34. data/lib/starter_web/_data/layouts/default.yml +10 -0
  35. data/lib/starter_web/_data/modules/j1_cookie_consent.yml +120 -0
  36. data/lib/starter_web/_data/modules/j1_log4javascript.yml +24 -22
  37. data/lib/starter_web/_data/modules/j1_navigator.yml +61 -50
  38. data/lib/starter_web/_data/modules/j1_navigator_menu.yml +32 -11
  39. data/lib/starter_web/_data/tables/country.asciidoc +252 -0
  40. data/lib/starter_web/assets/data/_authclient.html +365 -0
  41. data/lib/starter_web/assets/data/authclient.html +213 -222
  42. data/lib/starter_web/assets/data/cookie_consent.html +261 -0
  43. data/lib/starter_web/assets/data/countries.json +974 -0
  44. data/lib/starter_web/assets/data/footer.html +17 -26
  45. data/lib/starter_web/assets/data/menu.html +20 -21
  46. data/lib/starter_web/assets/images/icons/j1/scalable/j1v2.svg +1 -1
  47. data/lib/starter_web/assets/images/master_header/admin-bootstrap.jpg +0 -0
  48. data/lib/starter_web/assets/images/pages/roundtrip/package.json +16 -16
  49. data/lib/starter_web/assets/themes/j1/core/css/theme_extensions.css +1313 -1219
  50. data/lib/starter_web/assets/themes/j1/core/css/theme_extensions.min.css +1 -1
  51. data/lib/starter_web/assets/themes/j1/core/css/uno.css +1251 -1219
  52. data/lib/starter_web/assets/themes/j1/core/css/uno.min.css +1 -1
  53. data/lib/starter_web/assets/themes/j1/core/css/vendor.css +72 -72
  54. data/lib/starter_web/assets/themes/j1/core/css/vendor.min.css +2 -2
  55. data/lib/starter_web/assets/themes/j1/core/js/adapter/algolia.js +1 -1
  56. data/lib/starter_web/assets/themes/j1/core/js/adapter/back2top.js +1 -1
  57. data/lib/starter_web/assets/themes/j1/core/js/adapter/bs_gallery.js +1 -1
  58. data/lib/starter_web/assets/themes/j1/core/js/adapter/cookie_consent.js +345 -0
  59. data/lib/starter_web/assets/themes/j1/core/js/adapter/custom.js +1 -1
  60. data/lib/starter_web/assets/themes/j1/core/js/adapter/lightbox.js +1 -1
  61. data/lib/starter_web/assets/themes/j1/core/js/adapter/logger.js +1 -1
  62. data/lib/starter_web/assets/themes/j1/core/js/adapter/master_header.js +1 -1
  63. data/lib/starter_web/assets/themes/j1/core/js/adapter/navigator.js +254 -190
  64. data/lib/starter_web/assets/themes/j1/core/js/adapter/scroller.js +1 -1
  65. data/lib/starter_web/assets/themes/j1/core/js/adapter/searcher.js +1 -1
  66. data/lib/starter_web/assets/themes/j1/core/js/adapter/stickybits.js +1 -1
  67. data/lib/starter_web/assets/themes/j1/core/js/adapter/switcher.js +1 -1
  68. data/lib/starter_web/assets/themes/j1/core/js/adapter/template.js +432 -97
  69. data/lib/starter_web/assets/themes/j1/core/js/adapter/toccer.js +1 -1
  70. data/lib/starter_web/assets/themes/j1/core/js/template.js +15 -15
  71. data/lib/starter_web/assets/themes/j1/core/js/template.js.map +1 -1
  72. data/lib/starter_web/assets/themes/j1/core/js/template.min.js +1 -1
  73. data/lib/starter_web/assets/themes/j1/extensions/cookiebar/js/cookiebar.js +277 -0
  74. data/lib/starter_web/assets/themes/j1/{core/js/adapter/cookiebar.js → extensions/cookiebar/js/j1cookiebar.js} +1 -1
  75. data/lib/starter_web/collections/_biography/becoming.adoc +1 -1
  76. data/lib/starter_web/collections/_biography/born-to-run.adoc +1 -1
  77. data/lib/starter_web/collections/posts/{premium → private}/series/_posts/000_includes/attributes.asciidoc +0 -0
  78. data/lib/starter_web/collections/posts/{premium → private}/series/_posts/000_includes/documents/100-docker-using-shared-folders.asciidoc +0 -0
  79. data/lib/starter_web/collections/posts/{premium → private}/series/_posts/000_includes/documents/loop.sh +0 -0
  80. data/lib/starter_web/collections/posts/{premium → private}/series/_posts/000_includes/tables/debug_variables.asciidoc +0 -0
  81. data/lib/starter_web/collections/posts/{premium → private}/series/_posts/2018-11-01-docker-using-shared-folders.adoc +0 -0
  82. data/lib/starter_web/collections/posts/{private → protected}/wikipedia/_posts/000_includes/attributes.asciidoc +0 -0
  83. data/lib/starter_web/collections/posts/{private → protected}/wikipedia/_posts/000_includes/tables/debug_variables.asciidoc +0 -0
  84. data/lib/starter_web/collections/posts/{private → protected}/wikipedia/_posts/2016-11-20-minneapolis.adoc +0 -0
  85. data/lib/starter_web/collections/posts/{private → protected}/wikipedia/_posts/2016-11-24-narcisse-snake-dens.adoc +0 -0
  86. data/lib/starter_web/collections/posts/{private → protected}/wikipedia/_posts/2016-11-26-columbia-river.adoc +1 -1
  87. data/lib/starter_web/collections/posts/public/featured/_posts/2019-04-12-about-cookies.adoc +175 -0
  88. data/lib/starter_web/collections/posts/public/{featured → jekyll}/_posts/2018-05-01-confusion-about-base-url.adoc +0 -0
  89. data/lib/starter_web/index.html +4 -1
  90. data/lib/starter_web/package.json +1 -1
  91. data/lib/starter_web/pages/{premium → private}/bookshelf/100_about_jekyll_collections.adoc +1 -1
  92. data/lib/starter_web/pages/{premium → private}/bookshelf/200_book_shelf_biography.adoc +1 -1
  93. data/lib/starter_web/pages/{premium → private}/bookshelf/300_book_shelf_fantasy.adoc +1 -1
  94. data/lib/starter_web/pages/{premium → private}/bookshelf/400_book_shelf_romance.adoc +1 -1
  95. data/lib/starter_web/pages/{private → protected}/TeamUp/000_includes/attributes.asciidoc +0 -0
  96. data/lib/starter_web/pages/{private → protected}/TeamUp/index.adoc +3 -3
  97. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/attributes.asciidoc +0 -0
  98. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/100_absolute_sizes.asciidoc +0 -0
  99. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/110_bs_grid_sizes.asciidoc +0 -0
  100. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/120_relative_sizes.asciidoc +0 -0
  101. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/200_rotate.asciidoc +0 -0
  102. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/300_flip.asciidoc +0 -0
  103. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/400_spin_pulsed.asciidoc +0 -0
  104. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/500_bw_color_palette.asciidoc +0 -0
  105. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/510_bs_color_palette.asciidoc +0 -0
  106. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/600_md_color_palette.asciidoc +0 -0
  107. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/601_md_color_palette_indigo.asciidoc +0 -0
  108. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/602_md_color_palette_pink.asciidoc +0 -0
  109. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/twitter_emoji/100_bs_sizes.asciidoc +0 -0
  110. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/twitter_emoji/100_relative_sizes.asciidoc +0 -0
  111. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/twitter_emoji/200_rotate.asciidoc +0 -0
  112. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/twitter_emoji/300_flip.asciidoc +0 -0
  113. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/twitter_emoji/400_spin_pulsed.asciidoc +0 -0
  114. data/lib/starter_web/pages/{private → protected}/previewer/justified_gallery.html +1 -1
  115. data/lib/starter_web/pages/{private → protected}/previewer/mdi_icons_preview.adoc +1 -1
  116. data/lib/starter_web/pages/{private → protected}/previewer/twitter_emoji_preview.adoc +1 -1
  117. data/lib/starter_web/pages/public/about/about_you.adoc +139 -0
  118. data/lib/starter_web/pages/public/legal/de/100_impress.adoc +26 -15
  119. data/lib/starter_web/pages/public/legal/de/200_terms_of_use.adoc +2 -2
  120. data/lib/starter_web/pages/public/legal/en/100_impress.adoc +65 -53
  121. data/lib/starter_web/pages/public/legal/en/200_terms_of_use.adoc +11 -8
  122. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +46 -68
  123. data/lib/starter_web/pages/public/legal/en/400_license_agreement.adoc +72 -74
  124. data/lib/starter_web/pages/public/legal/en/eu/cookie.policy.asciidoc +55 -0
  125. data/lib/starter_web/pages/public/previewer/bootstrap_theme.adoc +1 -1
  126. data/lib/starter_web/pages/public/start/roundtrip/700_extended_modals.adoc +71 -53
  127. metadata +60 -44
  128. data/_includes/themes/j1/modules/connectors/analytic/googleUA +0 -44
  129. data/lib/starter_web/_data/modules/j1_cookiebar.yml +0 -65
  130. data/lib/starter_web/_unused/package.json.new +0 -125
@@ -0,0 +1,198 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+
6
+ <meta charset="utf-8">
7
+
8
+ <title>AuthManager</title>
9
+ <meta name="description" content="J1 Template">
10
+ <meta name="author" content="jelyll-one">
11
+
12
+ <link rel="stylesheet" type="text/css" href="/assets/themes/j1/core/css/uno.css">
13
+ <link rel="stylesheet" type="text/css" href="/assets/themes/j1/core/css/vendor.css">
14
+ <script src="/assets/themes/j1/core/js/template.js"></script>
15
+ <script src="/assets/themes/j1/core/js/adapter/template.js"></script>
16
+
17
+ </head>
18
+
19
+ <body class="r-text-300">
20
+
21
+ <!-- Modal Central CookieConsent -->
22
+ <div id="centralCookieConsent" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
23
+ <div class="modal-dialog modal-notify modal-<%= @info_type %>" role="document">
24
+ <!-- Content -->
25
+ <div class="modal-content">
26
+ <!--Header-->
27
+ <div class="modal-header">
28
+ <p class="lead">
29
+ <i class="mdi mdi-24px mdi-dark mdi-<%= @modal_icon %>"></i>
30
+ <%= @modal_title %></p>
31
+ <button type="button" class="close" data-dismiss="modal" aria-label="Close">
32
+ <i class="mdi mdi-dark mdi-48px mdi-close"></i>
33
+ </button>
34
+ </div>
35
+ <!-- Body -->
36
+ <div class="modal-body">
37
+ <div class="text-center">
38
+ <p style="text-align: justify"><%= @modal_description %></p>
39
+ </div>
40
+ </div>
41
+ <!-- Footer -->
42
+ <div class="modal-footer justify-content-center">
43
+ <a type="button" id="okButton" class="btn btn-primary-modal mr-2" data-dismiss="modal"><%= @modal_ok_text %></a>
44
+ </div>
45
+ </div>
46
+ <!-- END Content -->
47
+ </div>
48
+ </div>
49
+ <!-- END Central CookieConsent -->
50
+
51
+
52
+ <!-- Modal Central Success -->
53
+ <div id="centralModalInfo" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
54
+ <div class="modal-dialog modal-notify modal-<%= @info_type %>" role="document">
55
+ <!-- Content -->
56
+ <div class="modal-content">
57
+ <!--Header-->
58
+ <div class="modal-header">
59
+ <p class="lead">
60
+ <i class="mdi mdi-24px mdi-dark mdi-<%= @modal_icon %>"></i>
61
+ <%= @modal_title %></p>
62
+ <button type="button" class="close" data-dismiss="modal" aria-label="Close">
63
+ <i class="mdi mdi-dark mdi-48px mdi-close"></i>
64
+ </button>
65
+ </div>
66
+ <!-- Body -->
67
+ <div class="modal-body">
68
+ <div class="text-center">
69
+ <p style="text-align: justify"><%= @modal_description %></p>
70
+ </div>
71
+ </div>
72
+ <!-- Footer -->
73
+ <div class="modal-footer justify-content-center">
74
+ <a type="button" id="okButton" class="btn btn-primary-modal mr-2" data-dismiss="modal"><%= @modal_ok_text %></a>
75
+ </div>
76
+ </div>
77
+ <!-- END Content -->
78
+ </div>
79
+ </div>
80
+ <!-- END Central Success -->
81
+
82
+
83
+ <!-- Modal TopInfo -->
84
+ <div id="topInfo" class="modal fade top" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="false">
85
+ <div class="modal-dialog modal-frame modal-top modal-notify modal-info" role="document">
86
+ <!-- Content -->
87
+ <div class="modal-content">
88
+
89
+ <!-- Body -->
90
+ <div class="modal-body">
91
+ <div class="row px-4">
92
+ <p class="pt-1 pr-2"><%= @modal_description %></p>
93
+ </div>
94
+ <div class="row px-4">
95
+ <a type="button" id="okButton" class="btn btn-primary-modal mr-2" data-dismiss="modal"><%= @modal_ok_text %></a>
96
+ </div>
97
+ </div> <!-- END Body -->
98
+
99
+ </div>
100
+ <!-- END Content -->
101
+ </div>
102
+ </div>
103
+ <!-- END Modal TopInfo -->
104
+
105
+ <!-- Modal SignInProtectedContent -->
106
+ <div id="signInProtectedContent" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
107
+ <div class="modal-dialog modal-lg modal-notify modal-info" role="document">
108
+ <!-- Content -->
109
+ <div class="modal-content">
110
+
111
+ <!--Header-->
112
+ <div class="modal-header">
113
+ <p class="lead">
114
+ <i class="mdi mdi-24px mdi-dark mdi-login"></i>
115
+ <%= @modal_title %>
116
+ </p>
117
+ <button type="button" class="close" data-dismiss="modal" aria-label="Close">
118
+ <i class="mdi mdi-dark mdi-48px mdi-close"></i>
119
+ </button>
120
+ </div>
121
+
122
+ <!-- Body -->
123
+ <div class="modal-body">
124
+ <div class="text-center">
125
+ <p style="text-align: justify"><%= @modal_description %></p>
126
+ </div>
127
+ <img src="<%= @modal_image %>" alt="<%= @modal_title %>" class="img-fluid">
128
+ </div>
129
+
130
+ <!-- Footer -->
131
+ <div class="modal-footer justify-content-right">
132
+ <a type="button" id="signInButton" class="btn btn-primary-modal mr-2" data-dismiss="modal">
133
+ <i class="mdi mdi-18px mdi-dark mdi-login"></i>
134
+ <%= @modal_agreed_text %>
135
+ </a>
136
+ <a type="button" id="exitButton" class="btn btn-outline-modal" data-dismiss="modal">
137
+ <i class="mdi mdi-18px mdi-dark mdi-close"></i>
138
+ <%= @modal_disagreed_text %>
139
+ </a>
140
+ </div>
141
+
142
+ </div> <!-- END Content -->
143
+ </div>
144
+ </div>
145
+ <!-- END Modal SignInProtectedContent -->
146
+
147
+ </body>
148
+
149
+ <script>
150
+ var route;
151
+ var provider;
152
+
153
+ // Setup logger
154
+ logger = log4javascript.getLogger("j1.AuthManager");
155
+
156
+ var signIn = {
157
+ provider: "<%= @provider %>",
158
+ do: false
159
+ }
160
+
161
+ $(window).on('load', function() {
162
+ $("#<%= @modal %>").modal("show")
163
+ });
164
+
165
+ $("a.btn").click(function() {
166
+ if (this.id === "okButton") {
167
+ signIn.do = true;
168
+ }
169
+ if (this.id === "signInButton") {
170
+ signIn.do = true;
171
+ } else {
172
+ signIn.do = false;
173
+ }
174
+ });
175
+
176
+ $(document).on('shown.bs.modal','#<%= @modal %>', function () {
177
+ logger.info('Knalli von der Middleware');
178
+ console.log('Knalli von der Middleware');
179
+ });
180
+
181
+ $(document).on('hidden.bs.modal','#<%= @modal %>', function () {
182
+ // $("#<%= @modal %>").on('hidden.bs.modal', function() {
183
+ logger.info('Huhu von der Middleware');
184
+
185
+ if (signIn.do == true) {
186
+ var route = "<%= @route %>"
187
+ window.location.href = route;
188
+ } else {
189
+ // TODO: How to manage last/current page if protected
190
+ j1_user_state = j1.getUserStateCookie();
191
+ //window.location.href = j1_user_state.last_page;
192
+ //window.location.href = j1_user_state.current_page;
193
+ window.location.href = '/';
194
+ }
195
+ });
196
+ </script>
197
+
198
+ </html>
@@ -0,0 +1,254 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+
6
+ <meta charset="utf-8">
7
+
8
+ <title>AuthManager</title>
9
+ <meta name="description" content="J1 Template">
10
+ <meta name="author" content="jelyll-one">
11
+
12
+ <link rel="stylesheet" type="text/css" href="/assets/themes/j1/core/css/uno.css">
13
+ <link rel="stylesheet" type="text/css" href="/assets/themes/j1/core/css/vendor.css">
14
+ <script src="/assets/themes/j1/core/js/template.js"></script>
15
+ <script src="/assets/themes/j1/core/js/adapter/template.js"></script>
16
+ <script src="/assets/themes/j1/core/js/adapter/cookie_consent.js"></script>
17
+
18
+
19
+ </head>
20
+
21
+ <body class="r-text-300">
22
+
23
+ <!-- Modal Central Success -->
24
+ <div id="centralModalInfo" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
25
+ <div class="modal-dialog modal-notify modal-<%= @info_type %>" role="document">
26
+ <!-- Content -->
27
+ <div class="modal-content">
28
+ <!--Header-->
29
+ <div class="modal-header">
30
+ <p class="lead">
31
+ <i class="mdi mdi-2x mdi-dark mdi-<%= @modal_icon %>"></i>
32
+ <%= @modal_title %></p>
33
+ <button type="button" class="close" data-dismiss="modal" aria-label="Close">
34
+ <i class="mdi mdi-dark mdi-48px mdi-close"></i>
35
+ </button>
36
+ </div>
37
+ <!-- Body -->
38
+ <div class="modal-body">
39
+ <div class="text-center">
40
+ <p style="text-align: justify"><%= @modal_description %></p>
41
+ </div>
42
+ </div>
43
+ <!-- Footer -->
44
+ <div class="modal-footer justify-content-center">
45
+ <a type="button" id="okButton" class="btn btn-primary-modal mr-2" data-dismiss="modal"><%= @modal_ok_text %></a>
46
+ </div>
47
+ </div>
48
+ <!-- END Content -->
49
+ </div>
50
+ </div>
51
+ <!-- END Central Success -->
52
+
53
+
54
+ <!-- Modal TopInfo -->
55
+ <div id="topInfo" class="modal fade top" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="false">
56
+ <div class="modal-dialog modal-frame modal-top modal-notify modal-info" role="document">
57
+ <!-- Content -->
58
+ <div class="modal-content">
59
+
60
+ <!-- Body -->
61
+ <div class="modal-body">
62
+ <div class="row px-4">
63
+ <p class="pt-1 pr-2"><%= @modal_description %></p>
64
+ </div>
65
+ <div class="row px-4">
66
+ <a type="button" id="okButton" class="btn btn-primary-modal mr-2" data-dismiss="modal"><%= @modal_ok_text %></a>
67
+ </div>
68
+ </div> <!-- END Body -->
69
+
70
+ </div>
71
+ <!-- END Content -->
72
+ </div>
73
+ </div>
74
+ <!-- END Modal TopInfo -->
75
+
76
+ <!-- Modal SignInProtectedContent -->
77
+ <div id="signInProtectedContent" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
78
+ <div class="modal-dialog modal-lg modal-notify modal-info" role="document">
79
+ <!-- Content -->
80
+ <div class="modal-content">
81
+
82
+ <!--Header-->
83
+ <div class="modal-header">
84
+ <p class="lead">
85
+ <i class="mdi mdi-2x mdi-dark mdi-account"></i>
86
+ <%= @modal_title %>
87
+ </p>
88
+ <!-- <button type="button" class="close" data-dismiss="modal" aria-label="Close">
89
+ <i class="mdi mdi-dark mdi-48px mdi-close"></i>
90
+ </button> -->
91
+ </div>
92
+
93
+ <!-- Body -->
94
+ <div class="modal-body">
95
+ <div class="text-center">
96
+ <p style="text-align: justify"><%= @modal_description %></p>
97
+ </div>
98
+ <img src="<%= @modal_image %>" alt="<%= @modal_title %>" class="img-fluid">
99
+ </div>
100
+
101
+ <!-- Footer -->
102
+ <div class="modal-footer justify-content-center">
103
+ <a type="button" id="signInButton" class="btn btn-primary-modal mr-2" data-dismiss="modal">
104
+ <i class="mdi mdi-18px mdi-dark mdi-login"></i>
105
+ <%= @modal_agreed_text %>
106
+ </a>
107
+ <a type="button" id="exitButton" class="btn btn-outline-modal" data-dismiss="modal">
108
+ <i class="mdi mdi-18px mdi-dark mdi-close"></i>
109
+ <%= @modal_disagreed_text %>
110
+ </a>
111
+ </div>
112
+
113
+ </div> <!-- END Content -->
114
+ </div>
115
+ </div>
116
+ <!-- END Modal SignInProtectedContent -->
117
+
118
+ <!-- Modal Central CookieConsent -->
119
+ <div id="centralCookieConsent" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
120
+ <div class="modal-dialog modal-notify modal-<%= @info_type %>" role="document">
121
+ <!-- Content -->
122
+ <div class="modal-content">
123
+ <!--Header-->
124
+ <div class="modal-header">
125
+ <p class="lead">
126
+ <i class="mdi mdi-2x mdi-dark mdi-account"></i>
127
+ <%= @modal_title %>
128
+ </p>
129
+ <!-- <button type="button" class="close" data-dismiss="modal" aria-label="Close">
130
+ <i class="mdi mdi-dark mdi-48px mdi-close"></i>
131
+ </button> -->
132
+ </div>
133
+ <!-- Body -->
134
+ <div class="modal-body">
135
+ <div class="text-center">
136
+ <p style="text-align: justify"><%= @modal_description %></p>
137
+ </div>
138
+ </div>
139
+ <!-- Footer -->
140
+ <div class="modal-footer justify-content-center">
141
+ <a type="button" id="acceptCookiesButton" class="btn btn-primary-modal mr-2" data-dismiss="modal">
142
+ <i class="mdi mdi-18px mdi-dark mdi-<%= @modal_icon %>"></i>
143
+ <%= @modal_agreed_text %>
144
+ </a>
145
+ <a type="button" id="declineCookiesButton" class="btn btn-outline-modal" data-dismiss="modal">
146
+ <i class="mdi mdi-18px mdi-dark mdi-close"></i>
147
+ <%= @modal_disagreed_text %>
148
+ </a>
149
+ </div>
150
+ <!-- END Content -->
151
+ </div>
152
+ </div>
153
+ <!-- END Central CookieConsent -->
154
+
155
+ </body>
156
+
157
+ <script>
158
+
159
+ $(document).ready(function() {
160
+ j1.init();
161
+ });
162
+
163
+ var pageLoaded = setInterval(function() {
164
+ if ( j1.state() === 'finished' ) {
165
+
166
+ var route;
167
+ var provider;
168
+ var user_state;
169
+
170
+ // Setup logger
171
+ var logger;
172
+ var allModalButtons = document.querySelectorAll('a.btn');
173
+
174
+ var signIn = {
175
+ provider: "<%= @provider %>",
176
+ do: "unset"
177
+ }
178
+
179
+ var cookiesAccepted = {
180
+ do: "unset"
181
+ }
182
+
183
+
184
+
185
+ // Manage button click events for all modals
186
+ // See: https://www.nickang.com/add-event-listener-for-loop-problem-in-javascript/
187
+ // -----------------------------------------------------------------
188
+ $(document).on('shown.bs.modal','#<%= @modal %>', function () {
189
+ console.log('J1AuthManager: entered modal SHOWN from <%= @modal %>');
190
+
191
+ allModalButtons.forEach(function(button, index) {
192
+ button.addEventListener('click', function() {
193
+ // Modal topFullCookieConsent
194
+ // -----------------------------------------------------------
195
+ if (this.id === "acceptCookiesButton") {
196
+ cookiesAccepted.do = true;
197
+ user_state = j1.getWebSessionCookie();
198
+ user_state.cookies_accepted = 'accepted';
199
+ j1.setWebSessionCookie(user_state);
200
+ }
201
+ if (this.id === "declineCookiesButton") {
202
+ cookiesAccepted.do = false;
203
+ }
204
+ if (this.id === "okButton") {
205
+ signIn.do = true;
206
+ }
207
+ if (this.id === "signInButton") {
208
+ signIn.do = true;
209
+ } else {
210
+ signIn.do = false;
211
+ }
212
+ });
213
+ });
214
+
215
+ return;
216
+ });
217
+
218
+ $(window).on('load', function() {
219
+ $("#<%= @modal %>").modal("show")
220
+ });
221
+
222
+ $(document).on('hide.bs.modal','#<%= @modal %>', function () {
223
+ console.log('J1AuthManager: entered modal HIDE from <%= @modal %>');
224
+ user_state = j1.getWebSessionCookie();
225
+ // Manage SignIn
226
+ // -----------------------------------------------------------------------
227
+ if (signIn.do == true) {
228
+ var route = "<%= @route %>"
229
+ console.log('J1AuthManager: pass to ' + route);
230
+ window.location.href = route;
231
+ } else if (signIn.do == false) {
232
+ // TODO: How to manage page requested
233
+ // window.location.href = user_state.requested_page; // cause dead loop
234
+ window.location.href = '/';
235
+ }
236
+ // Cookies
237
+ // -----------------------------------------------------------------------
238
+ if (cookiesAccepted.do == true) {
239
+ var route = "<%= @route %>"
240
+ window.location.href = route;
241
+ } else if (cookiesAccepted.do == false) {
242
+ window.location.href = '/';
243
+ }
244
+ // pass to "window.location.href"
245
+ return;
246
+ });
247
+ // clear interval checking
248
+ clearInterval(pageLoaded);
249
+ } // END
250
+ }, 50); // END setInterval
251
+
252
+ </script>
253
+
254
+ </html>