j1-template 2024.1.5 → 2024.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (193) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/content_generator_page.html +0 -34
  3. data/_includes/themes/j1/modules/searcher/generator.html +4 -1
  4. data/_includes/themes/j1/modules/searcher/procedures/topsearch.proc +59 -56
  5. data/assets/data/authclient.html +1 -8
  6. data/assets/data/banner.html +1 -7
  7. data/assets/data/fab.html +2 -13
  8. data/assets/data/footer.html +0 -3
  9. data/assets/data/galeries.html +2 -13
  10. data/assets/data/gemini-ui.html +74 -21
  11. data/assets/data/iframes.html +1 -4
  12. data/assets/data/masonry.html +1 -13
  13. data/assets/data/masterslider.html +10 -21
  14. data/assets/data/menu.html +6 -14
  15. data/assets/data/mmenu.html +6 -5
  16. data/assets/data/mmenu_toc.html +2 -1
  17. data/assets/data/panel.html +4 -11
  18. data/assets/data/particles.yml +8 -8
  19. data/assets/data/quicklinks.html +4 -23
  20. data/assets/data/rtext_resizer.html +3 -1
  21. data/assets/data/slick.html +9 -11
  22. data/assets/data/translator.html +0 -1
  23. data/assets/themes/j1/adapter/js/advertising.js +141 -172
  24. data/assets/themes/j1/adapter/js/algolia.js +61 -54
  25. data/assets/themes/j1/adapter/js/analytics.js +67 -47
  26. data/assets/themes/j1/adapter/js/asciidoctor.js +32 -20
  27. data/assets/themes/j1/adapter/js/attic.js +75 -69
  28. data/assets/themes/j1/adapter/js/bmd.js +195 -177
  29. data/assets/themes/j1/adapter/js/carousel.js +786 -761
  30. data/assets/themes/j1/adapter/js/chatbot.js +77 -35
  31. data/assets/themes/j1/adapter/js/clipboard.js +66 -49
  32. data/assets/themes/j1/adapter/js/comments.js +92 -70
  33. data/assets/themes/j1/adapter/js/cookieConsent.js +466 -462
  34. data/assets/themes/j1/adapter/js/customFunctions.js +52 -35
  35. data/assets/themes/j1/adapter/js/customModule.js +56 -46
  36. data/assets/themes/j1/adapter/js/docsearch.js +54 -34
  37. data/assets/themes/j1/adapter/js/dropdowns.js +65 -52
  38. data/assets/themes/j1/adapter/js/fab.js +123 -109
  39. data/assets/themes/j1/adapter/js/gallery.js +494 -476
  40. data/assets/themes/j1/adapter/js/gemini.js +933 -299
  41. data/assets/themes/j1/adapter/js/iconPicker.js +255 -235
  42. data/assets/themes/j1/adapter/js/iconPickerPage.js +279 -0
  43. data/assets/themes/j1/adapter/js/iframer.js +81 -61
  44. data/assets/themes/j1/adapter/js/j1.js +3285 -3222
  45. data/assets/themes/j1/adapter/js/lazyLoader.js +241 -222
  46. data/assets/themes/j1/adapter/js/lightbox.js +241 -241
  47. data/assets/themes/j1/adapter/js/logger.js +77 -66
  48. data/assets/themes/j1/adapter/js/lunr.js +688 -86
  49. data/assets/themes/j1/adapter/js/masonry.js +426 -411
  50. data/assets/themes/j1/adapter/js/masterslider.js +526 -527
  51. data/assets/themes/j1/adapter/js/mmenu.js +101 -66
  52. data/assets/themes/j1/adapter/js/navigator.js +291 -356
  53. data/assets/themes/j1/adapter/js/particles.js +61 -40
  54. data/assets/themes/j1/adapter/js/rangeSlider.js +65 -48
  55. data/assets/themes/j1/adapter/js/rouge.js +287 -269
  56. data/assets/themes/j1/adapter/js/rtable.js +309 -293
  57. data/assets/themes/j1/adapter/js/rtextResizer.js +57 -44
  58. data/assets/themes/j1/adapter/js/scroller.js +170 -133
  59. data/assets/themes/j1/adapter/js/slick.js +487 -485
  60. data/assets/themes/j1/adapter/js/slimSelect.js +290 -0
  61. data/assets/themes/j1/adapter/js/speak2me.js +124 -128
  62. data/assets/themes/j1/adapter/js/themeToggler.js +280 -260
  63. data/assets/themes/j1/adapter/js/{themer.js → themes.js} +145 -113
  64. data/assets/themes/j1/adapter/js/toccer.js +87 -54
  65. data/assets/themes/j1/adapter/js/translator.js +73 -70
  66. data/assets/themes/j1/adapter/js/waves.js +74 -58
  67. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +29 -11
  68. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +2 -2
  69. data/assets/themes/j1/core/js/template.js +474 -420
  70. data/assets/themes/j1/core/js/template.min.js +7 -7
  71. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  72. data/assets/themes/j1/modules/carousel/css/theme/uno.css +4 -4
  73. data/assets/themes/j1/modules/carousel/css/theme/uno.min.css +1 -1
  74. data/assets/themes/j1/modules/clipboard/js/clipboard.js +0 -1
  75. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.js +4 -4
  76. data/assets/themes/j1/modules/iconPicker/css/theme/uno.css +58 -0
  77. data/assets/themes/j1/modules/iconPicker/css/theme/uno.min.css +16 -0
  78. data/assets/themes/j1/modules/iconPicker/js/universal-icon-picker.0.js +493 -0
  79. data/assets/themes/j1/modules/iconPicker/js/universal-icon-picker.js +7 -7
  80. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-video.js +4 -4
  81. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-video.min.js +2 -10
  82. data/assets/themes/j1/modules/lunr/css/j1.css +12 -6
  83. data/assets/themes/j1/modules/lunr/css/j1.min.css +1 -1
  84. data/assets/themes/j1/modules/lunr/js/j1.js +46 -43
  85. data/assets/themes/j1/modules/lunr/js/j1.min.js +1 -1
  86. data/assets/themes/j1/modules/masterslider/js/masterslider.js +1 -1
  87. data/assets/themes/j1/modules/scroller/js/scroller.js +64 -74
  88. data/assets/themes/j1/modules/scroller/js/scroller.min.js +1 -1
  89. data/assets/themes/j1/modules/slick/slider/css/theme/uno.css +4 -4
  90. data/assets/themes/j1/modules/slick/slider/css/theme/uno.min.css +1 -1
  91. data/assets/themes/j1/modules/slimSelect/js/select.js +1865 -1821
  92. data/assets/themes/j1/modules/slimSelect/js/select.min.js +2 -1
  93. data/assets/themes/j1/modules/themeSwitcher/js/switcher.js +87 -89
  94. data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +1 -1
  95. data/assets/themes/j1/modules/videojs/js/plugins/vm/api/player.min.js +5 -7
  96. data/assets/themes/j1/modules/videojs/js/plugins/vm/api/v2.20.1/player.min.js +23 -0
  97. data/lib/j1/version.rb +1 -1
  98. data/lib/starter_web/Gemfile +2 -2
  99. data/lib/starter_web/README.md +5 -5
  100. data/lib/starter_web/_config.yml +1 -1
  101. data/lib/starter_web/_data/blocks/_panel.yml +775 -0
  102. data/lib/starter_web/_data/blocks/panel.yml +53 -53
  103. data/lib/starter_web/_data/j1_config.yml +3 -2
  104. data/lib/starter_web/_data/layouts/default.yml +0 -2
  105. data/lib/starter_web/_data/modules/_scroller.yml +102 -0
  106. data/lib/starter_web/_data/modules/carousel.yml +3 -3
  107. data/lib/starter_web/_data/modules/defaults/attics.yml +5 -5
  108. data/lib/starter_web/_data/modules/defaults/docsearch.yml +1 -1
  109. data/lib/starter_web/_data/modules/defaults/gemini.yml +204 -46
  110. data/lib/starter_web/_data/modules/defaults/{iconPicker.yml → icon_picker.yml} +6 -12
  111. data/lib/starter_web/_data/modules/defaults/lunr.yml +20 -5
  112. data/lib/starter_web/_data/modules/defaults/masterslider.yml +4 -4
  113. data/lib/starter_web/_data/modules/defaults/navigator.yml +20 -24
  114. data/lib/starter_web/_data/modules/defaults/particles.yml +3 -3
  115. data/lib/starter_web/_data/modules/defaults/slim_select.yml +54 -0
  116. data/lib/starter_web/_data/modules/defaults/{themer.yml → themes.yml} +171 -171
  117. data/lib/starter_web/_data/modules/defaults/toccer.yml +1 -1
  118. data/lib/starter_web/_data/modules/gallery.yml +33 -38
  119. data/lib/starter_web/_data/modules/gemini.yml +42 -3
  120. data/lib/starter_web/_data/modules/{iconPicker.yml → icon_picker.yml} +31 -3
  121. data/lib/starter_web/_data/modules/lunr.yml +12 -1
  122. data/lib/starter_web/_data/modules/masonry.yml +37 -38
  123. data/lib/starter_web/_data/modules/masterslider.yml +78 -95
  124. data/lib/starter_web/_data/modules/navigator_menu.yml +12 -20
  125. data/lib/starter_web/_data/modules/particles.yml +3 -3
  126. data/lib/starter_web/_data/modules/scroller.yml +3 -3
  127. data/lib/starter_web/_data/modules/slim_select.yml +110 -0
  128. data/lib/starter_web/_data/modules/{themer.yml → themes.yml} +4 -4
  129. data/lib/starter_web/_data/resources.yml +57 -47
  130. data/lib/starter_web/_data/templates/feed.xml +1 -1
  131. data/lib/starter_web/_includes/attributes.asciidoc +354 -355
  132. data/lib/starter_web/_plugins/asciidoctor/gemini-ui-block.rb +1 -1
  133. data/lib/starter_web/_plugins/asciidoctor/slim-select-block.rb +45 -0
  134. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  135. data/lib/starter_web/collections/asciidoc_skeletons/simple-post/_posts/yyyy-mm-dd-your-post-name.asciidoc +5 -2
  136. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +3 -3
  137. data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.adoc +9 -9
  138. data/lib/starter_web/collections/posts/public/featured/_posts/2021-02-01-static-site-generators.adoc +4 -4
  139. data/lib/starter_web/collections/posts/public/featured/_posts/2022-02-01-about-j1.adoc +3 -2
  140. data/lib/starter_web/collections/posts/public/featured/_posts/2023-10-18-url-types.adoc +12 -12
  141. data/lib/starter_web/package.json +1 -1
  142. data/lib/starter_web/pages/public/about/features.adoc +1 -1
  143. data/lib/starter_web/pages/public/about/reporting_issues.adoc +1 -0
  144. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/attributes.asciidoc +44 -44
  145. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.adoc +1 -0
  146. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/attributes.asciidoc +12 -12
  147. data/lib/starter_web/pages/public/blog/navigator/archive/allview.html +1 -1
  148. data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/attributes.asciidoc +42 -28
  149. data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/highlghter_rouge.adoc +1 -0
  150. data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/lunr_search.adoc +1 -0
  151. data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/present_audio_video.adoc +18 -2
  152. data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/present_images.adoc +500 -507
  153. data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +6 -11
  154. data/lib/starter_web/pages/public/legal/en/200_impress.adoc +4 -11
  155. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +5 -12
  156. data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +5 -10
  157. data/lib/starter_web/pages/public/tools/previewer/_includes/attributes.asciidoc +10 -9
  158. data/lib/starter_web/pages/public/tools/previewer/preview_bootstrap_theme.adoc +77 -75
  159. metadata +50 -46
  160. data/lib/starter_web/pages/public/manuals/integrations/gemini/_includes/attributes.asciidoc +0 -47
  161. data/lib/starter_web/pages/public/manuals/integrations/gemini/_includes/documents/preview_google_adsense.asciidoc +0 -448
  162. data/lib/starter_web/pages/public/manuals/integrations/gemini/_includes/documents/readme +0 -0
  163. data/lib/starter_web/pages/public/manuals/integrations/gemini/_includes/tables/readme +0 -0
  164. data/lib/starter_web/pages/public/manuals/integrations/gemini/gemini.adoc +0 -525
  165. data/lib/starter_web/pages/public/manuals/integrations/gemini/security.asccidoc +0 -274
  166. data/lib/starter_web/pages/public/manuals/integrations/gemini/security.hrml +0 -560
  167. /data/lib/starter_web/pages/public/{legal/learn → learn}/bookshelf/article_previewer/viewer_biography.adoc +0 -0
  168. /data/lib/starter_web/pages/public/{legal/learn → learn}/bookshelf/article_previewer/viewer_fantasy.adoc +0 -0
  169. /data/lib/starter_web/pages/public/{legal/learn → learn}/bookshelf/article_previewer/viewer_romance.adoc +0 -0
  170. /data/lib/starter_web/pages/public/{legal/learn → learn}/bookshelf/jekyll_collections.adoc +0 -0
  171. /data/lib/starter_web/pages/public/{legal/learn → learn}/bookshelf/viewer_all_books.adoc +0 -0
  172. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/100_gistblock.asciidoc +0 -0
  173. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_bottom_info.asciidoc +0 -0
  174. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_bottom_left_warning.asciidoc +0 -0
  175. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_bottom_right_danger.asciidoc +0 -0
  176. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_central_success.asciidoc +0 -0
  177. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_full_height_left_info.asciidoc +0 -0
  178. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_full_height_right_success.asciidoc +0 -0
  179. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_table_bs_modal_examples.asciidoc +0 -0
  180. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_top_info.asciidoc +0 -0
  181. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_top_left_info.asciidoc +0 -0
  182. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_top_right_success.asciidoc +0 -0
  183. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/419_advanced_modals_demo.asciidoc +0 -0
  184. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/tables/bs_modal_examples.asciidoc +0 -0
  185. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/themes_bootstrap.asciidoc +0 -0
  186. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/themes_rouge.asciidoc +0 -0
  187. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/asciidoc_extensions.adoc +0 -0
  188. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/bootstrap_themes.adoc +0 -0
  189. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/icon_fonts.adoc +0 -0
  190. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/modal_extentions.adoc +0 -0
  191. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/responsive_tables.adoc +0 -0
  192. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/typography.adoc +0 -0
  193. /data/lib/starter_web/pages/public/{legal/learn → learn}/where_to_go.adoc +0 -0
@@ -29,7 +29,7 @@ regenerate: true
29
29
  # NOTE:
30
30
  # jadams, 2020-06-21:
31
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)
32
+ # Current, only base functions are tested with BS4 (was coded for BS3)
33
33
  # -----------------------------------------------------------------------------
34
34
  # NOTE:
35
35
  # jadams, 2020-07-17:
@@ -50,10 +50,6 @@ regenerate: true
50
50
  {% assign environment = site.environment %}
51
51
  {% assign brand_image_height = site.brand.image_height %}
52
52
 
53
- {% comment %} Process YML config data
54
- ================================================================================ {% endcomment %}
55
-
56
-
57
53
  {% comment %} Set config files
58
54
  {% assign auth_manager_config = site.j1_auth %}
59
55
  -------------------------------------------------------------------------------- {% endcomment %}
@@ -61,8 +57,8 @@ regenerate: true
61
57
  {% assign blocks = site.data.blocks %}
62
58
  {% assign modules = site.data.modules %}
63
59
 
64
- {% assign themer_defaults = modules.defaults.themer.defaults %}
65
- {% assign themer_settings = modules.themer.settings %}
60
+ {% assign themes_defaults = modules.defaults.themes.defaults %}
61
+ {% assign themes_settings = modules.themes.settings %}
66
62
 
67
63
  {% assign authentication_defaults = modules.defaults.authentication.defaults %}
68
64
  {% assign authentication_settings = modules.authentication.settings %}
@@ -86,7 +82,7 @@ regenerate: true
86
82
  {% comment %} Set config options
87
83
  -------------------------------------------------------------------------------- {% endcomment %}
88
84
  {% assign authentication_options = authentication_defaults | merge: authentication_settings %}
89
- {% assign themer_options = themer_defaults | merge: themer_settings %}
85
+ {% assign themes_options = themes_defaults | merge: themes_settings %}
90
86
  {% assign nav_bar_options = nav_bar_defaults | merge: nav_bar_settings %}
91
87
  {% assign nav_menu_options = nav_menu_defaults | merge: nav_menu_settings %}
92
88
  {% assign quicklinks_options = nav_quicklinks_defaults | merge: nav_quicklinks_settings %}
@@ -147,11 +143,10 @@ ToDo: Remove configuration from j1_navigator.yml
147
143
  /* eslint indent: "off" */
148
144
  // -----------------------------------------------------------------------------
149
145
  'use strict';
150
- j1.adapter.navigator = (function (j1, window) {
146
+ j1.adapter.navigator = ((j1, window) => {
151
147
 
152
- // ---------------------------------------------------------------------------
153
- // globals
154
- // ---------------------------------------------------------------------------
148
+ {% comment %} Set global variables
149
+ ------------------------------------------------------------------------------ {% endcomment %}
155
150
  var environment = '{{environment}}';
156
151
  var dclFinished = false;
157
152
  var moduleOptions = {};
@@ -170,15 +165,24 @@ j1.adapter.navigator = (function (j1, window) {
170
165
  var colors_data_path = '{{template_config.colors_data_path}}';
171
166
  var font_size_data_path = '{{template_config.font_size_data_path}}';
172
167
 
173
-
174
168
  var cookie_names = j1.getCookieNames();
175
169
  var cookie_user_session_name = cookie_names.user_session;
176
170
 
171
+ var navigatorCoreInitialized = false;
172
+ var themesEnabled = {{themes_options.enabled}};
173
+
177
174
  var user_session = {};
178
175
  var user_session_merged = {};
179
176
  var session_state = {};
180
177
 
181
- var themerEnabled = {{themer_options.enabled}}; //was (test): false;
178
+ // switcher|state
179
+ var desktopThemesLocalLoaded = false;
180
+ var desktopThemesRemoteLoaded = false;
181
+ var mobileThemesLocalLoaded = false;
182
+ var mobileThemesRemoteLoaded = false;
183
+ var switcher;
184
+ var switcher_menu;
185
+
182
186
  var authClientEnabled;
183
187
  var appDetected;
184
188
  var json_data;
@@ -186,23 +190,29 @@ j1.adapter.navigator = (function (j1, window) {
186
190
  var logger;
187
191
  var logText;
188
192
 
193
+ // date|time
194
+ var startTime;
195
+ var endTime;
196
+ var startTimeModule;
197
+ var endTimeModule;
198
+ var timeSeconds;
189
199
 
190
200
  // ---------------------------------------------------------------------------
191
201
  // helper functions
192
202
  // ---------------------------------------------------------------------------
193
203
 
194
204
  // ---------------------------------------------------------------------------
195
- // main object
205
+ // main
196
206
  // ---------------------------------------------------------------------------
197
207
  return {
198
208
 
199
209
  // -------------------------------------------------------------------------
200
- // module initializer
210
+ // adapter initializer
201
211
  // -------------------------------------------------------------------------
202
- init: function (options) {
212
+ init: (options) => {
203
213
 
204
214
  // -----------------------------------------------------------------------
205
- // Default module settings
215
+ // default module settings
206
216
  // -----------------------------------------------------------------------
207
217
  var settings = $.extend({
208
218
  module_name: 'j1.adapter.navigator',
@@ -210,7 +220,7 @@ j1.adapter.navigator = (function (j1, window) {
210
220
  }, options);
211
221
 
212
222
  // -----------------------------------------------------------------------
213
- // Global variable settings
223
+ // global variable settings
214
224
  // -----------------------------------------------------------------------
215
225
  _this = j1.adapter.navigator;
216
226
  logger = log4javascript.getLogger('j1.adapter.navigator');
@@ -224,51 +234,42 @@ j1.adapter.navigator = (function (j1, window) {
224
234
  // options loader
225
235
  // -----------------------------------------------------------------------
226
236
  /* eslint-disable */
227
- var authConfig = {};
228
- var navDefaults = {};
229
- var navBarConfig = {};
230
- var navMenuConfig = {};
231
- var navQuicklinksConfig = {};
232
- var navAuthClientConfig = {};
233
- var navBarOptions = {};
234
- var navMenuOptions = {};
235
- var navQuicklinksOptions = {};
236
- var navAuthClientOptions = {};
237
- var navAuthMAnagerConfig = {};
238
-
239
- var user_state = {};
240
- var cookie_names = j1.getCookieNames();
241
- var cookie_user_state_name = cookie_names.user_state;
242
-
243
- var themerOptions = {};
244
- var interval_count = 0;
245
- var user_state_detected;
246
- var themes_count;
247
- var max_count = 100;
248
-
249
- var gaCookies = j1.findCookie('_ga');
250
- var j1Cookies = j1.findCookie('j1');
251
-
252
- navDefaults = $.extend({}, {{navigator_defaults | replace: '=>', ':' }});
253
- navBarConfig = $.extend({}, {{nav_bar_options | replace: '=>', ':' }});
254
- navMenuConfig = $.extend({}, {{nav_menu_options | replace: '=>', ':' }});
255
- navQuicklinksConfig = $.extend({}, {{quicklinks_options | replace: '=>', ':' }});
256
- navAuthClientConfig = $.extend({}, {{authclient_options | replace: '=>', ':' }});
257
-
258
- navAuthMAnagerConfig = $.extend({}, {{authentication_options | replace: '=>', ':' }});
259
- authClientEnabled = navAuthMAnagerConfig.enabled;
260
-
261
- themerOptions = $.extend({}, {{themer_options | replace: '=>', ':' | replace: 'nil', '""' }});
262
-
263
- // Merge|Overload module CONFIG by DEFAULTS
264
- //
265
- navBarOptions = $.extend(true, {}, navDefaults.nav_bar, navBarConfig);
266
- navMenuOptions = $.extend(true, {}, navDefaults.nav_menu, navMenuConfig);
267
- navQuicklinksOptions = $.extend(true, {}, navDefaults.nav_bar, navQuicklinksConfig,);
268
- navAuthClientConfig = $.extend(true, {}, navAuthClientConfig, navDefaults.nav_authclient);
269
-
270
- // save config settings into the adapter object for global access
271
- //
237
+ var authConfig = {};
238
+ var navDefaults = {};
239
+ var navBarConfig = {};
240
+ var navMenuConfig = {};
241
+ var navQuicklinksConfig = {};
242
+ var navAuthClientConfig = {};
243
+ var navBarOptions = {};
244
+ var navMenuOptions = {};
245
+ var navQuicklinksOptions = {};
246
+ var navAuthClientOptions = {};
247
+ var navAuthMAnagerConfig = {};
248
+
249
+ var user_state = {};
250
+ var cookie_names = j1.getCookieNames();
251
+ var cookie_user_state_name = cookie_names.user_state;
252
+
253
+ var themesOptions = {};
254
+
255
+ navDefaults = $.extend({}, {{navigator_defaults | replace: '=>', ':' }});
256
+ navBarConfig = $.extend({}, {{nav_bar_options | replace: '=>', ':' }});
257
+ navMenuConfig = $.extend({}, {{nav_menu_options | replace: '=>', ':' }});
258
+ navQuicklinksConfig = $.extend({}, {{quicklinks_options | replace: '=>', ':' }});
259
+ navAuthClientConfig = $.extend({}, {{authclient_options | replace: '=>', ':' }});
260
+
261
+ navAuthMAnagerConfig = $.extend({}, {{authentication_options | replace: '=>', ':' }});
262
+ authClientEnabled = navAuthMAnagerConfig.enabled;
263
+
264
+ themesOptions = $.extend({}, {{themes_options | replace: '=>', ':' | replace: 'nil', '""' }});
265
+
266
+ // merge|overload module CONFIG by DEFAULTS
267
+ navBarOptions = $.extend(true, {}, navDefaults.nav_bar, navBarConfig);
268
+ navMenuOptions = $.extend(true, {}, navDefaults.nav_menu, navMenuConfig);
269
+ navQuicklinksOptions = $.extend(true, {}, navDefaults.nav_bar, navQuicklinksConfig,);
270
+ navAuthClientConfig = $.extend(true, {}, navAuthClientConfig, navDefaults.nav_authclient);
271
+
272
+ // save config settings for later use
272
273
  _this['navDefaults'] = navDefaults;
273
274
  _this['navBarOptions'] = navBarOptions;
274
275
  _this['navMenuOptions'] = navMenuOptions;
@@ -276,13 +277,17 @@ j1.adapter.navigator = (function (j1, window) {
276
277
  _this['navAuthClientConfig'] = navAuthClientConfig;
277
278
  _this['navAuthManagerConfig'] = navAuthMAnagerConfig;
278
279
 
279
- // Load (individual) frontmatter options (currently NOT used)
280
- if (options != null) { var frontmatterOptions = $.extend({}, options) }
280
+ // load frontmatter options (currently NOT used)
281
+ if (options !== null) {var frontmatterOptions = $.extend({}, options)}
281
282
  /* eslint-enable */
282
283
 
284
+ // start module processing time
285
+ startTimeModule = Date.now();
286
+
283
287
  // -----------------------------------------------------------------------
284
- // Load HTML data (AJAX)
288
+ // Load dymanic HTML data (AJAX)
285
289
  // -----------------------------------------------------------------------
290
+ //
286
291
  // jadams, 202-06-24: Promise (chain) if $.when seems NOT to work correctly.
287
292
  // It seems a chain using .then will be a better solution to make it sure
288
293
  // that the last Deferred set the state to 'data_loaded'.
@@ -292,8 +297,9 @@ j1.adapter.navigator = (function (j1, window) {
292
297
  // the chain.
293
298
  // See: https://stackoverflow.com/questions/5436327/jquery-deferreds-and-promises-then-vs-done
294
299
  // authclient_xhr_data_element
300
+ //
295
301
  // -----------------------------------------------------------------------
296
- // data loader
302
+ // data loaders
297
303
  // -----------------------------------------------------------------------
298
304
  j1.loadHTML({
299
305
  xhr_container_id: navQuicklinksOptions.xhr_container_id,
@@ -314,164 +320,121 @@ j1.adapter.navigator = (function (j1, window) {
314
320
  'j1.adapter.navigator',
315
321
  'data_loaded');
316
322
 
317
- var dependencies_met_load_menu_finished = setInterval (function () {
318
- if (j1.xhrDOMState['#'+navQuicklinksOptions.xhr_container_id] === 'success' &&
319
- j1.xhrDOMState['#'+navAuthClientConfig.xhr_container_id] === 'success' &&
320
- j1.xhrDOMState['#'+navMenuOptions.xhr_container_id] === 'success' ) {
321
- // continue if all AJAX loads (loadHTML) has finished
322
- _this.setState('processing');
323
- logger.info('\n' + 'status: ' + _this.getState());
324
- logger.info('\n' + 'initialize navigator core');
325
-
326
- // Detect|Set J1 App status
327
- appDetected = j1.appDetected();
328
- authClientEnabled = j1.authEnabled();
329
- logger.info('\n' + 'application status detected: ' + appDetected);
330
-
331
- // setTimeout (function() {
332
- // j1.core.navigator.init (_this.navDefaults, _this.navMenuOptions);
333
- // }, 1000); // {{template_config.page_on_load_timeout}}
334
-
335
- j1.core.navigator.init (_this.navDefaults, _this.navMenuOptions);
336
-
337
- // load themes (to menu) if themer is enabled|finished
338
- if (themerEnabled) {
339
- logText = '\n' + 'theme switcher: enabled';
340
- logger.info(logText);
341
-
342
- // detect j1 user state cookie
343
- user_state_detected = j1.existsCookie(cookie_user_state_name);
344
-
345
-
346
- if (user_state_detected) {
347
- user_state = j1.readCookie(cookie_user_state_name);
348
- } else {
349
- logger.error('\n' + 'cookie not found: j1.user.state');
350
- logger.debug('\n' + 'j1 cookies found:' + j1Cookies.length);
351
- j1Cookies.forEach(item => console.log('j1.core.switcher: ' + item));
352
- logger.debug('\n' + 'ga cookies found:' + gaCookies.length);
353
- gaCookies.forEach(item => console.log('j1.core.switcher: ' + item));
354
- }
355
-
356
- // jadams, 2021-07-03: wait until navigator CORE get finished
357
- var dependencies_met_page_finished = setInterval(function() {
358
- if (j1.adapter.navigator.getState() == 'core_initialized') {
359
- logText = '\n' + 'load themes';
360
- logger.info(logText);
361
-
362
- // load LOCAL themes from JSON data
363
- logText = '\n' + 'load local themes (json file)';
364
- logger.info(logText);
365
- $('#local_themes').bootstrapThemeSwitcher({
366
- localFeed: themerOptions.localThemes
367
- });
368
-
369
- // load REMOTE themes from Bootswatch API (localFeed EMPTY!)
370
- $('#remote_themes').bootstrapThemeSwitcher({
371
- localFeed: '',
372
- bootswatchApiVersion: themerOptions.bootswatchApiVersion
373
- });
374
-
375
- // jadams, 2021-04-22: Up to now, it is unclear why in some
376
- // cases the menu bar is NOT fully loaded for THEMES
377
- // TODO: Add additional checks to find the reason
378
-
379
- // added same checks (as already done by adapter themer) to
380
- // check if remote theme menu detected as LOADED
381
- //
382
- var dependencies_met_remote_themes_loaded = setInterval(function() {
383
- interval_count += 1;
384
- themes_count = document.getElementById("remote_themes").getElementsByTagName("li").length;
385
- if ( themes_count > 0 ) {
386
- logger.info('\n' + 'remote themes loaded: successfully');
387
- logger.info('\n' + 'remote themes loaded: successfully after: ' + interval_count * 25 + ' ms');
388
-
389
- clearInterval(dependencies_met_remote_themes_loaded);
390
- } else {
391
- logger.debug('\n' + 'wait for theme to be loaded: ' + user_state.theme_name);
392
- }
393
- if (interval_count > max_count) {
394
- logger.warn('\n' + 'remote themes loading: failed');
395
- logger.warn('\n' + 'continue processing');
396
- clearInterval(dependencies_met_remote_themes_loaded);
397
- }
398
- clearInterval(dependencies_met_page_finished);
399
- }, 10);
400
- }
401
- // _this.setState('initialized');
402
- _this.setState('finished');
403
- }, 10); // END 'dependencies_met_page_finished'
404
- } else {
405
- logText = '\n' + 'theme switcher detected as: disabled';
406
- logger.info(logText);
407
- _this.setState('finished');
408
- }
409
-
410
- // -----------------------------------------------------------------
411
- // event handler|css styles
412
- // -----------------------------------------------------------------
413
- var dependencies_met_initialized = setInterval(function() {
414
- var pageState = $('#no_flicker').css("display");
415
- var pageVisible = (pageState == 'block') ? true: false;
416
- var atticFinished = (j1.adapter.attic.getState() == 'finished') ? true: false;
417
-
418
- // initialize if page and themer ready
419
- if (j1.getState() === 'finished' && j1.adapter.themer.getState() === 'finished' && pageVisible) {
420
- // if (j1.getState() === 'finished' && j1.adapter.themer.getState() === 'finished' && pageVisible && atticFinished) {
421
- _this.setState('processing');
422
-
423
- // apply module configuration settings
424
- _this.applyNavigatorSettings (
425
- navDefaults, navBarOptions, navMenuOptions,
426
- navQuicklinksOptions
427
- );
428
-
429
- // (static) delay applying styles until added CSS data
430
- // of the theme is processed by the browser
431
- // TODO: Check why a timeout is required to load dynamic styles in a page
432
- setTimeout (function() {
433
- // set general|global theme colors
434
- logger.info('\n' + 'initializing dynamic CSS styles');
435
- _this.applyThemeSettings (
436
- navDefaults, navBarOptions, navMenuOptions,
437
- navQuicklinksOptions
438
- );
439
- }, {{template_config.page_on_load_timeout}} );
440
-
441
- logger.info('\n' + 'init auth client');
442
- _this.initAuthClient(_this.navAuthManagerConfig);
443
-
444
- _this.setState('finished');
445
- logger.debug('\n' + 'state: ' + _this.getState());
446
- logger.info('\n' + 'module initialized successfully');
447
- logger.debug('\n' + 'met dependencies for: j1');
448
- clearInterval(dependencies_met_initialized);
449
- }
450
- }, 10); // END 'dependencies_met_initialized'
451
- logger.debug('\n' + 'met dependencies for: themer');
452
- clearInterval(dependencies_met_load_menu_finished);
453
- }
454
- }, 10); // END 'dependencies_met_load_menu_finished'
455
-
456
- // --------------------------------------------------------------------
457
- // Register event 'reset on resize' to call j1.core.navigator on
458
- // manageDropdownMenu to manage the (current) NAV menu for
459
- // desktop or mobile
460
- // ---------------------------------------------------------------------
461
- $(window).on('resize', function() {
462
- j1.core.navigator.manageDropdownMenu(navDefaults, navMenuOptions);
463
-
464
- // Manage sticky NAV bars
465
- // TODO: Check why a timeout is required to manage sticky NAV bars on RESIZE a page
466
- setTimeout (function() {
467
- j1.core.navigator.navbarSticky();
468
- }, 500);
469
-
470
- // Scroll the page one pixel back and forth to get
471
- // the right position for the toccer
472
- $(window).scrollTop($(window).scrollTop()+1);
473
- $(window).scrollTop($(window).scrollTop()-1);
474
- });
323
+ // initialize navigator core
324
+ var dependencies_met_html_loaded = setInterval(() => {
325
+ var htmloaded = (j1.xhrDOMState['#'+navQuicklinksOptions.xhr_container_id] === 'success'
326
+ && j1.xhrDOMState['#'+navAuthClientConfig.xhr_container_id] === 'success'
327
+ && j1.xhrDOMState['#'+navMenuOptions.xhr_container_id] === 'success') ? true : false;
328
+
329
+ // initialize navigator core if all AJAX loads finished
330
+ if (htmloaded) {
331
+
332
+ _this.setState('started');
333
+ logger.debug('\n' + 'set module state to: ' + _this.getState());
334
+ logger.info('\n' + 'initializing module: started');
335
+
336
+ logger.info('\n' + 'initialize navigator core: started');
337
+ j1.core.navigator.init (_this.navDefaults, _this.navMenuOptions);
338
+
339
+ clearInterval(dependencies_met_html_loaded);
340
+ } // END if htmloaded
341
+ }, 10); // END dependencies_met_navigator_core_initialized
342
+
343
+ if (themesEnabled) {
344
+ logger.info('\n' + 'themes detected: enabled');
345
+ logger.info('\n' + 'loading themes menu: started');
346
+ // load
347
+ var dependencies_met_navigator_core_initialized = setInterval(() => {
348
+ if (navigatorCoreInitialized) {
349
+ logger.info('\n' + 'initialize navigator core: finished');
350
+ logger.info('\n' + 'loading theme menu: started');
351
+
352
+ // load LOCAL themes (switcher)
353
+ logger.debug('\n' + 'load local themes to menu');
354
+ $('#local_themes').ThemeSwitcher({
355
+ localFeed: themesOptions.localThemes
356
+ });
357
+
358
+ // load REMOTE themes (switcher)
359
+ logger.debug('\n' + 'load remote themes to menu');
360
+ $('#remote_themes').ThemeSwitcher({
361
+ localFeed: '',
362
+ bootswatchApiVersion: themesOptions.bootswatchApiVersion
363
+ });
364
+
365
+ clearInterval(dependencies_met_navigator_core_initialized);
366
+ } // END if navigatorCoreInitialized
367
+ }, 10); // END dependencies_met_navigator_core_initialized
368
+ } // END if themesEnabled
369
+
370
+ // -------------------------------------------------------------------
371
+ // final initialization
372
+ // -------------------------------------------------------------------
373
+ var dependencies_met_module_initialized = setInterval (() => {
374
+ var pageState = $('#content').css("display");
375
+ var pageVisible = (pageState === 'block') ? true: false;
376
+ var j1CoreFinished = (j1.getState() === 'finished') ? true: false;
377
+
378
+ {% if themes_options.enabled %}
379
+ var themesFinished = (j1.adapter.themes.getState() === 'finished') ? true: false;
380
+ var themeMenuLoaded = (desktopThemesLocalLoaded && desktopThemesRemoteLoaded) ? true: false;
381
+
382
+ if (pageVisible && j1CoreFinished && themesFinished && themeMenuLoaded) {
383
+ {% else %}
384
+ if (pageVisible && j1CoreFinished) {
385
+ {% endif %}
386
+
387
+ // apply Navigator configuration settings
388
+ logger.info('\n' + 'apply configuration settings');
389
+ _this.applyNavigatorSettings (
390
+ navDefaults, navBarOptions,
391
+ navMenuOptions, navQuicklinksOptions
392
+ );
393
+
394
+ // apply general|global theme CSS settings
395
+ logger.info('\n' + 'apply CSS styles');
396
+ _this.applyThemeSettings (
397
+ navDefaults, navBarOptions, navMenuOptions,
398
+ navQuicklinksOptions
399
+ );
400
+
401
+ // detect J1 App state
402
+ appDetected = j1.appDetected();
403
+ authClientEnabled = j1.authEnabled();
404
+ if (appDetected && authClientEnabled) {
405
+ logger.debug('\n' + 'application status detected: ' + appDetected);
406
+ logger.debug('\n' + 'init auth client');
407
+
408
+ _this.initAuthClient(_this.navAuthManagerConfig);
409
+ } // END if
410
+
411
+ // ----------------------------------------------------------------------
412
+ // Register event 'reset on resize' to call j1.core.navigator on
413
+ // manageDropdownMenu to manage the (current) NAV menu for
414
+ // desktop or mobile
415
+ // -----------------------------------------------------------------------
416
+ $(window).on('resize', function () {
417
+ j1.core.navigator.manageDropdownMenu(navDefaults, navMenuOptions);
418
+
419
+ // Manage sticky NAV bars
420
+ j1.core.navigator.navbarSticky();
421
+
422
+ // Scroll the page one pixel back and forth to get
423
+ // the right position for the toccer
424
+ $(window).scrollTop($(window).scrollTop()+1);
425
+ $(window).scrollTop($(window).scrollTop()-1);
426
+ });
427
+
428
+ _this.setState('finished');
429
+ logger.debug('\n' + 'state: ' + _this.getState());
430
+ logger.info('\n' + 'initializing module: finished');
431
+
432
+ endTimeModule = Date.now();
433
+ logger.info('\n' + 'module initializing time: ' + (endTimeModule-startTimeModule) + 'ms');
434
+
435
+ clearInterval(dependencies_met_module_initialized);
436
+ } // END if
437
+ }, 10); // END dependencies_met_module_initialized
475
438
  }, // END init
476
439
 
477
440
  // -------------------------------------------------------------------------
@@ -480,13 +443,14 @@ j1.adapter.navigator = (function (j1, window) {
480
443
  // All updates on Cookies are managed by Cookie Consent.
481
444
  // To be considered to re-add cookie updates for the auth state
482
445
  // -------------------------------------------------------------------------
483
- initAuthClient: function(auth_config) {
484
- var logger = log4javascript.getLogger('j1.adapter.navigator.initAuthClient');
485
- var user_session = j1.readCookie(cookie_user_session_name);
446
+ initAuthClient: (auth_config) => {
447
+ var logger = log4javascript.getLogger('j1.adapter.navigator.initAuthClient');
448
+ var user_session = j1.readCookie(cookie_user_session_name);
486
449
 
487
450
  _this.modalEventHandler(auth_config);
488
451
 
489
452
  if (j1.appDetected() && j1.authEnabled()) {
453
+
490
454
  // Toggle/Set SignIn/SignOut icon|link in QuickLinks
491
455
  // See: https://stackoverflow.com/questions/13524107/how-to-set-data-attributes-in-html-elements
492
456
  if (user_session.authenticated === 'true') {
@@ -508,7 +472,7 @@ j1.adapter.navigator = (function (j1, window) {
508
472
  // Manage button click events for all BS Modals
509
473
  // See: https://www.nickang.com/add-event-listener-for-loop-problem-in-javascript/
510
474
  // -------------------------------------------------------------------------
511
- modalEventHandler: function (options) {
475
+ modalEventHandler: (options) => {
512
476
  // var logger = log4javascript.getLogger('j1.adapter.navigator.EventHandler');
513
477
  var authConfig = options.j1_auth;
514
478
  var route;
@@ -529,20 +493,27 @@ j1.adapter.navigator = (function (j1, window) {
529
493
  do: false
530
494
  };
531
495
 
532
- logText = '\n' + 'initialize button click events';
496
+ logText = '\n' + 'initialize button click events (modals)';
533
497
  logger.info(logText);
534
498
 
535
499
  // Manage button click events for modal "signInOutButton"
536
500
  // -----------------------------------------------------------------------
537
501
  $('ul.nav-pills > li').click(function (e) {
502
+ // suppress default actions|bubble up
538
503
  e.preventDefault();
504
+ e.stopPropagation();
505
+
539
506
  // jadams, 2019-07-30: To be checked if needed
540
507
  signIn.provider = $(this).text().trim();
541
508
  signIn.provider = signIn.provider.toLowerCase();
542
509
  signIn.allowed_users = signIn.users.toString();
543
510
  });
544
511
 
545
- $('a.btn').click(function() {
512
+ $('a.btn').click(function (e) {
513
+ // suppress default actions|bubble up
514
+ e.preventDefault();
515
+ e.stopPropagation();
516
+
546
517
  if (this.id === 'signInButton') {
547
518
  signIn.do = true;
548
519
  } else {
@@ -556,9 +527,12 @@ j1.adapter.navigator = (function (j1, window) {
556
527
  });
557
528
 
558
529
  $('input:checkbox[name="providerSignOut"]').on('click', function (e) {
530
+ // suppress default actions|bubble up
531
+ e.preventDefault();
559
532
  e.stopPropagation();
533
+
560
534
  signOut.providerSignOut = $('input:checkbox[name="providerSignOut"]').is(':checked');
561
- if(environment === 'development') {
535
+ if (environment === 'development') {
562
536
  logText = '\n' + 'provider signout set to: ' + signOut.providerSignOut;
563
537
  logger.info(logText);
564
538
  }
@@ -566,8 +540,9 @@ j1.adapter.navigator = (function (j1, window) {
566
540
 
567
541
  // Manage pre events on modal "modalOmniSignIn"
568
542
  // -----------------------------------------------------------------------
569
- $('#modalOmniSignOut').on('show.bs.modal', function() {
543
+ $('#modalOmniSignOut').on('show.bs.modal', function () {
570
544
  var modal = $(this);
545
+
571
546
  logger.info('\n' + 'place current user data');
572
547
  user_session = j1.readCookie(cookie_user_session_name);
573
548
  modal.find('.user-info').text('You are signed in to provider: ' + user_session.provider);
@@ -575,8 +550,8 @@ j1.adapter.navigator = (function (j1, window) {
575
550
 
576
551
  // Manage post events on modal "modalOmniSignIn"
577
552
  // -----------------------------------------------------------------------
578
- $('#modalOmniSignIn').on('hidden.bs.modal', function() {
579
- if (signIn.do == true) {
553
+ $('#modalOmniSignIn').on('hidden.bs.modal', function () {
554
+ if (signIn.do === true) {
580
555
  provider = signIn.provider.toLowerCase();
581
556
  allowed_users = signIn.users.toString();
582
557
  logText = '\n' + 'provider detected: ' + provider;
@@ -597,8 +572,8 @@ j1.adapter.navigator = (function (j1, window) {
597
572
 
598
573
  // Manage post events on modal "modalOmniSignOut"
599
574
  // -----------------------------------------------------------------------
600
- $('#modalOmniSignOut').on('hidden.bs.modal', function() {
601
- if (signOut.do == true) {
575
+ $('#modalOmniSignOut').on('hidden.bs.modal', function () {
576
+ if (signOut.do === true) {
602
577
  logger.info('\n' + 'load active provider from cookie: ' + cookie_user_session_name);
603
578
 
604
579
  user_session = j1.readCookie(cookie_user_session_name);
@@ -623,7 +598,7 @@ j1.adapter.navigator = (function (j1, window) {
623
598
  }
624
599
  }); // END post events "modalSignOut"
625
600
 
626
- logText = '\n' + 'initialize button click events completed';
601
+ logText = '\n' + 'initialize button click events (modals) completed';
627
602
  logger.info(logText);
628
603
 
629
604
  return true;
@@ -633,12 +608,11 @@ j1.adapter.navigator = (function (j1, window) {
633
608
  // applyThemeSettings
634
609
  // Apply CSS styles from current theme
635
610
  // -------------------------------------------------------------------------
636
- applyThemeSettings: function (navDefaults, navBarOptions, navMenuOptions, navQuicklinksOptions) {
637
-
638
- var logger = log4javascript.getLogger('j1.adapter.navigator.applyThemeSettings');
639
- var gridBreakpoint_lg = '992px';
640
- var gridBreakpoint_md = '768px';
641
- var gridBreakpoint_sm = '576px';
611
+ applyThemeSettings: (navDefaults, navBarOptions, navMenuOptions, navQuicklinksOptions) => {
612
+ var logger = log4javascript.getLogger('j1.adapter.navigator.applyThemeSettings');
613
+ var gridBreakpoint_lg = '992px';
614
+ var gridBreakpoint_md = '768px';
615
+ var gridBreakpoint_sm = '576px';
642
616
 
643
617
  var navbar_scrolled_color;
644
618
  var navbar_scrolled_style;
@@ -650,26 +624,22 @@ j1.adapter.navigator = (function (j1, window) {
650
624
  // -----------------------------------------------------------------------
651
625
 
652
626
  // read current background colors
653
- var bg_primary = $('#bg-primary').css('background-color');
654
- var bg_table = $('body').css('background-color');
627
+ var bg_primary = $('#bg-primary').css('background-color');
628
+ var bg_table = $('body').css('background-color');
655
629
 
656
630
  // set navbar background colors
657
- bg_scrolled = bg_primary;
658
- bg_collapsed = bg_primary;
631
+ bg_scrolled = bg_primary;
632
+ bg_collapsed = bg_primary;
659
633
 
660
634
  // navBar styles
661
- // -----------------------------------------------------------------------
662
-
663
635
  var navPrimaryColor = navDefaults.nav_primary_color;
664
636
 
665
637
  if (navBarOptions.background_color_scrolled == 'default' ) {
666
638
  navbar_scrolled_color = bg_primary;
667
639
  } else {
668
- // navbar_scrolled_color = '#212529';
669
640
  navbar_scrolled_color = navBarOptions.background_color_scrolled;
670
641
  }
671
642
 
672
-
673
643
  navbar_scrolled_style = '<style id="navbar_scrolled_color">';
674
644
  navbar_scrolled_style += ' .navbar-scrolled {';
675
645
  navbar_scrolled_style += ' background-color: ' + navbar_scrolled_color + ' !important;';
@@ -679,23 +649,18 @@ j1.adapter.navigator = (function (j1, window) {
679
649
  $('head').append(navbar_scrolled_style);
680
650
 
681
651
  // set current body background color for all tables
682
- // -----------------------------------------------------------------------
683
652
  $('table').css('background', bg_table);
684
653
 
654
+ logger.debug('\n' + 'set dynamic styles for the theme');
685
655
 
686
- logger.info('\n' + 'set dynamic styles for the theme loaded');
687
-
688
- // Set|Resolve navMenuOptions
689
- // ------------------------------------------------------------------------
656
+ // set|resolve navMenuOptions
690
657
  navMenuOptions.dropdown_font_size = navMenuOptions.dropdown_font_size;
691
658
  navMenuOptions.megamenu_font_size = navMenuOptions.megamenu_font_size;
692
659
 
693
- // Set|Resolve navBarOptions
694
- // -----------------------------------------------------------------------
660
+ // set|resolve navBarOptions
695
661
  navBarOptions.background_color_full = navBarOptions.background_color_full;
696
662
 
697
- // Set|Resolve navMenuOptions
698
- // -----------------------------------------------------------------------
663
+ // set|resolve navMenuOptions
699
664
  navMenuOptions.menu_item_color = navMenuOptions.menu_item_color;
700
665
  navMenuOptions.menu_item_color_hover = navMenuOptions.menu_item_color_hover;
701
666
  navMenuOptions.menu_item_dropdown_color = navMenuOptions.menu_item_dropdown_color;
@@ -704,14 +669,12 @@ j1.adapter.navigator = (function (j1, window) {
704
669
  navMenuOptions.dropdown_background_color_active = navMenuOptions.dropdown_background_color_active;
705
670
  navMenuOptions.dropdown_border_color = navMenuOptions.dropdown_border_color;
706
671
 
707
- // Set|Resolve navQuicklinksOptions
708
- // -----------------------------------------------------------------------
672
+ // set|resolve navQuicklinksOptions
709
673
  navQuicklinksOptions.icon_color = navQuicklinksOptions.icon_color;
710
674
  navQuicklinksOptions.icon_color_hover = navQuicklinksOptions.icon_color_hover;
711
675
  navQuicklinksOptions.background_color = navQuicklinksOptions.background_color;
712
676
 
713
- // Timeline styles
714
- // -----------------------------------------------------------------------
677
+ // timeline styles
715
678
  style = '<style>';
716
679
  style += ' .timeline > li > .timeline-panel:after {';
717
680
  style += ' border-left: 14px solid ' + bg_scrolled + ';';
@@ -727,8 +690,7 @@ j1.adapter.navigator = (function (j1, window) {
727
690
  style += '</style>';
728
691
  $('head').append(style);
729
692
 
730
- // Heading styles
731
- // -----------------------------------------------------------------------
693
+ // heading styles
732
694
  style = '<style>';
733
695
  style += ' .heading:after {';
734
696
  style += ' background: ' + bg_scrolled + ' !important;';
@@ -736,8 +698,7 @@ j1.adapter.navigator = (function (j1, window) {
736
698
  style += '</style>';
737
699
  $('head').append(style);
738
700
 
739
- // Tag Cloud styles
740
- // -----------------------------------------------------------------------
701
+ // cloud tag styles
741
702
  style = '<style>';
742
703
  style += ' .tag-cloud ul li a {';
743
704
  style += ' background: ' + bg_scrolled + ' !important;';
@@ -745,8 +706,7 @@ j1.adapter.navigator = (function (j1, window) {
745
706
  style += '</style>';
746
707
  $('head').append(style);
747
708
 
748
- // Toccer styles
749
- // -----------------------------------------------------------------------
709
+ // toccer styles
750
710
  style = '<style>';
751
711
  style += ' .is-active-link::before {';
752
712
  style += ' background-color: ' + bg_scrolled + ' !important;';
@@ -754,8 +714,7 @@ j1.adapter.navigator = (function (j1, window) {
754
714
  style += '</style>';
755
715
  $('head').append(style);
756
716
 
757
- // BS extended Modal styles
758
- // -----------------------------------------------------------------------
717
+ // extended modal styles
759
718
  style = '<style>';
760
719
  style += ' .modal-dialog.modal-notify.modal-primary .modal-header {';
761
720
  style += ' background-color: ' + bg_scrolled + ' !important;';
@@ -763,8 +722,7 @@ j1.adapter.navigator = (function (j1, window) {
763
722
  style += '</style>';
764
723
  $('head').append(style);
765
724
 
766
- // BS nav|pills styles
767
- // -----------------------------------------------------------------------
725
+ // nav|pills styles
768
726
  style = '<style>';
769
727
  style += ' .nav-pills .nav-link.active, .nav-pills .show > .nav-link {';
770
728
  style += ' background-color: ' + bg_scrolled + ' !important;';
@@ -775,13 +733,11 @@ j1.adapter.navigator = (function (j1, window) {
775
733
  return true;
776
734
  }, // END applyThemeSettings
777
735
 
778
-
779
736
  // -------------------------------------------------------------------------
780
737
  // applyNavigatorSettings
781
738
  // Apply settings from configuration
782
739
  // -------------------------------------------------------------------------
783
- applyNavigatorSettings: function (navDefaults, navBarOptions, navMenuOptions, navQuicklinksOptions) {
784
-
740
+ applyNavigatorSettings: (navDefaults, navBarOptions, navMenuOptions, navQuicklinksOptions) => {
785
741
  var logger = log4javascript.getLogger('j1.adapter.navigator.applyThemeSettings');
786
742
  var gridBreakpoint_lg = '992px';
787
743
  var gridBreakpoint_md = '768px';
@@ -799,19 +755,16 @@ j1.adapter.navigator = (function (j1, window) {
799
755
 
800
756
  $('head').append(navbar_scrolled_style);
801
757
 
802
- logger.info('\n' + 'set dynamic styles for the theme loaded');
758
+ logger.debug('\n' + 'set dynamic styles');
803
759
 
804
- // Set|Resolve navMenuOptions
805
- // ------------------------------------------------------------------------
760
+ // set|resolve navMenuOptions
806
761
  navMenuOptions.dropdown_font_size = navMenuOptions.dropdown_font_size;
807
762
  navMenuOptions.megamenu_font_size = navMenuOptions.megamenu_font_size;
808
763
 
809
- // Set|Resolve navBarOptions
810
- // -----------------------------------------------------------------------
764
+ // set|resolve navBarOptions
811
765
  navBarOptions.background_color_full = navBarOptions.background_color_full;
812
766
 
813
- // Set|Resolve navMenuOptions
814
- // -----------------------------------------------------------------------
767
+ // set|resolve navMenuOptions
815
768
  navMenuOptions.menu_item_color = navMenuOptions.menu_item_color;
816
769
  navMenuOptions.menu_item_color_hover = navMenuOptions.menu_item_color_hover;
817
770
  navMenuOptions.menu_item_dropdown_color = navMenuOptions.menu_item_dropdown_color;
@@ -820,21 +773,18 @@ j1.adapter.navigator = (function (j1, window) {
820
773
  navMenuOptions.dropdown_background_color_active = navMenuOptions.dropdown_background_color_active;
821
774
  navMenuOptions.dropdown_border_color = navMenuOptions.dropdown_border_color;
822
775
 
823
- // Set|Resolve navQuicklinksOptions
824
- // -----------------------------------------------------------------------
776
+ // set|resolve navQuicklinksOptions
825
777
  navQuicklinksOptions.icon_color = navQuicklinksOptions.icon_color;
826
778
  navQuicklinksOptions.icon_color_hover = navQuicklinksOptions.icon_color_hover;
827
779
  navQuicklinksOptions.background_color = navQuicklinksOptions.background_color;
828
780
 
829
- // Set dymanic styles
830
- // -----------------------------------------------------------------------
781
+ // set dymanic styles
831
782
  var style;
832
783
 
833
784
  // read current background colors
834
785
  var bg_primary = $('#bg-primary').css('background-color');
835
786
  var bg_table = $('body').css('background-color');
836
787
 
837
-
838
788
  // set navbar background colors
839
789
  var bg_scrolled = bg_primary;
840
790
  var bg_collapsed = bg_primary;
@@ -881,9 +831,7 @@ j1.adapter.navigator = (function (j1, window) {
881
831
  // jadams, 2023-02-26: navicon settings
882
832
  style = '<style>';
883
833
  style += ' .nav-icon {';
884
- // style += ' color: ' + navQuicklinksOptions.icon_color + ' !important;';
885
834
  style += ' color: ' + navQuicklinksOptions.icon_color + ';';
886
- quicklinks
887
835
  style += ' }';
888
836
  style += '</style>';
889
837
  $('head').append(style);
@@ -891,13 +839,11 @@ j1.adapter.navigator = (function (j1, window) {
891
839
  // jadams, 2023-02-26: navicon settings
892
840
  style = '<style>';
893
841
  style += ' .nav-icon:hover {';
894
- // style += ' color: ' + navQuicklinksOptions.icon_color_hover + ' !important;';
895
842
  style += ' color: ' + navQuicklinksOptions.icon_color_hover + ';';
896
843
  style += ' }';
897
844
  style += '</style>';
898
845
  $('head').append(style);
899
846
 
900
- // $('head').append('<style>.mdi-bg-primary {color: ' +bg_scrolled+ ';}</style>');
901
847
  style = '<style>';
902
848
  style += ' var(--bg-primary) {';
903
849
  style += ' color: ' + bg_scrolled;
@@ -905,8 +851,7 @@ j1.adapter.navigator = (function (j1, window) {
905
851
  style += '</style>';
906
852
  $('head').append(style);
907
853
 
908
- // Size of brand image
909
- // $('head').append('<style>.navbar-brand > img { height: {{brand_image_height}}px !important; }</style>');
854
+ // size of brand image
910
855
  style = '<style>';
911
856
  style += ' .navbar-brand > img {';
912
857
  style += ' height: {{brand_image_height}}px !important;';
@@ -914,8 +859,7 @@ j1.adapter.navigator = (function (j1, window) {
914
859
  style += '</style>';
915
860
  $('head').append(style);
916
861
 
917
- // Navbar transparent-light (light)
918
- // $('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>');
862
+ // navbar transparent-light (light)
919
863
  style = '<style>';
920
864
  style += ' @media screen and (min-width: ' + gridBreakpoint_lg + ') {';
921
865
  style += ' nav.navbar.navigator.navbar-transparent.light {';
@@ -926,7 +870,6 @@ j1.adapter.navigator = (function (j1, window) {
926
870
  style += '</style>';
927
871
  $('head').append(style);
928
872
 
929
- // $('head').append('<style>@media (min-width: ' +gridBreakpoint_lg+ ') { nav.navbar.navigator.navbar-scrolled.light { background-color: ' +bg_scrolled+ ' !important; } }</style>');
930
873
  // style = '<style>';
931
874
  // style += ' @media screen and (min-width: ' + gridBreakpoint_lg + ') {';
932
875
  // style += ' nav.navbar.navigator.navbar-scrolled.light {';
@@ -936,7 +879,6 @@ j1.adapter.navigator = (function (j1, window) {
936
879
  // style += '</style>';
937
880
  // $('head').append(style);
938
881
 
939
- // $('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>');
940
882
  style = '<style id="dynNav">';
941
883
  style += ' @media screen and (max-width: ' + gridBreakpoint_md + ') {';
942
884
  style += ' nav.navbar.navigator.navbar-transparent.light {';
@@ -947,7 +889,6 @@ j1.adapter.navigator = (function (j1, window) {
947
889
  style += '</style>';
948
890
  $('head').append(style);
949
891
 
950
- // $('head').append('<style id="dynNav">@media (max-width: ' +gridBreakpoint_md+ ') { nav.navbar.navigator.navbar-scrolled.light { background-color: ' +bg_scrolled+ ' !important; } }</style>');
951
892
  // style = '<style id="dynNav">';
952
893
  // style += ' @media screen and (max-width: ' + gridBreakpoint_md + ') {';
953
894
  // style += ' nav.navbar.navigator.navbar-scrolled.light {';
@@ -957,7 +898,6 @@ j1.adapter.navigator = (function (j1, window) {
957
898
  // style += '</style>';
958
899
  // $('head').append(style);
959
900
 
960
- // $('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>');
961
901
  style = '<style id="dynNav">';
962
902
  style += ' @media screen and (min-width: ' + gridBreakpoint_md + ') {';
963
903
  style += ' nav.navbar.navigator.navbar-transparent.light {';
@@ -968,7 +908,6 @@ j1.adapter.navigator = (function (j1, window) {
968
908
  style += '</style>';
969
909
  $('head').append(style);
970
910
 
971
- // $('head').append('<style id="dynNav">@media (min-width: ' +gridBreakpoint_md+ ') { nav.navbar.navigator.navbar-scrolled.light { background-color: ' +bg_scrolled+ ' !important; } }</style>');
972
911
  // style = '<style id="dynNav">';
973
912
  // style += ' @media screen and (min-width: ' + gridBreakpoint_md + ') {';
974
913
  // style += ' nav.navbar.navigator.navbar-scrolled.light {';
@@ -978,7 +917,6 @@ j1.adapter.navigator = (function (j1, window) {
978
917
  // style += '</style>';
979
918
  // $('head').append(style);
980
919
 
981
- // $('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>');
982
920
  style = '<style id="dynNav">';
983
921
  style += ' @media screen and (max-width: ' + gridBreakpoint_sm + ') {';
984
922
  style += ' nav.navbar.navigator.navbar-transparent.light {';
@@ -989,7 +927,6 @@ j1.adapter.navigator = (function (j1, window) {
989
927
  style += '</style>';
990
928
  $('head').append(style);
991
929
 
992
- // $('head').append('<style id="dynNav">@media (max-width: ' +gridBreakpoint_sm+ ') { nav.navbar.navigator.navbar-scrolled.light { background-color: ' +bg_scrolled+ ' !important; } }</style>');
993
930
  // style = '<style id="dynNav">';
994
931
  // style += ' @media screen and (max-width: ' + gridBreakpoint_sm + ') {';
995
932
  // style += ' nav.navbar.navigator.navbar-scrolled.light {';
@@ -999,10 +936,7 @@ j1.adapter.navigator = (function (j1, window) {
999
936
  // style += '</style>';
1000
937
  // $('head').append(style);
1001
938
 
1002
-
1003
- // navQuicklinks styles
1004
- // -----------------------------------------------------------------------
1005
- // $('head').append('<style>.quicklink-nav> ul > li > a { color: ' +navQuicklinksOptions.icon_color+ ' !important; }</style>');
939
+ // quick link styles
1006
940
  style = '<style>';
1007
941
  style += ' .quicklink-nav> ul > li > a {';
1008
942
  style += ' color: ' + navQuicklinksOptions.icon_color + ' !important;';
@@ -1010,7 +944,6 @@ j1.adapter.navigator = (function (j1, window) {
1010
944
  style += '</style>';
1011
945
  $('head').append(style);
1012
946
 
1013
- // $('head').append('<style>.quicklink-nav> ul > li > a:hover { color: ' +navQuicklinksOptions.icon_color_hover+ ' !important; }</style>');
1014
947
  style = '<style>';
1015
948
  style += ' .quicklink-nav> ul > li > a:hover {';
1016
949
  style += ' color: ' + navQuicklinksOptions.icon_color_hover + ' !important;';
@@ -1018,11 +951,8 @@ j1.adapter.navigator = (function (j1, window) {
1018
951
  style += '</style>';
1019
952
  $('head').append(style);
1020
953
 
1021
-
1022
- // navMenu styles
954
+ // nav menu styles
1023
955
  // -----------------------------------------------------------------------
1024
-
1025
- // $('head').append('<style>.dropdown-menu > .active > a { background-color: transparent !important; }</style>');
1026
956
  // Remove background for anchor
1027
957
  style = '<style>';
1028
958
  style += ' .dropdown-menu > .active > a {';
@@ -1031,7 +961,6 @@ j1.adapter.navigator = (function (j1, window) {
1031
961
  style += '</style>';
1032
962
  $('head').append(style);
1033
963
 
1034
- // $('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>');
1035
964
  // hover menu-item|menu-sub-item
1036
965
  style = '<style>';
1037
966
  style += ' @media screen and (min-width: ' + gridBreakpoint_lg + ') {';
@@ -1045,8 +974,7 @@ j1.adapter.navigator = (function (j1, window) {
1045
974
  style += '</style>';
1046
975
  $('head').append(style);
1047
976
 
1048
- // $('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>');
1049
- // Limit 1st dropdown item width
977
+ // limit 1st dropdown item width
1050
978
  style = '<style>';
1051
979
  style += ' @media screen and (min-width: ' + gridBreakpoint_lg + ') {';
1052
980
  style += ' nav.navbar.navigator ul.nav.navbar-right .dropdown-menu .dropdown-menu {';
@@ -1056,8 +984,7 @@ j1.adapter.navigator = (function (j1, window) {
1056
984
  style += '</style>';
1057
985
  $('head').append(style);
1058
986
 
1059
- // Set dropdown item colors
1060
- // $('head').append('<style>@media (min-width: ' +gridBreakpoint_lg+ ') { nav.navbar.navigator ul.nav > li > a { color: ' +navMenuOptions.menu_item_color+ ' !important; } }</style>');
987
+ // set dropdown item colors
1061
988
  style = '<style>';
1062
989
  style += ' @media screen and (min-width: ' + gridBreakpoint_lg + ') {';
1063
990
  style += ' nav.navbar.navigator ul.nav > li > a {';
@@ -1066,7 +993,6 @@ j1.adapter.navigator = (function (j1, window) {
1066
993
  style += ' }';
1067
994
  style += '</style>';
1068
995
 
1069
- // $('head').append('<style>@media (min-width: ' +gridBreakpoint_lg+ ') { nav.navbar.navigator ul.nav > li > a:hover { color: ' +navMenuOptions.menu_item_color_hover+ ' !important; } }</style>');
1070
996
  style = '<style>';
1071
997
  style += ' @media screen and (min-width: ' + gridBreakpoint_lg + ') {';
1072
998
  style += ' nav.navbar.navigator ul.nav > li > a:hover {';
@@ -1075,17 +1001,16 @@ j1.adapter.navigator = (function (j1, window) {
1075
1001
  style += ' }';
1076
1002
  style += '</style>';
1077
1003
 
1078
- // $('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: #616161 !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>');
1079
1004
  // 1st level dropdown menu styles
1080
1005
  style = '<style>';
1081
1006
  style += ' @media screen and (min-width: ' + gridBreakpoint_lg + ') {';
1082
1007
  style += ' nav.navbar.navigator li.dropdown ul.dropdown-menu {';
1083
1008
  style += ' max-height: ' + navMenuOptions.dropdown_menu_max_height + 'rem !important;';
1084
1009
  style += ' animation-duration: ' + navMenuOptions.dropdown_animate_duration + 's !important;';
1085
- // style += ' color: #616161 !important;';
1086
1010
  style += ' min-width: ' + navMenuOptions.dropdown_item_min_width + 'rem !important;';
1087
1011
  style += ' border-top: solid ' + navMenuOptions.dropdown_border_top + 'px !important;';
1088
1012
  style += ' border-radius: ' + navMenuOptions.dropdown_border_radius + 'px !important;';
1013
+
1089
1014
  // jadams, 2023-12-22: overwrite "margin-top" default of dropdown-menu[data-bs-popper]
1090
1015
  style += ' margin-top: 0;';
1091
1016
  style += ' left: 0;';
@@ -1094,8 +1019,7 @@ j1.adapter.navigator = (function (j1, window) {
1094
1019
  style += '</style>';
1095
1020
  $('head').append(style);
1096
1021
 
1097
- // $('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>');
1098
- // Limit last (2nd) dropdown in height
1022
+ // limit last (2nd) dropdown in height
1099
1023
  style = '<style>';
1100
1024
  style += ' @media screen and (min-width: ' + gridBreakpoint_lg + ') {';
1101
1025
  style += ' nav.navbar.navigator li.dropdown ul.dropdown-menu ul.dropdown-menu {';
@@ -1106,7 +1030,6 @@ j1.adapter.navigator = (function (j1, window) {
1106
1030
  style += '</style>';
1107
1031
 
1108
1032
  {% if dropdown_style == 'raised' %}
1109
- // $('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>');
1110
1033
  style = '<style>';
1111
1034
  style += ' @media screen and (min-width: ' + gridBreakpoint_lg + ') {';
1112
1035
  style += ' nav.navbar.navigator li.dropdown ul.dropdown-menu {';
@@ -1117,7 +1040,6 @@ j1.adapter.navigator = (function (j1, window) {
1117
1040
  $('head').append(style);
1118
1041
  {% endif %}
1119
1042
 
1120
- // $('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>');
1121
1043
  // configure dropdown_font_size|color
1122
1044
  // style = '<style>';
1123
1045
  // style += ' @media screen and (min-width: ' + gridBreakpoint_lg + ') {';
@@ -1130,11 +1052,9 @@ j1.adapter.navigator = (function (j1, window) {
1130
1052
  // style += '</style>';
1131
1053
  // $('head').append(style);
1132
1054
 
1133
- // $('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>');
1134
1055
  style = '<style>';
1135
1056
  style += ' @media screen and (min-width: ' + gridBreakpoint_lg + ') {';
1136
1057
  style += ' nav.navbar.navigator ul.dropdown-menu.megamenu-content .content ul.menu-col li a {';
1137
- // style += ' color: ' + navMenuOptions.dropdown_item_color + ' !important;';
1138
1058
  style += ' font-size: ' + navMenuOptions.megamenu_font_size + ' !important;';
1139
1059
  style += ' font-weight: 400;';
1140
1060
  style += ' }';
@@ -1155,45 +1075,60 @@ j1.adapter.navigator = (function (j1, window) {
1155
1075
  }, // END applyThemeSettings
1156
1076
 
1157
1077
  // -------------------------------------------------------------------------
1158
- // messageHandler
1159
- // Manage messages (paylods) send from other J1 modules
1078
+ // messageHandler()
1079
+ // manage messages send from other J1 modules
1160
1080
  // -------------------------------------------------------------------------
1161
- messageHandler: function (sender, message) {
1162
- // var json_message = JSON.stringify(message, undefined, 2); // multiline
1163
- var json_message = JSON.stringify(message);
1164
- _this.setState(message.action);
1081
+ messageHandler: (sender, message) => {
1082
+ var json_message = JSON.stringify(message, undefined, 2);
1165
1083
 
1166
1084
  logText = '\n' + 'received message from ' + sender + ': ' + json_message;
1167
- logger.info(logText);
1168
-
1169
- logText = '\n' + 'set state to: ' + message.action;
1170
- logger.info(logText);
1085
+ logger.debug(logText);
1171
1086
 
1172
1087
  // -----------------------------------------------------------------------
1173
- // Process commands|actions
1088
+ // process commands|actions
1174
1089
  // -----------------------------------------------------------------------
1175
- if (message.type === 'command' && message.action === 'module_initialized') {
1176
- //
1177
- // Place handling of command|action here
1178
- //
1179
- logger.info('\n' + message.text);
1180
- }
1181
- if (message.type === 'command' && message.action === 'status') {
1182
- logger.info('\n' + 'messageHandler: received - ' + message.action);
1183
- }
1090
+ if (sender === 'j1.navigator.core') {
1184
1091
 
1185
- //
1186
- // Place handling of other command|action here
1187
- //
1092
+ if (message.type === 'state' && message.action === 'core_initialized') {
1093
+ navigatorCoreInitialized = true;
1094
+ logger.info('\n' + message.text);
1095
+ }
1096
+ } // END if sender j1.navigator.core
1097
+
1098
+ if (sender === 'ThemeSwitcher') {
1099
+ switcher = (message.action.includes("desktop")) ? 'desktop' : 'mobile';
1100
+ switcher_menu = (message.text.includes("local_themes")) ? 'local' : 'remote';
1101
+
1102
+ if (switcher === 'desktop') {
1103
+ if (switcher_menu === 'local') {
1104
+ desktopThemesLocalLoaded = true;
1105
+ } else {
1106
+ desktopThemesRemoteLoaded = true;
1107
+ }
1108
+ } // END if switcher desktop
1109
+
1110
+ if (switcher === 'mobile') {
1111
+ if (switcher_menu === 'local') {
1112
+ mobileThemesLocalLoaded = true;
1113
+ } else {
1114
+ mobileThemesRemoteLoaded = true;
1115
+ }
1116
+ } // END if switcher mobile
1117
+
1118
+ if (message.type === 'state' && message.action === 'desktop') {
1119
+ navigatorCoreInitialized = true;
1120
+ logger.info('\n' + message.text);
1121
+ }
1122
+ } // END if sender j1.themes.switcher
1188
1123
 
1189
1124
  return true;
1190
1125
  }, // END messageHandler
1191
1126
 
1192
1127
  // -------------------------------------------------------------------------
1193
1128
  // setState()
1194
- // Sets the current (processing) state of the module
1129
+ // sets the current (processing) state of the module
1195
1130
  // -------------------------------------------------------------------------
1196
- setState: function (stat) {
1131
+ setState: (stat) => {
1197
1132
  _this.state = stat;
1198
1133
  }, // END setState
1199
1134
 
@@ -1201,11 +1136,11 @@ j1.adapter.navigator = (function (j1, window) {
1201
1136
  // getState()
1202
1137
  // Returns the current (processing) state of the module
1203
1138
  // -------------------------------------------------------------------------
1204
- getState: function () {
1139
+ getState: () => {
1205
1140
  return _this.state;
1206
1141
  } // END getState
1207
1142
 
1208
- }; // END return
1143
+ }; // END main (return)
1209
1144
  })(j1, window);
1210
1145
 
1211
1146
  {% endcapture %}