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
@@ -20,13 +20,6 @@ regenerate: true
20
20
  # Test data:
21
21
  # {{ liquid_var | debug }}
22
22
  # -----------------------------------------------------------------------------
23
- # NOTE:
24
- # jadams, 2020-07-17:
25
- # J1 FAB can't be minfied for now. Uglifier fails on an ES6 (most probably)
26
- # structure that couldn't fixed by 'harmony' setting. Minifier fails by:
27
- # Unexpected token: punc ())
28
- # Current, minifying has been disabled
29
- # -----------------------------------------------------------------------------
30
23
  {% endcomment %}
31
24
 
32
25
  {% comment %} Liquid var initialization
@@ -60,7 +53,7 @@ regenerate: true
60
53
  /*
61
54
  # -----------------------------------------------------------------------------
62
55
  # ~/assets/themes/j1/adapter/js/fab.js
63
- # JS Adapter for J1 FAB (Floating Action Button)
56
+ # JS Adapter for J1 FABs (Floating Action Buttons)
64
57
  #
65
58
  # Product/Info:
66
59
  # http://jekyll.one
@@ -70,6 +63,9 @@ regenerate: true
70
63
  # J1 Template is licensed under the MIT License.
71
64
  # For details, see http://jekyll.one
72
65
  # -----------------------------------------------------------------------------
66
+ # TODO: check why 'found toc in page: disabled' detected (some times)
67
+ # if a toc IS configured
68
+ # -----------------------------------------------------------------------------
73
69
  # Adapter generated: {{site.time}}
74
70
  # -----------------------------------------------------------------------------
75
71
  */
@@ -80,17 +76,17 @@ regenerate: true
80
76
  /* eslint indent: "off" */
81
77
  // -----------------------------------------------------------------------------
82
78
  'use strict';
83
- j1.adapter.fab = (function (j1, window) {
79
+ j1.adapter.fab = ((j1, window) => {
84
80
 
85
81
  // ---------------------------------------------------------------------------
86
- // Global variable settings
82
+ // global variable settings
87
83
  // ---------------------------------------------------------------------------
88
- var isMobile = j1.core.isMobile();
89
- var environment = '{{environment}}';
90
- var dclFinished = false;
91
- var moduleOptions = {};
92
- var cookie_names = j1.getCookieNames();
93
- var state = 'not_started';
84
+ var isMobile = j1.core.isMobile();
85
+ var environment = '{{environment}}';
86
+ var dclFinished = false;
87
+ var moduleOptions = {};
88
+ var cookie_names = j1.getCookieNames();
89
+ var state = 'not_started';
94
90
  var fabDefaults;
95
91
  var fabSettings;
96
92
  var fabOptions;
@@ -102,26 +98,34 @@ j1.adapter.fab = (function (j1, window) {
102
98
  var sect3Nodes;
103
99
  var sect12Nodes;
104
100
  var sect123Nodes;
101
+
105
102
  var _this;
106
103
  var logger;
107
104
  var logText;
108
105
 
106
+ // date|time
107
+ var startTime;
108
+ var endTime;
109
+ var startTimeModule;
110
+ var endTimeModule;
111
+ var timeSeconds;
112
+
109
113
  // ---------------------------------------------------------------------------
110
114
  // helper functions
111
115
  // ---------------------------------------------------------------------------
112
116
 
113
117
  // ---------------------------------------------------------------------------
114
- // main object
118
+ // main
115
119
  // ---------------------------------------------------------------------------
116
120
  return {
117
121
 
118
122
  // -------------------------------------------------------------------------
119
- // module initializer
123
+ // adapter initializer
120
124
  // -------------------------------------------------------------------------
121
- init: function (options) {
125
+ init: (options) => {
122
126
 
123
127
  // -----------------------------------------------------------------------
124
- // Default module settings
128
+ // default module settings
125
129
  // -----------------------------------------------------------------------
126
130
  var settings = $.extend({
127
131
  module_name: 'j1.adapter.fab',
@@ -129,18 +133,13 @@ j1.adapter.fab = (function (j1, window) {
129
133
  }, options);
130
134
 
131
135
  // -----------------------------------------------------------------------
132
- // Global variable settings
136
+ // global variable settings
133
137
  // -----------------------------------------------------------------------
134
- _this = j1.adapter.fab;
135
- logger = log4javascript.getLogger('j1.adapter.fab');
136
- sect123Nodes = $('[class$="sect1"],[class$="sect2"],[class$="sect3"]');
137
- sect12Nodes = $('[class$="sect1"],[class$="sect2"]');
138
- sect1Nodes = $('[class$="sect1"]');
139
-
140
- // initialize state flag
141
- _this.setState('started');
142
- logger.info('\n' + 'set module state to: ' + _this.getState());
143
- logger.info('\n' + 'module is being initialized');
138
+ _this = j1.adapter.fab;
139
+ logger = log4javascript.getLogger('j1.adapter.fab');
140
+ sect123Nodes = $('[class$="sect1"],[class$="sect2"],[class$="sect3"]');
141
+ sect12Nodes = $('[class$="sect1"],[class$="sect2"]');
142
+ sect1Nodes = $('[class$="sect1"]');
144
143
 
145
144
  // create settings object from frontmatter (page settings)
146
145
  frontmatterOptions = options != null ? $.extend({}, options) : {};
@@ -151,27 +150,36 @@ j1.adapter.fab = (function (j1, window) {
151
150
  fabOptions = $.extend(true, {}, fabDefaults, fabSettings, frontmatterOptions);
152
151
 
153
152
  // save config settings into the FAB object for global access
154
- //
155
153
  _this['moduleOptions'] = fabOptions;
156
154
 
157
- var dependencies_met_navigator = setInterval(function() {
158
- var pageState = $('#no_flicker').css("display");
159
- var pageVisible = (pageState == 'block') ? true : false;
155
+ // -----------------------------------------------------------------------
156
+ // module initializer
157
+ // -----------------------------------------------------------------------
158
+ var dependency_met_page_ready = setInterval(() => {
159
+ var pageState = $('#content').css("display");
160
+ var pageVisible = (pageState === 'block') ? true : false;
161
+ var j1CoreFinished = (j1.getState() === 'finished') ? true : false;
162
+ var atticFinished = (j1.adapter.attic.getState() === 'finished') ? true: false;
163
+
164
+ if (pageVisible && j1CoreFinished && atticFinished) {
165
+ startTimeModule = Date.now();
160
166
 
161
- if (j1.adapter.navigator.getState() == 'finished' && pageVisible) {
167
+ _this.setState('started');
168
+ logger.info('\n' + 'set module state to: ' + _this.getState());
169
+ logger.info('\n' + 'module is being initialized');
162
170
 
163
- logger.debug('\n' + 'met dependencies for: navigator');
171
+ logger.info('\n' + 'load FABs');
164
172
  _this.fabLoader(fabOptions);
165
- clearInterval(dependencies_met_navigator);
166
- }
167
- }, 10);
168
173
 
174
+ clearInterval(dependency_met_page_ready);
175
+ } // END pageVisible
176
+ }, 10); // END dependency_met_page_ready
169
177
  }, // END init
170
178
 
171
179
  // -------------------------------------------------------------------------
172
180
  // FAB Loader
173
181
  // -------------------------------------------------------------------------
174
- fabLoader: function (fabOptions) {
182
+ fabLoader: (fabOptions) => {
175
183
 
176
184
  _this.setState('loading');
177
185
  logger.info('\n' + 'set module state to: ' + _this.getState());
@@ -189,33 +197,37 @@ j1.adapter.fab = (function (j1, window) {
189
197
  // ---------------------------------------------------------------------
190
198
  // Initialize FAB button
191
199
  // ---------------------------------------------------------------------
192
- var dependencies_met_fab_initialized = setInterval (function () {
193
- var pageState = $('#no_flicker').css("display");
194
- var pageVisible = (pageState == 'block') ? true: false;
195
- var atticFinished = (j1.adapter.attic.getState() == 'finished') ? true: false;
200
+ var dependencies_met_fab_initialized = setInterval (() => {
201
+ var fabLoaded = (j1.xhrDOMState['#' + fabOptions.xhr_container_id] === 'success') ? true: false;
196
202
 
197
- if (j1.xhrDOMState['#' + fabOptions.xhr_container_id] == 'success' && j1.getState() == 'finished' && pageVisible ) {
203
+ if (fabLoaded) {
198
204
  _this.setState('loaded');
199
205
  logger.info('\n' + 'set module state to: ' + _this.getState());
200
206
  logger.info('\n' + 'HTML data for FAB: ' + _this.getState());
201
207
 
202
208
  _this.buttonInitializer(fabOptions);
209
+ $('.fab-btn').show();
203
210
 
204
211
  _this.setState('finished');
205
212
  logger.debug('\n' + 'state: ' + _this.getState());
206
213
  logger.info('\n' + 'module initialized successfully');
207
214
 
208
- $('.fab-btn').show();
215
+ endTimeModule = Date.now();
216
+ logger.info('\n' + 'module initializing time: ' + (endTimeModule-startTimeModule) + 'ms');
209
217
 
210
218
  clearInterval(dependencies_met_fab_initialized);
211
- }
219
+ } // END if fabLoaded
212
220
  }, 10); // END dependencies_met_fab_initialized
213
- }, // END dataLoader
221
+ }, // END fabLoader
214
222
 
215
223
  // -------------------------------------------------------------------------
216
- // Button Initializer
224
+ // buttonInitializer()
217
225
  // -------------------------------------------------------------------------
218
- buttonInitializer: function (fabOptions) {
226
+ buttonInitializer: (fabOptions) => {
227
+ var $fabContainer = $('#' + fabOptions.xhr_container_id);
228
+ var iconFamily = fabOptions.icon_family.toLowerCase();
229
+ var floatingActionOptions = fabOptions.menu_options;
230
+ var fabButtons = document.querySelectorAll('.fab-btn');
219
231
  var eventHandler;
220
232
  var actionMenuId;
221
233
  var actionMenuOptions;
@@ -224,13 +236,9 @@ j1.adapter.fab = (function (j1, window) {
224
236
  var $actionButton;
225
237
  var toggleIcons;
226
238
  var fabActions;
227
- var $fabContainer = $('#' + fabOptions.xhr_container_id);
228
- var iconFamily = fabOptions.icon_family.toLowerCase();
229
- var floatingActionOptions = fabOptions.menu_options;
230
- var fabButtons = document.querySelectorAll('.fab-btn');
231
239
 
232
240
  // check if multiple buttons detected
233
- if ( fabButtons.length == 1 ) {
241
+ if (fabButtons.length === 1) {
234
242
  _this.setState('processing');
235
243
  logger.info('\n' + 'set module state to: ' + _this.getState());
236
244
  logger.info('\n' + 'initialize FAB menu');
@@ -240,7 +248,7 @@ j1.adapter.fab = (function (j1, window) {
240
248
  instances = j1.fab.init(fabButtons, floatingActionOptions);
241
249
  $actionButton = $('#' + actionButtonId);
242
250
 
243
- fabOptions.menus.forEach(function (menu, index) {
251
+ fabOptions.menus.forEach((menu, index) => {
244
252
  if (menu.id === actionMenuId) {
245
253
  actionMenuOptions = fabOptions.menus[index];
246
254
  };
@@ -250,39 +258,38 @@ j1.adapter.fab = (function (j1, window) {
250
258
  // found the FAB button gets created as a FAB (no menu) that has the
251
259
  // the action bound directly to the button
252
260
  //
253
- fabActions = actionMenuOptions.items.length;
261
+ fabActions = actionMenuOptions.items.length;
254
262
  toggleIcons = iconFamily + '-' + actionMenuOptions.icon + ' ' + iconFamily + '-' + actionMenuOptions.icon_hover;
255
263
 
256
264
  // toggle the icon for the FAB if configured
257
265
  if (floatingActionOptions.hoverEnabled) {
258
266
  $actionButton.hover(
259
- function() {
267
+ function () {
260
268
  $('#fab-icon').toggleClass(toggleIcons);
261
- }, function() {
269
+ }, function () {
262
270
  $('#fab-icon').toggleClass(toggleIcons);
263
271
  }
264
272
  );
265
273
  } else {
266
- $actionButton.on('click', function (e) {
274
+ $actionButton.on('click', (e) => {
267
275
  $('#fab-icon').toggleClass(toggleIcons);
268
276
  });
269
277
  }
270
278
 
271
279
  if (fabActions > 1) {
272
-
273
- actionMenuOptions.items.forEach(function (item, index) {
280
+ actionMenuOptions.items.forEach((item, index) => {
274
281
  // Bind an eventhandler instance if item id exists
275
282
  if ($('#' + item.id).length) {
276
283
  eventHandler = item.event_handler;
277
284
  // check if eventhandler configured is a SINGLE word
278
285
  if (eventHandler.split(' ').length == 1) {
279
- logger.info('\n' + 'register pre-configured eventhandler ' +eventHandler+ ' on id: #' + item.id);
286
+ logger.debug('\n' + 'register pre-configured eventhandler ' + eventHandler + ' on id: #' + item.id);
280
287
 
281
- if ( eventHandler === 'open_mmenu_toc' ) {
288
+ if (eventHandler === 'open_mmenu_toc') {
282
289
  if ($('#j1-toc-mgr').length) {
283
290
  logger.info('\n' + 'found toc in page: enabled');
284
- var dependencies_met_toccer_finished = setInterval (function () {
285
- if ( j1.adapter.toccer.getState() == 'finished' ) {
291
+ var dependencies_met_toccer_finished = setInterval (() => {
292
+ if (j1.adapter.toccer.getState() == 'finished') {
286
293
  logger.debug('\n' + 'met dependencies for: toccer');
287
294
 
288
295
  $('#open_mmenu_toc').show();
@@ -296,9 +303,9 @@ j1.adapter.fab = (function (j1, window) {
296
303
  $('#' + item.id).show();
297
304
  } // END eventHandler 'open_mmenu_toc'
298
305
 
299
- $('#' + item.id).each(function(e) {
306
+ $('#' + item.id).each(function (e) {
300
307
  var $this = $(this);
301
- $this.on('click', function(e) {
308
+ $this.on('click', function (e) {
302
309
  _this[item.event_handler](sect123Nodes);
303
310
  });
304
311
  });
@@ -316,15 +323,15 @@ j1.adapter.fab = (function (j1, window) {
316
323
  // disable hover event (CSS)
317
324
  // $actionButton.css({'pointer-events': 'none'})
318
325
 
319
- actionMenuOptions.items.forEach(function (item, index) {
326
+ actionMenuOptions.items.forEach((item, index) => {
320
327
  eventHandler = item.event_handler;
321
328
  // check if eventhandler configured is a SINGLE word
322
- if (eventHandler.split(' ').length == 1) {
323
- logger.info('\n' + 'register pre-configured eventhandler ' +eventHandler+ ' on id: #' + actionButtonId);
329
+ if (eventHandler.split(' ').length === 1) {
330
+ logger.debug('\n' + 'register pre-configured eventhandler ' +eventHandler+ ' on id: #' + actionButtonId);
324
331
 
325
332
  if (eventHandler === 'scroll_to_top') {
326
333
  // register click event
327
- $actionButton.on('click', function(e) {
334
+ $actionButton.on('click', function (e) {
328
335
  var dest = 0;
329
336
  $('html, body').animate({
330
337
  scrollTop: dest
@@ -336,8 +343,8 @@ j1.adapter.fab = (function (j1, window) {
336
343
  // check if toccer (toc_mgr) is available
337
344
  if ($('#j1-toc-mgr').length) {
338
345
  logger.info('\n' + 'found toc in page: enabled');
339
- var dependencies_met_toccer_finished = setInterval (function () {
340
- if ( j1.adapter.toccer.getState() == 'finished' ) {
346
+ var dependencies_met_toccer_finished = setInterval (() => {
347
+ if (j1.adapter.toccer.getState() === 'finished') {
341
348
  logger.debug('\n' + 'met dependencies for toccer: finished');
342
349
 
343
350
  // change the id of the $actionButton to the already
@@ -364,12 +371,14 @@ j1.adapter.fab = (function (j1, window) {
364
371
  }, // END buttonInitializer
365
372
 
366
373
  // -------------------------------------------------------------------------
367
- // Eventhandler
374
+ // event handler
375
+ // -------------------------------------------------------------------------
368
376
 
369
377
  // -------------------------------------------------------------------------
370
- // open mmenu TOC
378
+ // open_mmenu_toc()
379
+ // open TOC in mobile menu
371
380
  // -------------------------------------------------------------------------
372
- open_mmenu_toc: function () {
381
+ open_mmenu_toc: () => {
373
382
  // Event configured with Navigator module (navigator.yml)
374
383
  // with content section DRAWER TOC. Event registered at
375
384
  // runtime on element with id '#open_mmenu_toc' by Mobile Menu
@@ -379,17 +388,19 @@ j1.adapter.fab = (function (j1, window) {
379
388
  }, // END open_mmenu_toc
380
389
 
381
390
  // -------------------------------------------------------------------------
382
- // reload page
391
+ // reload_page()
392
+ // reload current page
383
393
  // -------------------------------------------------------------------------
384
- reload_page: function () {
394
+ reload_page: () => {
385
395
  // reload current page (skip cache)
386
396
  location.reload(true);
387
397
  }, // END reload_page
388
398
 
389
399
  // -------------------------------------------------------------------------
390
- // scroll to previous section
400
+ // scroll_previous_section()
401
+ // scroll to previous section in page
391
402
  // -------------------------------------------------------------------------
392
- scroll_previous_section: function (nodes) {
403
+ scroll_previous_section: (nodes) => {
393
404
  var previous_header_id;
394
405
  var currentNode;
395
406
  var prev_node;
@@ -401,7 +412,7 @@ j1.adapter.fab = (function (j1, window) {
401
412
  var toccerScrollDuration = {{toccer_options.scrollSmoothDuration}};
402
413
  var toccerScrollOffset = {{toccer_options.scrollSmoothOffset}};
403
414
 
404
- // Scroll offset correction if mobile or window width <= 992
415
+ // scroll offset correction if mobile or window width <= 992
405
416
  // For smaller window sizes, the height of the menubar changes.
406
417
  // if (j1.core.isMobile() || $(window).width() <= 992) { scrollOffset += 30; }
407
418
  // calculate offset for correct (smooth) scroll position.
@@ -425,7 +436,7 @@ j1.adapter.fab = (function (j1, window) {
425
436
  //
426
437
  scrollOffset = scrollOffset + toccerScrollOffset;
427
438
 
428
- nodes.each(function () {
439
+ nodes.each(() => {
429
440
  currentNode = $(this).find(current_header_id);
430
441
  if (currentNode.length) {
431
442
  if (index > maxNode) {
@@ -447,9 +458,10 @@ j1.adapter.fab = (function (j1, window) {
447
458
  }, // END scroll_previous_section
448
459
 
449
460
  // -------------------------------------------------------------------------
450
- // scroll to next section
461
+ // scroll_next_section()
462
+ // scroll to next section in page
451
463
  // -------------------------------------------------------------------------
452
- scroll_next_section: function (nodes) {
464
+ scroll_next_section: (nodes) => {
453
465
  var next_header_id;
454
466
  var next_header_plus_id;
455
467
  var currentNode;
@@ -465,7 +477,7 @@ j1.adapter.fab = (function (j1, window) {
465
477
  var toccerScrollOffset = {{toccer_options.scrollSmoothOffset}};
466
478
 
467
479
  current_header_id = $toc.find('.is-active-link').attr('href');
468
- nodes.each(function () {
480
+ nodes.each(() => {
469
481
  currentNode = $(this).find(current_header_id);
470
482
  if (currentNode.length) {
471
483
  if (index == maxNode) {
@@ -508,9 +520,10 @@ j1.adapter.fab = (function (j1, window) {
508
520
  }, // END scroll_next_section
509
521
 
510
522
  // -------------------------------------------------------------------------
511
- // scroll to top
523
+ // scroll_to_top()
524
+ // scroll to top of current pqge
512
525
  // -------------------------------------------------------------------------
513
- scroll_to_top: function () {
526
+ scroll_to_top: () => {
514
527
  var dest = 0;
515
528
 
516
529
  $('html, body').animate({
@@ -521,9 +534,10 @@ j1.adapter.fab = (function (j1, window) {
521
534
  }, // END scroll_top
522
535
 
523
536
  // -------------------------------------------------------------------------
524
- // scroll to bottom
537
+ // scroll_to_bottom()
538
+ // scroll to bottom of current page
525
539
  // -------------------------------------------------------------------------
526
- scroll_to_bottom: function () {
540
+ scroll_to_bottom: () => {
527
541
  var $page = $(document);
528
542
  var $footer = $('#j1_footer');
529
543
  var f = $footer.length ? $footer.outerHeight() : 0;
@@ -538,44 +552,44 @@ j1.adapter.fab = (function (j1, window) {
538
552
  }, // END scroll_bottom
539
553
 
540
554
  // -------------------------------------------------------------------------
541
- // scroll to comments (Disqus)
555
+ // scroll_to_comments()
556
+ // scroll to comments headline in current page (if comments enabled)
542
557
  // -------------------------------------------------------------------------
543
- scroll_to_comments: function () {
558
+ scroll_to_comments: () => {
544
559
  }, // END scroll_comments
545
560
 
546
561
  // -------------------------------------------------------------------------
562
+ // alert_me()
547
563
  // create generic alert
548
564
  // -------------------------------------------------------------------------
549
- alert_me: function () {
565
+ alert_me: () => {
550
566
  alert ('Hello world!');
551
567
  }, // END alert_me
552
568
 
553
569
  // -------------------------------------------------------------------------
554
- // messageHandler
555
- // Manage messages (paylods) send from other J1 modules
570
+ // messageHandler()
571
+ // manage messages send from other J1 modules
556
572
  // -------------------------------------------------------------------------
557
- messageHandler: function (sender, message) {
558
- // var json_message = JSON.stringify(message, undefined, 2); // multiline
559
- var json_message = JSON.stringify(message);
573
+ messageHandler: (sender, message) => {
574
+ var json_message = JSON.stringify(message, undefined, 2);
560
575
 
561
576
  logText = '\n' + 'received message from ' + sender + ': ' + json_message;
562
577
  logger.debug(logText);
563
578
 
564
579
  // -----------------------------------------------------------------------
565
- // Process commands|actions
580
+ // process commands|actions
566
581
  // -----------------------------------------------------------------------
567
582
  if (message.type === 'command' && message.action === 'module_initialized') {
583
+
568
584
  //
569
- // Place handling of command|action here
585
+ // place handling of command|action here
570
586
  //
587
+
571
588
  logger.info('\n' + message.text);
572
589
  }
573
- if (message.type === 'command' && message.action === 'status') {
574
- logger.info('\n' + 'messageHandler: received - ' + message.action);
575
- }
576
590
 
577
591
  //
578
- // Place handling of other command|action here
592
+ // place handling of other command|action here
579
593
  //
580
594
 
581
595
  return true;
@@ -583,9 +597,9 @@ j1.adapter.fab = (function (j1, window) {
583
597
 
584
598
  // -------------------------------------------------------------------------
585
599
  // setState()
586
- // Sets the current (processing) state of the module
600
+ // sets the current (processing) state of the module
587
601
  // -------------------------------------------------------------------------
588
- setState: function (stat) {
602
+ setState: (stat) => {
589
603
  _this.state = stat;
590
604
  }, // END setState
591
605
 
@@ -593,11 +607,11 @@ j1.adapter.fab = (function (j1, window) {
593
607
  // getState()
594
608
  // Returns the current (processing) state of the module
595
609
  // -------------------------------------------------------------------------
596
- getState: function () {
610
+ getState: () => {
597
611
  return _this.state;
598
612
  } // END getState
599
613
 
600
- }; // END return
614
+ }; // END main (return)
601
615
  })(j1, window);
602
616
 
603
617
  {% endcapture %}