j1-template 2020.0.11 → 2020.0.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (306) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/blocks/ads/ad.html +64 -0
  3. data/_includes/themes/j1/blocks/footer/boxes/links_box.proc +1 -1
  4. data/_includes/themes/j1/layouts/content_generator_blog_archive.html +3 -2
  5. data/_includes/themes/j1/layouts/content_generator_collection.html +3 -1
  6. data/_includes/themes/j1/layouts/content_generator_page.html +3 -1
  7. data/_includes/themes/j1/layouts/content_generator_post.html +12 -11
  8. data/_includes/themes/j1/layouts/layout_metadata_generator.html +141 -4
  9. data/_includes/themes/j1/modules/connectors/ad/custom-provider.html +6 -9
  10. data/_includes/themes/j1/modules/connectors/ad/google-adsense.html +9 -6
  11. data/_includes/themes/j1/modules/connectors/ads +3 -6
  12. data/_includes/themes/j1/modules/navigator/procedures/topsearch.proc +3 -3
  13. data/_includes/themes/j1/procedures/posts/collate_timeline.proc +7 -7
  14. data/assets/data/authclient.html +19 -8
  15. data/assets/data/banner.html +24 -23
  16. data/assets/data/carousel.json +31 -21
  17. data/assets/data/cookie_consent.html +81 -52
  18. data/assets/data/footer.html +15 -5
  19. data/assets/data/galleries.json +91 -81
  20. data/assets/data/gallery_customizer.html +20 -10
  21. data/assets/data/mdi_icons.json +56 -1
  22. data/assets/data/menu.html +14 -6
  23. data/assets/data/mmenu.html +47 -93
  24. data/assets/data/mmenu_sidebar.html +41 -44
  25. data/assets/data/mmenu_toc.html +20 -3
  26. data/assets/data/panel.html +35 -22
  27. data/assets/data/quicklinks.html +15 -3
  28. data/assets/data/{search.yml → search.json} +36 -28
  29. data/assets/data/ssm.html +14 -2
  30. data/assets/data/themes.json +17 -6
  31. data/assets/data/twa_v1.json +7035 -6978
  32. data/assets/themes/j1/adapter/js/algolia.js +13 -2
  33. data/assets/themes/j1/adapter/js/attic.js +35 -15
  34. data/assets/themes/j1/adapter/js/carousel.js +12 -2
  35. data/assets/themes/j1/adapter/js/clipboard.js +232 -0
  36. data/assets/themes/j1/adapter/js/cookie_consent.js +13 -4
  37. data/assets/themes/j1/adapter/js/framer.js +10 -2
  38. data/assets/themes/j1/adapter/js/gallery_customizer.js +11 -2
  39. data/assets/themes/j1/adapter/js/j1.js +300 -681
  40. data/assets/themes/j1/adapter/js/{justified_gallery.js → jf_gallery.js} +14 -5
  41. data/assets/themes/j1/adapter/js/lightbox.js +11 -2
  42. data/assets/themes/j1/adapter/js/logger.js +11 -2
  43. data/assets/themes/j1/adapter/js/mdb.js +167 -0
  44. data/assets/themes/j1/adapter/js/mmenu.js +13 -3
  45. data/assets/themes/j1/adapter/js/navigator.js +73 -74
  46. data/assets/themes/j1/adapter/js/searcher.js +12 -2
  47. data/assets/themes/j1/adapter/js/ssm.js +33 -9
  48. data/assets/themes/j1/adapter/js/themer.js +26 -51
  49. data/assets/themes/j1/adapter/js/toccer.js +19 -12
  50. data/assets/themes/j1/core/css/theme_extensions.css +85 -1241
  51. data/assets/themes/j1/core/css/theme_extensions.min.css +1 -1
  52. data/assets/themes/j1/core/css/uno.css +110 -1256
  53. data/assets/themes/j1/core/css/uno.min.css +1 -1
  54. data/assets/themes/j1/core/css/vendor.css +1 -55
  55. data/assets/themes/j1/core/css/vendor.min.css +1 -1
  56. data/assets/themes/j1/core/js/template.js +12 -82
  57. data/assets/themes/j1/core/js/template.js.map +1 -1
  58. data/assets/themes/j1/core/js/template.min.js +1 -1
  59. data/assets/themes/j1/extensions/bsDatepicker/css/datepicker.css +203 -0
  60. data/assets/themes/j1/extensions/bsDatepicker/css/theme/uno.css +235 -0
  61. data/assets/themes/j1/extensions/bsDatepicker/js/datepicker.js +509 -0
  62. data/assets/themes/j1/extensions/bsDatepicker/less/datepicker.less +122 -0
  63. data/assets/themes/j1/extensions/bsThemeSwitcher/js/switcher.js +425 -0
  64. data/assets/themes/j1/extensions/bsThemeSwitcher/js/switcher.min.js +20 -0
  65. data/assets/themes/j1/extensions/clipboard/LICENSE +20 -0
  66. data/assets/themes/j1/extensions/clipboard/css/theme/uno.css +52 -0
  67. data/assets/themes/j1/extensions/clipboard/css/theme/uno.min.css +52 -0
  68. data/assets/themes/j1/extensions/clipboard/js/clipboard.js +975 -0
  69. data/assets/themes/j1/extensions/clipboard/js/clipboard.min.js +7 -0
  70. data/assets/themes/j1/extensions/{iconify → iconifyAPI}/js/iconify.min.js +0 -0
  71. data/assets/themes/j1/extensions/iframeResizer/LICENSE +21 -0
  72. data/assets/themes/j1/extensions/iframeResizer/examples/frame.absolute.html +127 -0
  73. data/assets/themes/j1/extensions/iframeResizer/examples/frame.content.html +157 -0
  74. data/assets/themes/j1/extensions/iframeResizer/examples/frame.hover.html +68 -0
  75. data/assets/themes/j1/extensions/iframeResizer/examples/frame.nested.html +100 -0
  76. data/assets/themes/j1/extensions/iframeResizer/examples/frame.textarea.html +45 -0
  77. data/assets/themes/j1/extensions/iframeResizer/examples/frame.tolerance.html +113 -0
  78. data/assets/themes/j1/extensions/iframeResizer/examples/index.html +83 -0
  79. data/assets/themes/j1/extensions/iframeResizer/examples/two.html +88 -0
  80. data/assets/themes/j1/extensions/iframeResizer/js/client/iframeResizer.contentWindow.js +1288 -0
  81. data/assets/themes/j1/extensions/iframeResizer/js/client/iframeResizer.contentWindow.map +1 -0
  82. data/assets/themes/j1/extensions/iframeResizer/js/client/iframeResizer.contentWindow.min.js +10 -0
  83. data/assets/themes/j1/extensions/iframeResizer/js/iframeResizer.js +1390 -0
  84. data/assets/themes/j1/extensions/iframeResizer/js/iframeResizer.map +1 -0
  85. data/assets/themes/j1/extensions/iframeResizer/js/iframeResizer.min.js +9 -0
  86. data/assets/themes/j1/extensions/jqMouseWheel/README.md +76 -0
  87. data/assets/themes/j1/extensions/jqMouseWheel/js/jquery.mousewheel.js +221 -0
  88. data/assets/themes/j1/extensions/jqMouseWheel/js/jquery.mousewheel.min.js +9 -0
  89. data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/LICENSE +0 -0
  90. data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/README.md +0 -0
  91. data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/_versions/v3.7.0/css/justifiedGallery.css +0 -0
  92. data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/_versions/v3.7.0/css/justifiedGallery.min.css +0 -0
  93. data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/_versions/v3.7.0/css/theme/uno.css +0 -0
  94. data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/_versions/v3.7.0/js/justifiedGallery.3.7.0.js +0 -0
  95. data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/_versions/v3.7.0/js/justifiedGallery.js +0 -0
  96. data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/_versions/v3.7.0/js/justifiedGallery.min.js +0 -0
  97. data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/_versions/v3.7.0/less/.csslintrc +0 -0
  98. data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/_versions/v3.7.0/less/justifiedGallery.less +0 -0
  99. data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/_versions/v4.0.0/css/justifiedGallery.css +0 -0
  100. data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/_versions/v4.0.0/css/justifiedGallery.min.css +0 -0
  101. data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/_versions/v4.0.0/css/theme/uno.css +0 -0
  102. data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/_versions/v4.0.0/js/jquery.justifiedGallery.js +0 -0
  103. data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/_versions/v4.0.0/js/jquery.justifiedGallery.min.js +0 -0
  104. data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/css/justifiedGallery.css +0 -0
  105. data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/css/justifiedGallery.min.css +0 -0
  106. data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/css/theme/uno.css +0 -0
  107. data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/css/theme/uno.min.css +0 -0
  108. data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/js/justifiedGallery.js +0 -0
  109. data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/js/justifiedGallery.min.js +0 -0
  110. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/core/lg-fb-comment-box.css +0 -0
  111. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/core/lg-fb-comment-box.min.css +0 -0
  112. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/core/lg-transitions.css +0 -0
  113. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/core/lg-transitions.min.css +0 -0
  114. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/core/lightgallery.css +0 -0
  115. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/core/lightgallery.min.css +0 -0
  116. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/fonts/lg.eot +0 -0
  117. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/fonts/lg.svg +0 -0
  118. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/fonts/lg.ttf +0 -0
  119. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/fonts/lg.woff +0 -0
  120. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/img/loading.gif +0 -0
  121. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/img/video-play.png +0 -0
  122. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/img/vimeo-play.png +0 -0
  123. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/img/youtube-play.png +0 -0
  124. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/animation-w.png +0 -0
  125. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/customize-w.png +0 -0
  126. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/dynamic-w.png +0 -0
  127. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/facebook-icon.svg +0 -0
  128. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/googleplus-icon.svg +0 -0
  129. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/html5-w.png +0 -0
  130. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/linked-in.png +0 -0
  131. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/module-w.png +0 -0
  132. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/play-button.png +0 -0
  133. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/responsive-w.png +0 -0
  134. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/thumb-w.png +0 -0
  135. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/touch-w.png +0 -0
  136. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/twitter-icon.svg +0 -0
  137. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/twitter.png +0 -0
  138. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/video1-w.png +0 -0
  139. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/zoom-w.png +0 -0
  140. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/zoom.png +0 -0
  141. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/uno.css +1 -1
  142. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/uno.min.css +1 -1
  143. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/core/lightgallery.js +0 -0
  144. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/core/lightgallery.min.js +0 -0
  145. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/j1/j1-video.js +0 -0
  146. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/j1/j1-video.min.js +0 -0
  147. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-autoplay.js +0 -0
  148. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-autoplay.min.js +0 -0
  149. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-fullscreen.js +0 -0
  150. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-fullscreen.min.js +0 -0
  151. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-hash.js +0 -0
  152. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-hash.min.js +0 -0
  153. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-pager.js +0 -0
  154. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-pager.min.js +0 -0
  155. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-share.js +0 -0
  156. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-share.min.js +0 -0
  157. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-thumbnail.js +0 -0
  158. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-thumbnail.min.js +0 -0
  159. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-video.js +0 -0
  160. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-video.min.js +0 -0
  161. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-zoom.js +0 -0
  162. data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-zoom.min.js +0 -0
  163. data/assets/themes/j1/extensions/lightbox/LICENSE +22 -0
  164. data/assets/themes/j1/extensions/lightbox/css/lightbox.css +224 -0
  165. data/assets/themes/j1/extensions/lightbox/css/lightbox.min.css +21 -0
  166. data/assets/themes/j1/extensions/lightbox/css/theme/uno.css +25 -0
  167. data/assets/themes/j1/extensions/lightbox/css/theme/uno.min.css +26 -0
  168. data/{lib/starter_web/assets/images/modules/lightbox → assets/themes/j1/extensions/lightbox/images}/close.png +0 -0
  169. data/{lib/starter_web/assets/images/modules/lightbox → assets/themes/j1/extensions/lightbox/images}/loading.gif +0 -0
  170. data/{lib/starter_web/assets/images/modules/lightbox → assets/themes/j1/extensions/lightbox/images}/next.png +0 -0
  171. data/{lib/starter_web/assets/images/modules/lightbox → assets/themes/j1/extensions/lightbox/images}/prev.png +0 -0
  172. data/assets/themes/j1/extensions/lightbox/js/lightbox.js +583 -0
  173. data/assets/themes/j1/extensions/lightbox/js/lightbox.min.js +35 -0
  174. data/assets/themes/j1/extensions/mmenuLight/css/mmenu.css +392 -0
  175. data/assets/themes/j1/extensions/mmenuLight/css/mmenu.min.css +393 -0
  176. data/assets/themes/j1/extensions/mmenuLight/css/theme/uno.css +170 -0
  177. data/assets/themes/j1/extensions/mmenuLight/css/theme/uno.min.css +169 -0
  178. data/assets/themes/j1/extensions/mmenuLight/js/mmenu.js +30 -0
  179. data/assets/themes/j1/extensions/noUISlider/LICENSE +13 -0
  180. data/assets/themes/j1/extensions/noUISlider/css/nouislider.css +260 -0
  181. data/assets/themes/j1/extensions/noUISlider/css/nouislider.min.css +1 -0
  182. data/assets/themes/j1/extensions/noUISlider/js/nouislider.js +2312 -0
  183. data/assets/themes/j1/extensions/noUISlider/js/nouislider.min.js +3 -0
  184. data/assets/themes/j1/extensions/twemoji/js/LICENSE +21 -0
  185. data/assets/themes/j1/extensions/twemoji/js/picker/LICENSE +21 -0
  186. data/assets/themes/j1/extensions/twemoji/js/picker/twemoji-picker.js +21 -0
  187. data/assets/themes/j1/extensions/twemoji/js/picker/twemoji-picker.min.js +21 -0
  188. data/assets/themes/j1/extensions/twemoji/js/twemoji.js +590 -0
  189. data/assets/themes/j1/extensions/twemoji/js/twemoji.min.js +25 -0
  190. data/lib/j1/version.rb +1 -1
  191. data/lib/starter_web/Gemfile +7 -1
  192. data/lib/starter_web/_config.yml +9 -8
  193. data/lib/starter_web/_data/_defaults/resources.yml +13 -13
  194. data/lib/starter_web/_data/blocks/banner.yml +21 -29
  195. data/lib/starter_web/_data/blocks/footer.yml +10 -3
  196. data/lib/starter_web/_data/blocks/panel.yml +13 -13
  197. data/lib/starter_web/_data/layouts/default.yml +10 -0
  198. data/lib/starter_web/_data/layouts/home.yml +7 -7
  199. data/lib/starter_web/_data/layouts/page.yml +15 -16
  200. data/lib/starter_web/_data/modules/advertising.yml +48 -0
  201. data/lib/starter_web/_data/modules/attics.yml +2 -38
  202. data/lib/starter_web/_data/modules/cookie_consent.yml +3 -95
  203. data/lib/starter_web/_data/modules/defaults/attics.yml +16 -15
  204. data/lib/starter_web/_data/modules/defaults/cookie_consent.yml +75 -12
  205. data/lib/starter_web/_data/modules/defaults/jekyll_search.yml +9 -9
  206. data/lib/starter_web/_data/modules/defaults/navigator.yml +54 -20
  207. data/lib/starter_web/_data/modules/jekyll_search.yml +1 -20
  208. data/lib/starter_web/_data/modules/navigator.yml +1 -1
  209. data/lib/starter_web/_data/modules/themer.yml +2 -3
  210. data/lib/starter_web/_data/resources.yml +239 -111
  211. data/lib/starter_web/_data/template_settings.yml +87 -4
  212. data/lib/starter_web/_plugins/asciidoctor-extensions/fab-icon-inline.rb +1 -1
  213. data/lib/starter_web/_plugins/asciidoctor-extensions/fas-icon-inline.rb +2 -2
  214. data/lib/starter_web/_plugins/asciidoctor-extensions/iconify-icon-inline.rb +2 -2
  215. data/lib/starter_web/_plugins/asciidoctor-extensions/mdi-icon-inline.rb +2 -2
  216. data/lib/starter_web/_plugins/asciidoctor-extensions/twitter-emoji-inline.rb +2 -2
  217. data/lib/starter_web/_plugins/minifyJS.rb +54 -0
  218. data/lib/starter_web/_plugins/minifyJSON.rb +47 -0
  219. data/lib/starter_web/assets/images/modules/attics/admin-dashboard-bootstrap-1280x600.jpg +0 -0
  220. data/lib/starter_web/assets/images/modules/attics/alex-holyoake-1920x1280.jpg +0 -0
  221. data/lib/starter_web/assets/images/modules/attics/anaya-katlego-1920x1280.jpg +0 -0
  222. data/lib/starter_web/assets/images/modules/attics/antonella-lombardi-1920x1280.jpg +0 -0
  223. data/lib/starter_web/assets/images/modules/attics/antonino-visalli-1920x1280.jpg +0 -0
  224. data/lib/starter_web/assets/images/modules/attics/banner/library-1920x800-bw.jpg +0 -0
  225. data/lib/starter_web/assets/images/modules/attics/banner/signpost-1920x800-bw.jpg +0 -0
  226. data/lib/starter_web/assets/images/modules/attics/banner/water-journal-1280x600.jpg +0 -0
  227. data/lib/starter_web/assets/images/modules/attics/banner/write-1280x600-bw.jpg +0 -0
  228. data/lib/starter_web/assets/images/modules/attics/brandon-mowinkel-1920x1280.jpg +0 -0
  229. data/lib/starter_web/assets/images/modules/attics/building-blocks-1920x1280-bw.jpg +0 -0
  230. data/lib/starter_web/assets/images/modules/attics/cookies-1920x1200-bw.jpg +0 -0
  231. data/lib/starter_web/assets/images/modules/attics/daniel-jensen-1920x1280.jpg +0 -0
  232. data/lib/starter_web/assets/images/modules/attics/giammarco-boscaro-1920x1280.jpg +0 -0
  233. data/lib/starter_web/assets/images/modules/attics/go-up-1920x1280-bw.jpg +0 -0
  234. data/lib/starter_web/assets/images/modules/attics/ian-schneider-1920x1280.jpg +0 -0
  235. data/lib/starter_web/assets/images/modules/attics/ideas-start-here-1920x1280-bw.jpg +0 -0
  236. data/lib/starter_web/assets/images/modules/attics/jason-rosewell-1920x1280.jpg +0 -0
  237. data/lib/starter_web/assets/images/modules/attics/jessica-ruscello-1920x1280.jpg +0 -0
  238. data/lib/starter_web/assets/images/modules/attics/lianhao-1920x1280.jpg +0 -0
  239. data/lib/starter_web/assets/images/modules/attics/library-1920x1280-bw.jpg +0 -0
  240. data/lib/starter_web/assets/images/modules/attics/matthaeus-1920x1280.jpg +0 -0
  241. data/lib/starter_web/assets/images/modules/attics/nousnou-iwasaki-1920x1280.jpg +0 -0
  242. data/lib/starter_web/assets/images/modules/attics/premium-1920x1280-bw.jpg +0 -0
  243. data/lib/starter_web/assets/images/modules/attics/robert-v-ruggiero-1920x1280.jpg +0 -0
  244. data/lib/starter_web/assets/images/modules/attics/romain-vignes-1920x1280.jpg +0 -0
  245. data/lib/starter_web/assets/images/modules/attics/runner-1920x1200-bw.jpg +0 -0
  246. data/lib/starter_web/assets/images/modules/attics/spider-web-1920x1200-bw.jpg +0 -0
  247. data/lib/starter_web/assets/images/modules/attics/the-place-1920x1280-bw.jpg +0 -0
  248. data/lib/starter_web/assets/images/modules/attics/welcome-1920x1280-bw.jpg +0 -0
  249. data/lib/starter_web/assets/images/modules/carousel/cats/cat-1.jpg +0 -0
  250. data/lib/starter_web/assets/images/modules/carousel/mega_cities/andreas-brucker_b.jpg +0 -0
  251. data/lib/starter_web/assets/images/modules/carousel/mega_cities/denys-nevozhai-1_b.jpg +0 -0
  252. data/lib/starter_web/assets/images/modules/carousel/mega_cities/denys-nevozhai-2_b.jpg +0 -0
  253. data/lib/starter_web/assets/images/modules/carousel/mega_cities/luca-bravo_b.jpg +0 -0
  254. data/lib/starter_web/assets/images/modules/carousel/mega_cities/thomas-tucker_b.jpg +0 -0
  255. data/lib/starter_web/assets/images/modules/gallery/mega_cities/banter-snaps_b.jpg +0 -0
  256. data/lib/starter_web/assets/images/modules/gallery/mega_cities/denys-nevozhai-1_b.jpg +0 -0
  257. data/lib/starter_web/assets/images/modules/gallery/mega_cities/denys-nevozhai-2-bw.jpg +0 -0
  258. data/lib/starter_web/assets/images/modules/gallery/mega_cities/denys-nevozhai-2_b.jpg +0 -0
  259. data/lib/starter_web/assets/images/modules/gallery/mega_cities/emmad-mazhari_b.jpg +0 -0
  260. data/lib/starter_web/assets/images/modules/gallery/mega_cities/ethan-brooke_b.jpg +0 -0
  261. data/lib/starter_web/assets/images/modules/gallery/mega_cities/federico-rizzarelli_b.jpg +0 -0
  262. data/lib/starter_web/assets/images/modules/gallery/mega_cities/gints-gailis_b.jpg +0 -0
  263. data/lib/starter_web/assets/images/modules/gallery/mega_cities/johan-mouchet_b.jpg +0 -0
  264. data/lib/starter_web/assets/images/modules/gallery/mega_cities/luca-bravo_b.jpg +0 -0
  265. data/lib/starter_web/assets/images/modules/gallery/mega_cities/oskars-sylwan_b.jpg +0 -0
  266. data/lib/starter_web/assets/images/modules/gallery/mega_cities/steven-diaz_b.jpg +0 -0
  267. data/lib/starter_web/assets/images/modules/gallery/mega_cities/thomas-tucker-bw.jpg +0 -0
  268. data/lib/starter_web/assets/images/modules/gallery/mega_cities/thomas-tucker_b.jpg +0 -0
  269. data/lib/starter_web/index.html +9 -8
  270. data/lib/starter_web/package.json +1 -1
  271. data/lib/starter_web/pages/public/learn/examples/floating_ad.adoc +221 -0
  272. data/lib/starter_web/pages/public/learn/examples/floating_div.adoc +33 -1
  273. data/lib/starter_web/pages/public/learn/roundtrip/000_includes/documents/419_advanced_modals_html.asciidoc +5 -5
  274. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +2 -2
  275. data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +2 -1
  276. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +35 -44
  277. data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +39 -39
  278. data/lib/starter_web/pages/public/learn/whats_up.adoc +1 -0
  279. data/lib/starter_web/pages/public/previewer/bootstrap_theme.adoc +3 -5
  280. data/lib/starter_web/pages/public/previewer/iframer.adoc +15 -14
  281. data/lib/starter_web/pages/public/previewer/justified_gallery.html +1 -1
  282. data/lib/starter_web/pages/public/previewer/mdb_preview/mdb_previewer.adoc +2 -2
  283. data/lib/starter_web/pages/public/previewer/twitter_emoji_preview.adoc +2 -2
  284. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  285. data/lib/starter_web/utilsrv/package.json +1 -1
  286. metadata +143 -103
  287. data/assets/data/colors.json +0 -42
  288. data/assets/data/font_sizes.json +0 -42
  289. data/assets/data/messages.yml +0 -131
  290. data/assets/themes/j1/extensions/iframe_resizer/examples/frame.absolute.html +0 -86
  291. data/assets/themes/j1/extensions/iframe_resizer/examples/frame.content.html +0 -58
  292. data/assets/themes/j1/extensions/iframe_resizer/examples/frame.hover.html +0 -51
  293. data/assets/themes/j1/extensions/iframe_resizer/examples/frame.nested.html +0 -68
  294. data/assets/themes/j1/extensions/iframe_resizer/examples/frame.textarea.html +0 -46
  295. data/assets/themes/j1/extensions/iframe_resizer/examples/frame.tolerance.html +0 -79
  296. data/assets/themes/j1/extensions/iframe_resizer/examples/index.html +0 -70
  297. data/assets/themes/j1/extensions/iframe_resizer/examples/two.html +0 -71
  298. data/assets/themes/j1/extensions/iframe_resizer/js/client/iframeResizer.contentWindow.js +0 -1104
  299. data/assets/themes/j1/extensions/iframe_resizer/js/client/iframeResizer.contentWindow.map +0 -1
  300. data/assets/themes/j1/extensions/iframe_resizer/js/client/iframeResizer.contentWindow.min.js +0 -10
  301. data/assets/themes/j1/extensions/log4javascript/log4javascript.js +0 -5826
  302. data/assets/themes/j1/extensions/log4javascript/log4javascript.min.js +0 -266
  303. data/lib/starter_web/assets/images/modules/attics/admin-dashboard-bootstrap-1280x600.png +0 -0
  304. data/lib/starter_web/assets/images/modules/attics/mae-mu-Vf9gbsLZyf0-unsplash.jpg +0 -0
  305. data/lib/starter_web/assets/images/modules/attics/mae-mue-1920x1280-v.jpg +0 -0
  306. data/lib/starter_web/assets/images/modules/attics/mae-mue-1920x1280.jpg +0 -0
@@ -1,5 +1,5 @@
1
1
  ---
2
- regenerate: false
2
+ regenerate: true
3
3
  ---
4
4
 
5
5
  {% capture cache %}
@@ -70,6 +70,11 @@ regenerate: false
70
70
  {% assign customizer_title = customizer_options.title %}
71
71
  {% assign gallery_rowHeight = customizer_options.gallery_settings.rowHeight %}
72
72
 
73
+ {% assign production = false %}
74
+ {% if environment == 'prod' or environment == 'production' %}
75
+ {% assign production = true %}
76
+ {% endif %}
77
+
73
78
  /*
74
79
  # -----------------------------------------------------------------------------
75
80
  # ~/assets/themes/j1/adapter/js/gallery_customizer.js
@@ -431,5 +436,9 @@ j1.adapter['gallery_customizer'] = (function (j1, window) {
431
436
  })(j1, window);
432
437
 
433
438
  {% endcapture %}
434
- {{ cache | strip_empty_lines }}
439
+ {% if production %}
440
+ {{ cache | minifyJS }}
441
+ {% else %}
442
+ {{ cache | strip_empty_lines }}
443
+ {% endif %}
435
444
  {% assign cache = nil %}
@@ -1,5 +1,5 @@
1
1
  ---
2
- regenerate: true
2
+ regenerate: true
3
3
  ---
4
4
 
5
5
  {% capture cache %}
@@ -17,8 +17,6 @@ regenerate: true
17
17
  # J1 Template is licensed under the MIT License.
18
18
  # For details, see https://jekyll.one
19
19
  # -----------------------------------------------------------------------------
20
- # TODO: jadams, 2019-01-20: Isolate drawer, switch from BME code
21
- # -----------------------------------------------------------------------------
22
20
  # Test data:
23
21
  # {{ liquid_var | debug }}
24
22
  # -----------------------------------------------------------------------------
@@ -43,12 +41,15 @@ regenerate: true
43
41
 
44
42
  {% comment %} Set config files
45
43
  -------------------------------------------------------------------------------- {% endcomment %}
44
+ {% assign site_config = site %}
46
45
  {% assign template_config = site.data.template_settings %}
47
46
  {% assign blocks = site.data.blocks %}
48
47
  {% assign modules = site.data.modules %}
49
48
 
50
49
  {% comment %} Set config data
51
50
  -------------------------------------------------------------------------------- {% endcomment %}
51
+ {% assign environment = site_config.environment %}
52
+
52
53
  {% assign banner_config_defaults = blocks.defaults.banner.defaults %}
53
54
  {% assign banner_config_settings = blocks.banner.settings %}
54
55
  {% assign panel_config_defaults = blocks.defaults.panel.defaults %}
@@ -76,6 +77,11 @@ regenerate: true
76
77
 
77
78
  {% assign hideOnReload = modules.themer_options.hideOnReload %}
78
79
 
80
+ {% assign production = false %}
81
+ {% if environment == 'prod' or environment == 'production' %}
82
+ {% assign production = true %}
83
+ {% endif %}
84
+
79
85
  /*
80
86
  # -----------------------------------------------------------------------------
81
87
  # ~/assets/themes/j1/adapter/js/j1_template.js
@@ -101,6 +107,8 @@ regenerate: true
101
107
  // ESLint shimming
102
108
  // -----------------------------------------------------------------------------
103
109
  /* eslint indent: "off" */
110
+ /* eslint quotes: "off" */
111
+ /* eslint semi: "off" */
104
112
  // -----------------------------------------------------------------------------
105
113
  'use strict';
106
114
 
@@ -222,7 +230,8 @@ var j1 = (function () {
222
230
  return {
223
231
 
224
232
  // -------------------------------------------------------------------------
225
- // Initializer
233
+ // init()
234
+ // initializer
226
235
  // -------------------------------------------------------------------------
227
236
  init: function (options) {
228
237
 
@@ -247,39 +256,11 @@ var j1 = (function () {
247
256
  options
248
257
  );
249
258
 
250
- // catch senseless detect url 404 errors (middleware /status)
251
- // See: https://stackoverflow.com/questions/4687235/jquery-get-or-post-to-catch-page-load-error-eg-404
252
- $.ajaxSetup({
253
- // called on `$.get()`, `$.post()`, `$.ajax()`
254
- statusCode : {
255
- // raised on response status code 404
256
- 404 : function (jqxhr, textStatus, errorThrown) {
257
- var interval_count = 0;
258
- var max_count = 10;
259
- var dependencies_met_logger = setInterval(function() {
260
- interval_count += 1;
261
- if ( j1.adapter.logger.getState() == 'finished' ) {
262
- var logger = log4javascript.getLogger('j1.init');
263
- clearInterval(dependencies_met_logger);
264
- if(jqxhr.responseText.indexOf('GET /status') > -1) {
265
- logger.info('no middleware found on url /status: ignored');
266
- logger.info('continue on mode: web');
267
- }
268
- if (interval_count > max_count) {
269
- logger.warn('dependency check failed for module: logger');
270
- logger.warn('continue on initializer unchecked');
271
- j1.adapter.navigator.init();
272
- }
273
- }
274
- }, 25);
275
- }
276
- }
277
- });
278
-
279
259
  // -----------------------------------------------------------------------
280
- // Session ON_CLOSE event
281
- // Update user STATE cookie|Remove user SESSION cookie on window CLOSE
282
- // See: https://stackoverflow.com/questions/3888902/detect-browser-or-tab-closing
260
+ // session ON_CLOSE event
261
+ // wrapup if ALL browser windows get closed. Update user STATE
262
+ // cookie on window CLOSE.
263
+ // see: https://stackoverflow.com/questions/3888902/detect-browser-or-tab-closing
283
264
  // -----------------------------------------------------------------------
284
265
  window.addEventListener('beforeunload', function (event) {
285
266
  var cookie_names = j1.getCookieNames();
@@ -303,7 +284,7 @@ var j1 = (function () {
303
284
  });
304
285
 
305
286
  // -----------------------------------------------------------------------
306
- // Initialize|Load (existing) user cookies
287
+ // initialize|load (existing) user cookies
307
288
  // -----------------------------------------------------------------------
308
289
  user_session.created = timestamp_now;
309
290
  user_session.timestamp = timestamp_now;
@@ -330,7 +311,7 @@ var j1 = (function () {
330
311
  expires: 365
331
312
  });
332
313
 
333
- // Detect middleware (mode 'app') and update user session cookie
314
+ // detect middleware (mode 'app') and update user session cookie
334
315
  // -----------------------------------------------------------------------
335
316
  // if (user_session.mode === 'na' || user_session.mode === 'app') {
336
317
  if (user_session.mode === 'na') {
@@ -340,7 +321,10 @@ var j1 = (function () {
340
321
 
341
322
  baseUrl = url.origin;
342
323
 
343
- $.when ($.ajax(ep_status))
324
+ // see: https://stackoverflow.com/questions/3709597/wait-until-all-jquery-ajax-requests-are-done
325
+ $.when (
326
+ $.ajax(ep_status)
327
+ )
344
328
  .then(function(data) {
345
329
  var logger = log4javascript.getLogger('j1.init');
346
330
  user_session = j1.readCookie(cookie_names.user_session);
@@ -384,147 +368,70 @@ var j1 = (function () {
384
368
  logger.info('page is being initialized');
385
369
  }
386
370
 
387
- {% comment %} Deferred data loads
388
- See: https://stackoverflow.com/questions/3709597/wait-until-all-jquery-ajax-requests-are-done
389
- Load J1 Template data objects 'asychronously'
390
- -------------------------------------------------------------------------- {% endcomment %}
371
+ state = 'started';
372
+ logger.info('state: ' + state);
373
+ logger.info('page is being initialized');
391
374
 
392
- // -----------------------------------------------------------------------
393
- // data loader (should be rewitten to xhrData() )
394
- // -----------------------------------------------------------------------
395
- $.when (
396
- j1.getColorData(colors_data_path),
397
- j1.getFontSizeData(font_size_data_path),
398
- j1.getMessageCatalog(message_catalog_data_path))
399
- .done (function(colorData, fontSizes, messageCatalog, runtime) {
400
- j1.colors = colorData[0];
401
- j1.fonts = fontSizes[0];
402
-
403
- // set logger for callback|anonymous
404
- //
405
- var logger = log4javascript.getLogger('j1.init');
406
-
407
- logText = j1.getMessage('info', 'getState', 'text');
408
- logText = logText + j1.getMessage('info', 'getState', 'data_objects');
409
- logText = logText + j1.getMessage('info', 'getState', 'finished');
410
- j1.logger('j1.init', 'info', logText);
411
-
412
- logText = j1.getMessage('info', 'setState', 'text');
413
- logText = logText + j1.getMessage('info', 'setState', 'started');
414
- j1.logger('j1.init', 'info', logText);
415
- executeFunctionByName('j1.setState', window, state);
416
-
417
- // set logger for callback|anonymous
418
- var logger = log4javascript.getLogger('j1.init');
419
-
420
- if ( settings.scrollbar === 'false' ) {
421
- $('body').addClass('hide-scrollbar');
422
- $('html').addClass('hide-scrollbar-moz');
423
- }
375
+ if ( settings.scrollbar === 'false' ) {
376
+ $('body').addClass('hide-scrollbar');
377
+ $('html').addClass('hide-scrollbar-moz');
378
+ }
424
379
 
425
- logger.info('read user state from cookie');
426
- user_session = j1.readCookie(cookie_names.user_session);
380
+ logger.info('read user state from cookie');
381
+ user_session = j1.readCookie(cookie_names.user_session);
427
382
 
428
- // process|update UserState
429
- //
430
- themeName = user_session.theme_name;
431
- themeCss = user_session.theme_css;
432
- themeExtensionCss = user_session.theme_extension_css;
433
-
434
- // save last page access
435
- // See: https://stackoverflow.com/questions/3528324/how-to-get-the-previous-url-in-javascript
436
- // See: https://developer.mozilla.org/de/docs/Web/API/Window/history
437
- //
438
- user_session.timestamp = timestamp_now;
439
- referrer = new parseURL(document.referrer);
440
- current_page = window.location.pathname;
441
- user_session.requested_page = current_page;
442
- user_session.previous_page = referrer.search === '' ?
443
- (referrer.pathname === '' ? current_page : referrer.pathname) :
444
- (user_session.previous_page === '' || user_session.previous_page === 'na'
445
- ? '/'
446
- : user_session.previous_page
447
- );
448
-
449
- // calculate last 'pager' if any
450
- //
451
- if (rePager.test(user_session.previous_page)) {
452
- last_pager = user_session.previous_page;
453
- user_session.last_pager = last_pager;
454
- } else {
455
- last_pager = user_session.last_pager;
456
- }
383
+ // process|update user state cookie
384
+ themeName = user_session.theme_name;
385
+ themeCss = user_session.theme_css;
386
+ themeExtensionCss = user_session.theme_extension_css;
457
387
 
458
- logger.info('update user session cookie');
459
- j1.writeCookie({
460
- name: cookie_names.user_session,
461
- data: user_session
462
- });
388
+ // save last page access
389
+ // see: https://stackoverflow.com/questions/3528324/how-to-get-the-previous-url-in-javascript
390
+ // see: https://developer.mozilla.org/de/docs/Web/API/Window/history
391
+ //
392
+ user_session.timestamp = timestamp_now;
393
+ referrer = new parseURL(document.referrer);
394
+ current_page = window.location.pathname;
395
+ user_session.requested_page = current_page;
396
+ user_session.previous_page = referrer.search === '' ?
397
+ (referrer.pathname === '' ? current_page : referrer.pathname) :
398
+ (user_session.previous_page === '' || user_session.previous_page === 'na'
399
+ ? '/'
400
+ : user_session.previous_page
401
+ );
402
+
403
+ // calculate last 'pager' if any
404
+ if (rePager.test(user_session.previous_page)) {
405
+ last_pager = user_session.previous_page;
406
+ user_session.last_pager = last_pager;
407
+ } else {
408
+ last_pager = user_session.last_pager;
409
+ }
463
410
 
464
- // ---------------------------------------------------------------------
465
- // Initialize page resources for global modules (sequential asynchronous)
466
- // (should be rewitten to xhrData() )
467
- // ---------------------------------------------------------------------
468
- $.when (
469
- j1.initBanner(settings),
470
- j1.initPanel(settings),
471
- j1.initFooter(settings) )
472
- .then (function (initBanner_response, initPanel_response, initFooter_response) {
473
- var logger = log4javascript.getLogger('j1.init');
474
-
475
- // Wait for LAST thenable (footer) in chain finishes
476
- var footerLoaded = setInterval(function() {
477
- if ( j1.getState() == 'footer_loaded') {
478
- // clear interval checking
479
- clearInterval(footerLoaded);
480
- logger.info('loading data completed');
481
-
482
- // Continue to run initializers
483
- //
484
- state = j1.getMessage('info', 'setState', 'running');
485
- logText = j1.getMessage('info', 'setState', 'text');
486
- logText = logText + j1.getMessage('info', 'setState', 'running');
487
- j1.logger('j1.init', 'info', logText);
488
-
489
- user_session.timestamp = timestamp_now;
490
- j1.writeCookie({
491
- name: cookie_names.user_session,
492
- data: user_session
493
- });
411
+ logger.info('update user session cookie');
412
+ j1.writeCookie({
413
+ name: cookie_names.user_session,
414
+ data: user_session
415
+ });
494
416
 
495
- // ---------------------------------------------------------------
496
- // Finalize|Display page (sequential asynchronous)
497
- // NOTE:
498
- // jadams 2019-01-20: for MDB, enabled only drawer, switch
499
- // and ripples
500
- // ---------------------------------------------------------------
501
- $.when (
502
- j1.initMDB(settings),
503
- j1.initClipboard(settings))
504
- .then (function () {
505
- j1.displayPage();
506
- })
507
- .catch(function(error) {
508
- var logger = log4javascript.getLogger('j1.init');
509
- json_data = JSON.stringify(error, undefined, 2);
510
- logText = 'deferred: ' + json_data;
511
- logger.error(logText);
512
- });
513
- }
514
- }, 25); // END 'footerLoaded'
515
- }) // END load global modules
516
- .catch(function(error) {
517
- var logger = log4javascript.getLogger('j1.init');
518
- json_data = JSON.stringify(error, undefined, 2);
519
- logText = 'deferred: ' + json_data;
520
- logger.error(logText);
521
- });
522
- }) // END load global data objects
523
- .catch(function(error) {
524
- var logger = log4javascript.getLogger('j1.init');
525
- json_data = JSON.stringify(error, undefined, 2);
526
- logText = 'deferred: ' + json_data;
527
- logger.error(logText);
417
+ {% comment %} Deferred data loads
418
+ See: https://stackoverflow.com/questions/3709597/wait-until-all-jquery-ajax-requests-are-done
419
+ Load J1 Template data objects 'asychronously'
420
+ -------------------------------------------------------------------------- {% endcomment %}
421
+ // initialize page resources for global modules
422
+ // (asynchronous, should be rewitten to xhrData)
423
+ j1.initBanner(settings);
424
+ j1.initPanel(settings);
425
+ j1.initFooter(settings);
426
+
427
+ state = 'running';
428
+ logger.info('state: ' + state);
429
+ logger.info(logText);
430
+
431
+ user_session.timestamp = timestamp_now;
432
+ j1.writeCookie({
433
+ name: cookie_names.user_session,
434
+ data: user_session
528
435
  });
529
436
 
530
437
  // -----------------------------------------------------------------------
@@ -532,10 +439,13 @@ var j1 = (function () {
532
439
  // -----------------------------------------------------------------------
533
440
  j1.core.bsFormClearButton();
534
441
 
442
+ // finalize and display page
443
+ j1.displayPage();
444
+
535
445
  }, // END init
536
446
 
537
447
  // -------------------------------------------------------------------------
538
- // initBanner
448
+ // initBanner()
539
449
  // AJAX fetcher to load and place all banner used for a page
540
450
  // -------------------------------------------------------------------------
541
451
  initBanner: function (options) {
@@ -584,30 +494,14 @@ var j1 = (function () {
584
494
  {% assign key = item[0] %}
585
495
  {% assign value = item[1] %}
586
496
 
587
- {% if key and debug %} item:value {{key}}:{{value}} {% endif %}
497
+ {% if key and debug %} item:value {{key}}:{{value}} {% endif %}
588
498
 
589
499
  {% if key == 'id' %} {% assign id = value %} {% endif %}
590
500
  {% if key == 'enabled' %} {% assign enabled = value %} {% endif %}
591
- {% if key == 'background_color_1' %} {% assign background_color_1 = value %} {% endif %}
592
- {% if key == 'background_color_2' %} {% assign background_color_2 = value %} {% endif %}
593
501
  {% endfor %}
594
502
  {% endfor %}
595
503
 
596
504
  {% if id and enabled %}
597
- {% comment %} Add CSS styles for current banner to section <HEAD>
598
- -------------------------------------------------------------------- {% endcomment %}
599
- {% if background_color_1 and background_color_2 %}
600
- var banner_backround_style = '';
601
- // Initialze banner background gradient/colors
602
- banner_backround_style += '<style> .{{id}}-background { ';
603
- banner_backround_style += 'background-image: -webkit-gradient(linear, left top, left bottom, from( ' +j1.setColorData('{{background_color_1}}')+ ' ), to( ' +j1.setColorData('{{background_color_2}}')+ ' ));';
604
- banner_backround_style += 'background-image: -webkit-linear-gradient(top, ' +j1.setColorData('{{background_color_1}}')+ ' 0%, ' +j1.setColorData('{{background_color_2}}')+ ' 100%);';
605
- banner_backround_style += 'background-image: -o-linear-gradient(top, ' +j1.setColorData('{{background_color_1}}')+ ' 0%, ' +j1.setColorData('{{background_color_2}}')+ ' 100%);';
606
- banner_backround_style += 'background-image: linear-gradient(to bottom, ' +j1.setColorData('{{background_color_1}}')+' 0%, ' +j1.setColorData('{{background_color_2}}')+ ' 100%);';
607
- banner_backround_style += 'filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="' +j1.setColorData('{{background_color_1}}')+ '", endColorstr="' +j1.setColorData('{{background_color_2}}')+ '", GradientType=0);';
608
- banner_backround_style += '} </style>';
609
- $('head').append( banner_backround_style );
610
- {% endif %}
611
505
 
612
506
  {% comment %} Register current banner
613
507
  -------------------------------------------------------------------- {% endcomment %}
@@ -620,8 +514,6 @@ var j1 = (function () {
620
514
  ---------------------------------------------------------------------- {% endcomment %}
621
515
  {% assign id = nil %}
622
516
  {% assign enabled = nil %}
623
- {% assign background_color_1 = nil %}
624
- {% assign background_color_2 = nil %}
625
517
  {% assign banner_config = nil %}
626
518
 
627
519
  {% endfor %} {% comment %} END banner_config {% endcomment %}
@@ -653,7 +545,7 @@ var j1 = (function () {
653
545
  }, // END initBanner
654
546
 
655
547
  // -------------------------------------------------------------------------
656
- // initPanel
548
+ // initPanel()
657
549
  // AJAX fetcher to load and place all panel used for a page
658
550
  // -------------------------------------------------------------------------
659
551
  // ToDo:
@@ -744,7 +636,7 @@ var j1 = (function () {
744
636
  }, // END initPanel
745
637
 
746
638
  // -------------------------------------------------------------------------
747
- // initFooter
639
+ // initFooter()
748
640
  // AJAX fetcher to load and place the footer used for a page
749
641
  // -------------------------------------------------------------------------
750
642
  initFooter: function ( options ) {
@@ -790,66 +682,9 @@ var j1 = (function () {
790
682
  return true;
791
683
  }, // END initFooter
792
684
 
793
- // -------------------------------------------------------------------------
794
- // initClipboard
795
- // Create copy-to-clipboard for all pages
796
- // -------------------------------------------------------------------------
797
- initClipboard: function ( options ) {
798
- var logger = log4javascript.getLogger('j1.initClipboard');
799
-
800
- logText = 'initialization started';
801
- logger.info(logText);
802
-
803
- // insert copy to clipboard button before all elements having a
804
- // class of ".highlight" assigned to (e.g. Asciidoc source blocks)
805
- $('.highlight').each(function () {
806
- // Check if no clipboard should be applied
807
- var isNoClip = $(this).closest('.noclip');
808
- if ( isNoClip.length == 0) {
809
- var btnHtml = '<div class="j1-clipboard"><span class="btn-clipboard j1-tooltip" data-toggle="tooltip" data-placement="left" title="Copy to clipboard">Copy</span></div>';
810
- var bumms = $(this).closest('.noclip');
811
- $(this).before(btnHtml);
812
- $('.btn-clipboard').tooltip();
813
- }
814
- });
815
- var clipboard = new Clipboard( '.btn-clipboard', {
816
- target: function target(trigger) {
817
- return trigger.parentNode.nextElementSibling;
818
- }
819
- });
820
-
821
- // Manage clipboard events
822
- clipboard.on('success', function (e) {
823
- $(e.trigger).attr('title', 'copied!').tooltip('_fixTitle').tooltip('show').attr('title', 'Copy to clipboard').tooltip('_fixTitle');
824
- var logger = log4javascript.getLogger('j1.initClipboard');
825
- var logText = 'initialization copy-to-clipboard sucessfull';
826
- logger.debug(logText);
827
- /* Cleanup clipped data for trailing numbers */
828
- var splitted = e.text.split('\n');
829
- var concat;
830
- var i;
831
- for (i=0; i<splitted.length; i++) {
832
- concat += splitted[i].replace(/^\s+\d+/, '');
833
- }
834
- e.clearSelection();
835
- });
836
- clipboard.on('error', function (e) {
837
- var fallbackMsg = /Mac/i.test(navigator.userAgent) ? 'press \u2318 to copy' : 'press ctrl-c to copy';
838
- logger = log4javascript.getLogger('j1.initClipboard');
839
- logText = 'initialization copy-to-clipboard failed, fallback used.';
840
- logger.warn(logText);
841
- $(e.trigger).attr('title', fallbackMsg).tooltip('_fixTitle').tooltip('show').attr('title', 'copy to clipboard').tooltip('_fixTitle');
842
- });
843
-
844
- logText = 'initialization finished';
845
- logger.info(logText);
846
-
847
- return true;
848
- }, // END initClipboard
849
-
850
685
  // -------------------------------------------------------------------------
851
686
  // displayPage
852
- // Show the page after timeout of {{hideOnReload}} ms
687
+ // show the page after timeout of {{flickerTimeout}} ms
853
688
  // -------------------------------------------------------------------------
854
689
  // NOTE:
855
690
  // jadams, 2019-08-21: for unknown reason, the user state data
@@ -872,7 +707,6 @@ var j1 = (function () {
872
707
  var appDetected;
873
708
  var categoryAllowed;
874
709
 
875
-
876
710
  logger.info('finalize page');
877
711
  j1.setCss();
878
712
 
@@ -895,7 +729,8 @@ var j1 = (function () {
895
729
  providerPermissions = user_session.provider_permissions;
896
730
  categoryAllowed = providerPermissions.includes(user_session.page_permission);
897
731
 
898
- // Make sure that protected pages are ALWAYS checked for permissions
732
+ // check protected pages (applies for APP only)
733
+ // make sure that protected pages are ALWAYS checked for permissions
899
734
  // -------------------------------------------------------------------
900
735
  if (
901
736
  j1.authEnabled() &&
@@ -913,10 +748,14 @@ var j1 = (function () {
913
748
  }
914
749
  } // END check protected pages
915
750
 
751
+ // show the page delayed
916
752
  setTimeout (function() {
917
- // Display page
753
+ // display page
918
754
  $('#no_flicker').css('display', 'block');
919
755
 
756
+ // bind MDB services to current page
757
+ j1.initMDB();
758
+
920
759
  // show|hide cookie icon
921
760
  if (user_state.cookies_accepted === 'accepted') {
922
761
  // show cookie icon
@@ -957,7 +796,7 @@ var j1 = (function () {
957
796
  $('#quickLinksSignInOutButton').css('display', 'block');
958
797
  }
959
798
 
960
- // If the page requested contains an anchor element,
799
+ // if the page requested contains an anchor element,
961
800
  // do a smooth scroll to
962
801
  j1.scrollTo();
963
802
 
@@ -984,89 +823,90 @@ var j1 = (function () {
984
823
  logger.info(logText);
985
824
 
986
825
  }, flickerTimeout);
987
- });
988
- // END APP mode
989
- } else {
990
- // web mode
826
+ }); // END APP mode
827
+ } else { // web mode
828
+ // show the page delayed
991
829
  setTimeout (function() {
992
- // Display page
830
+ // display page
993
831
  $('#no_flicker').css('display', 'block');
994
- logger.info('mode detected: web');
995
- logger.info('hide signin icon');
996
- $('#quickLinksSignInOutButton').css('display', 'none');
832
+ logger.info('mode detected: web');
833
+ logger.info('hide signin icon');
834
+ $('#quickLinksSignInOutButton').css('display', 'none');
997
835
 
998
- user_session.current_page = current_url.pathname;
999
- j1.writeCookie({
836
+ user_session.current_page = current_url.pathname;
837
+ j1.writeCookie({
1000
838
  name: cookie_names.user_session,
1001
839
  data: user_session
1002
- });
1003
-
1004
- // show|hide translator icon
1005
- if (translation_enabled) {
1006
- logger.info('translator detected: google');
1007
- logger.info('initialize language selector');
1008
- $('.goog-te-combo').addClass('form-control');
1009
- }
1010
-
1011
- // show|hide cookie icon
1012
- if (user_state.cookies_accepted === 'accepted') {
1013
- // Display cookie icon
1014
- logText = 'show cookie icon';
1015
- logger.info(logText);
1016
- $('#quickLinksCookieButton').css('display', 'block');
1017
- } else {
1018
- logText = 'hide cookie icon';
1019
- logger.info(logText);
1020
- // Display cookie icon
1021
- $('#quickLinksCookieButton').css('display', 'none');
1022
- }
840
+ });
1023
841
 
1024
- // If the page requested contains an anchor element,
1025
- // do a smooth scroll to
1026
- j1.scrollTo();
842
+ // show|hide translator icon
843
+ if (translation_enabled) {
844
+ logger.info('translator detected: google');
845
+ logger.info('initialize language selector');
846
+ $('.goog-te-combo').addClass('form-control');
847
+ }
1027
848
 
1028
- if (user_session.previous_page !== user_session.current_page) {
1029
- logText = 'page change detected';
1030
- logger.info(logText);
1031
- logText = 'previous page: ' + user_session.previous_page;
1032
- logger.info(logText);
1033
- logText = 'current page: ' + user_session.current_page;
1034
- logger.info(logText);
1035
- }
849
+ // show|hide cookie icon
850
+ if (user_state.cookies_accepted === 'accepted') {
851
+ // Display cookie icon
852
+ logText = 'show cookie icon';
853
+ logger.info(logText);
854
+ $('#quickLinksCookieButton').css('display', 'block');
855
+ } else {
856
+ logText = 'hide cookie icon';
857
+ logger.info(logText);
858
+ // Display cookie icon
859
+ $('#quickLinksCookieButton').css('display', 'none');
860
+ }
1036
861
 
1037
- // update sidebar for changed consent|theme data
1038
- logger.info('update sidebar');
1039
- user_state = j1.readCookie(cookie_names.user_state);
1040
- current_user_data = j1.mergeData(user_session, user_state);
1041
- j1.core.navigator.updateSidebar(current_user_data);
862
+ // If the page requested contains an anchor element,
863
+ // do a smooth scroll to
864
+ j1.scrollTo();
1042
865
 
1043
- // Set|Log status
1044
- state = 'finished';
1045
- logText = 'state: ' + state;
866
+ if (user_session.previous_page !== user_session.current_page) {
867
+ logText = 'page change detected';
1046
868
  logger.info(logText);
1047
- logText = 'page finalized successfully';
869
+ logText = 'previous page: ' + user_session.previous_page;
1048
870
  logger.info(logText);
871
+ logText = 'current page: ' + user_session.current_page;
872
+ logger.info(logText);
873
+ }
874
+
875
+ // update sidebar for changed consent|theme data
876
+ logger.info('update sidebar');
877
+ user_state = j1.readCookie(cookie_names.user_state);
878
+ current_user_data = j1.mergeData(user_session, user_state);
879
+ j1.core.navigator.updateSidebar(current_user_data);
880
+
881
+ // set|log status
882
+ state = 'finished';
883
+ logText = 'state: ' + state;
884
+ logger.info(logText);
885
+ logText = 'page finalized successfully';
886
+ logger.info(logText);
1049
887
 
1050
- }, flickerTimeout);
888
+ }, flickerTimeout);
1051
889
  } // END WEB mode
1052
890
  }, // END displayPage
1053
891
 
1054
892
  // -------------------------------------------------------------------------
1055
- // Initialize BS Material Design
893
+ // initMDB()
894
+ // initialize page for MDB
1056
895
  // -------------------------------------------------------------------------
1057
- // ToDo:
1058
896
  initMDB: function (options) {
1059
- var logger;
1060
-
1061
- logger = log4javascript.getLogger('j1.initMDB');
1062
- logText = 'material design is being started';
1063
- logger.info(logText);
897
+ var dependencies_met_bmd = setInterval(function() {
898
+ if ( j1.adapter.mdb.getState() == 'finished' ) {
899
+ var logger = log4javascript.getLogger('j1.initMDB');
900
+ logText = 'initializing MDB for current page: started';
901
+ logger.info(logText);
1064
902
 
1065
- $('body').bootstrapMaterialDesign();
1066
- //new WOW().init();
903
+ $('body').bootstrapMaterialDesign();
1067
904
 
1068
- var logText = 'initializing material design finished';
1069
- logger.info(logText);
905
+ logText = 'initializing MDB for current page: finished';
906
+ logger.info(logText);
907
+ clearInterval(dependencies_met_bmd);
908
+ }
909
+ }, 25);
1070
910
  }, // END initMDB
1071
911
 
1072
912
  // -------------------------------------------------------------------------
@@ -1074,9 +914,10 @@ var j1 = (function () {
1074
914
  // -------------------------------------------------------------------------
1075
915
 
1076
916
  // -------------------------------------------------------------------------
1077
- // Merge two objects (properties) and returns the resulting object
1078
- // TODO: Improve comment, give synopsis and example
1079
- // See: https://stackoverflow.com/questions/43109229/merge-default-options-containing-object-with-json-object
917
+ // mergeData()
918
+ // merge two objects (properties) and returns the resulting object
919
+ // see: https://stackoverflow.com/questions/43109229/merge-default-options-containing-object-with-json-object
920
+ // TODO: Improve comment, give synopsis and example
1080
921
  // -------------------------------------------------------------------------
1081
922
  mergeData: function () {
1082
923
  var a = [].slice.call(arguments), o = a.shift();
@@ -1090,29 +931,33 @@ var j1 = (function () {
1090
931
  }, // END mergeData
1091
932
 
1092
933
  // -------------------------------------------------------------------------
1093
- // returns the last vistited page
934
+ // getPrevPage()
935
+ // returns the last vistited page
1094
936
  // -------------------------------------------------------------------------
1095
937
  getPrevPage: function () {
1096
938
  return previous_page;
1097
939
  }, // END getPrevPage
1098
940
 
1099
941
  // -------------------------------------------------------------------------
1100
- // returns the preferred language taken form window.navigator
1101
- // See:
1102
- // https://stackoverflow.com/questions/1043339/javascript-for-detecting-browser-language-preference
942
+ // getLanguage()
943
+ // returns the preferred language taken form window.navigator
944
+ // See:
945
+ // https://stackoverflow.com/questions/1043339/javascript-for-detecting-browser-language-preference
1103
946
  // -------------------------------------------------------------------------
1104
947
  getLanguage: function () {
1105
948
  var language = navigator.languages ? navigator.languages[0] : (navigator.language || navigator.userLanguage);
1106
949
  }, // END getLanguage
1107
950
 
1108
951
  // -------------------------------------------------------------------------
1109
- // returns the template version taken from site config (_config.yml)
952
+ // getTemplateVersion()
953
+ // returns the template version taken from site config (_config.yml)
1110
954
  // -------------------------------------------------------------------------
1111
955
  getTemplateVersion: function () {
1112
956
  return '{{template_version}}';
1113
957
  }, // END getTemplateVersion
1114
958
 
1115
959
  // -------------------------------------------------------------------------
960
+ // scrollTo()
1116
961
  // Scrolls smooth to any anchor referenced by an page URL on
1117
962
  // e.g. a page reload. Values for delay|offset are taken from
1118
963
  // TOCCER module
@@ -1143,7 +988,7 @@ var j1 = (function () {
1143
988
  }, // END scrollTo
1144
989
 
1145
990
  // -------------------------------------------------------------------------
1146
- // authEnabled:
991
+ // authEnabled()
1147
992
  // Returns the state of the authentication module
1148
993
  // -------------------------------------------------------------------------
1149
994
  authEnabled: function () {
@@ -1154,7 +999,7 @@ var j1 = (function () {
1154
999
  }, // END authEnabled
1155
1000
 
1156
1001
  // -------------------------------------------------------------------------
1157
- // appDetected:
1002
+ // appDetected()
1158
1003
  // Returns true if a web session cookie exists
1159
1004
  // -------------------------------------------------------------------------
1160
1005
  appDetected: function () {
@@ -1173,7 +1018,7 @@ var j1 = (function () {
1173
1018
  }, // END appDetected
1174
1019
 
1175
1020
  // -------------------------------------------------------------------------
1176
- // xhrData:
1021
+ // xhrData()
1177
1022
  // Load data asychronously using XHR on a DIV container
1178
1023
  // specified (from options: xhr_data_path)
1179
1024
  // -------------------------------------------------------------------------
@@ -1221,8 +1066,9 @@ var j1 = (function () {
1221
1066
  }, // END xhrData
1222
1067
 
1223
1068
  // -------------------------------------------------------------------------
1224
- // xhrApi: XMLHttpRequest (XHR) based async server API request
1225
- // Request an REST API at 'url', using verb 'type' of response type 'type'
1069
+ // xhrApi:()
1070
+ // XMLHttpRequest (XHR) based async server API request
1071
+ // Request an REST API at 'url', using verb 'type' of response type 'type'
1226
1072
  // -------------------------------------------------------------------------
1227
1073
  xhrApi: function (url, request_type, data_type) {
1228
1074
  var logger = log4javascript.getLogger('j1.xhrApi');
@@ -1249,204 +1095,7 @@ var j1 = (function () {
1249
1095
  }, // END xhrApi
1250
1096
 
1251
1097
  // -------------------------------------------------------------------------
1252
- // getRuntimeData: Returns the j1_runtime data object
1253
- //
1254
- // -------------------------------------------------------------------------
1255
- getRuntimeData: function (data_path) {
1256
- var logger = log4javascript.getLogger('j1.getRuntimeData');
1257
- var logText;
1258
-
1259
- return $.ajax({
1260
- url: data_path,
1261
- success: function (contents) {
1262
- logText = 'data loaded successfully';
1263
- logger.info(logText);
1264
- state = 'runtime_data_loaded_success';
1265
- logger.info('state: ' + state);
1266
- executeFunctionByName('j1.setState', window, state);
1267
- },
1268
- error: function (err) {
1269
- logText = 'runtime data not loaded: ' + err;
1270
- logger.warn(logText);
1271
- state = 'runtime_data_loaded_failed';
1272
- logger.info('state: ' + state);
1273
- executeFunctionByName('j1.setState', window, state);
1274
- return false;
1275
- }
1276
- });
1277
-
1278
- }, // END getRuntimeData
1279
-
1280
- // -------------------------------------------------------------------------
1281
- // getColorData: Returns the j1_colors object
1282
- // Load color definitions from colors_data_path
1283
- // -------------------------------------------------------------------------
1284
- getColorData: function (data_path) {
1285
- var logger = log4javascript.getLogger('j1.getColorData');
1286
- var j1_colors = {};
1287
-
1288
- return $.ajax({
1289
- url: data_path,
1290
- success: function (data) {
1291
- var logText = 'color data loaded successfully';
1292
- logger.info(logText);
1293
- state = 'color_data_loaded_success';
1294
- logger.info('state: ' + state);
1295
- executeFunctionByName('j1.setState', window, state);
1296
-
1297
- if (typeof data == 'string') {
1298
- j1_colors = JSON.parse(data);
1299
- }
1300
- if (typeof data == 'object') {
1301
- j1_colors = data;
1302
- }
1303
- },
1304
- error: function (data) {
1305
- var logText = 'color data not loaded';
1306
- logger.warn(logText);
1307
- state = 'color_data_loaded_failed';
1308
- logger.info('state: ' + state);
1309
- executeFunctionByName('j1.setState', window, state);
1310
- return false;
1311
- }
1312
- });
1313
-
1314
- }, // END getColorData
1315
-
1316
- // -------------------------------------------------------------------------
1317
- // setColorData:
1318
- //
1319
- // -------------------------------------------------------------------------
1320
- setColorData: function (color) {
1321
-
1322
- if ( typeof color != 'undefined' ) {
1323
- var reHex = /^#[A-Fa-f0-9]+$/;
1324
- var reRGBA = /^rgba/;
1325
- var isHex = color.match(reHex);
1326
- var isRGBA = color.match(reRGBA);
1327
-
1328
- if ( typeof j1.colors[color] != 'undefined' ) {
1329
- return j1.colors[color];
1330
- } else if (isHex) {
1331
- return color;
1332
- } else if (isRGBA) {
1333
- return color;
1334
- } else {
1335
- return false;
1336
- }
1337
- } else {
1338
- return false;
1339
- }
1340
-
1341
- }, // END setColorData
1342
-
1343
- // -------------------------------------------------------------------------
1344
- // getFontSizeData: Returns the j1_font_sizes object
1345
- // Load loadFontSize definitions from font_size_data_path
1346
- // -------------------------------------------------------------------------
1347
- getFontSizeData: function (data_path) {
1348
- var logger = log4javascript.getLogger('j1.getFontSizeData');
1349
- var j1_font_sizes = {};
1350
-
1351
- return $.ajax({
1352
- url: data_path,
1353
- success: function (data) {
1354
- var logText = 'font size data loaded successfully';
1355
- logger.info(logText);
1356
- state = 'fontsize_data_loaded_success';
1357
- logger.info('state: ' + state);
1358
- executeFunctionByName('j1.setState', window, state);
1359
-
1360
- if (typeof data == 'string') {
1361
- j1_font_sizes = JSON.parse(data);
1362
- }
1363
- if (typeof data == 'object') {
1364
- j1_font_sizes = data;
1365
- }
1366
- },
1367
- error: function (data) {
1368
- var logText = 'font size data not loaded';
1369
- logger.warn(logText);
1370
- state = 'fontsize_data_loaded_failed';
1371
- logger.info('state: ' + state);
1372
- executeFunctionByName('j1.setState', window, state);
1373
- return false;
1374
- }
1375
- });
1376
-
1377
- }, // END getFontSizeData
1378
-
1379
- // -------------------------------------------------------------------------
1380
- // getFontSize: Returns the CSS value for a 'logical' fontsize
1381
- // out of the j1_font_sizes object
1382
- // -------------------------------------------------------------------------
1383
- setFontSize: function (size) {
1384
-
1385
- if ( typeof size != 'undefined' ) {
1386
- var reCSS = /\bpx\b|\brem\b|\bem\b|\%|\binherit\b|\binitial\b|\bunset\b/;
1387
- var isCSS = size.match(reCSS);
1388
-
1389
- if ( typeof j1.fonts[size] != 'undefined' ) {
1390
- return j1.fonts[size];
1391
- } else if (isCSS) {
1392
- return size;
1393
- } else {
1394
- return false;
1395
- }
1396
- } else {
1397
- return false;
1398
- }
1399
-
1400
- }, // END getFontSize
1401
-
1402
- // -------------------------------------------------------------------------
1403
- // loadMessageCatalog
1404
- // Loads the message catalog object
1405
- // -------------------------------------------------------------------------
1406
- getMessageCatalog: function (data_path /*, request_type, data_type*/) {
1407
- var logger = log4javascript.getLogger('j1.loadMessageCatalog');
1408
- var message_catalog = {};
1409
- var type = typeof request_type == 'undefined' || request_type == '' ? 'GET' : request_type;
1410
- var data_type = typeof data_type == 'undefined' || data_type == '' ? 'text' : data_type;
1411
- var messageData;
1412
- var logBase;
1413
- var logText;
1414
- var property;
1415
-
1416
- return $.ajax({
1417
- url: data_path,
1418
- type: type,
1419
- dataType: data_type,
1420
- success: function (data) {
1421
- messageData = yaml.safeLoad(data);
1422
- for (property in messageData) {
1423
- if (messageData.hasOwnProperty(property)) {
1424
- message_catalog[property] = {};
1425
- messageData[property].forEach((element) => {
1426
- var key = Object.keys(element)[0];
1427
- var value = element[Object.keys(element)[0]];
1428
- message_catalog[property][key] = value;
1429
- });
1430
- }
1431
- }
1432
- j1.messages = message_catalog;
1433
- logBase = message_catalog.info.getData.message;
1434
- logText = logBase.text + logBase.message_catalog + logBase.finished;
1435
- logger.info(logText);
1436
- },
1437
- error: function(data) {
1438
- var json_data = JSON.stringify(data, undefined, 2);
1439
- logBase = message_catalog.error.getData.message;
1440
- logText = logBase.text + logBase.xhr + ': ' + json_data;
1441
- logger.error(logText);
1442
- }
1443
- });
1444
-
1445
- }, // END getMessageCatalog
1446
-
1447
- // -------------------------------------------------------------------------
1448
- // readCookie:
1449
- //
1098
+ // readCookie()
1450
1099
  // -------------------------------------------------------------------------
1451
1100
  readCookie: function (name) {
1452
1101
  var data;
@@ -1468,7 +1117,7 @@ var j1 = (function () {
1468
1117
  }, // END readCookie
1469
1118
 
1470
1119
  // -------------------------------------------------------------------------
1471
- // writeCookie:
1120
+ // writeCookie()
1472
1121
  // Write 'data' to a cookie 'name'. If not exists, the cookie gets
1473
1122
  // created. Returns 'true' if cookie was written, otherwise 'false'.
1474
1123
  //
@@ -1616,63 +1265,68 @@ var j1 = (function () {
1616
1265
  resolveMacros: function (user_data) {
1617
1266
  var logger = log4javascript.getLogger('j1.resolveMacros');
1618
1267
 
1619
- if (Object.keys(user_data).length) {
1620
- $('[id^=macro-]').each(function() {
1621
-
1622
- $('#macro-provider').each(function() {
1623
- var $this = $(this);
1624
- var $html = $this.html();
1625
- $this.html($html.replace('??provider', user_data.provider));
1626
- this.href = this.href.replace(/.*\/??provider-site-url/, user_data.provider_site_url);
1627
- });
1628
- $('#macro-user-name').each(function() {
1629
- var $this = $(this);
1630
- var $html = $this.html();
1631
- $this.html($html.replace('??user-name', user_data.user_name));
1632
- this.href = this.href.replace(/.*\/??provider_member_url/, user_data.provider_member_url);
1633
- });
1634
- $('#macro-provider-permissions').each(function() {
1635
- var $this = $(this);
1636
- var $html = $this.html();
1637
- $this.html($html.replace('??provider-permissions', user_data.provider_permissions));
1638
- this.href = this.href.replace(/.*\/??provider_member_url/, user_data.provider_member_url);
1639
- });
1640
- $('#macro-provider-membership').each(function() {
1641
- var $this = $(this);
1642
- var $html = $this.html();
1643
- $this.html($html.replace('??provider-membership', user_data.provider_membership));
1644
- this.href = this.href.replace(/.*\/??provider_member_url/, user_data.provider_member_url);
1645
- });
1646
- $('#macro-cookie-state').each(function() {
1647
- var $this = $(this);
1648
- var $html = $this.html();
1649
- $this.html($html.replace('??cookie-state', user_data.cookies_accepted));
1650
- this.href = this.href.replace(/.*\/??provider_privacy_url/, user_data.provider_privacy_url);
1651
- });
1652
- $('#macro-theme-name').each(function() {
1653
- var $this = $(this);
1654
- var $html = $this.html();
1655
- $this.html($html.replace('??theme-name', user_data.theme_name));
1656
- });
1657
- $('#macro-theme-author').each(function() {
1658
- var $this = $(this);
1659
- var $html = $this.html();
1660
- $this.html($html.replace('??theme-author', user_data.theme_author));
1661
- this.href = this.href.replace(/.*\/??theme-author-url/, user_data.theme_author_url);
1662
- });
1663
- $('#macro-theme-version').each(function() {
1664
- var $this = $(this);
1665
- var $html = $this.html();
1666
- $this.html($html.replace('??theme-version', user_data.theme_version));
1667
- });
1268
+ var sidebarLoaded = setInterval(function() {
1269
+ if ($('#sidebar_mmenu').length) {
1270
+ if (Object.keys(user_data).length) {
1271
+ $('[id^=macro-]').each(function() {
1668
1272
 
1669
- });
1670
- return true;
1671
- } else {
1672
- logger.error('no user data provided');
1673
- return false;
1674
- }
1273
+ $('#macro-provider').each(function() {
1274
+ var $this = $(this);
1275
+ var $html = $this.html();
1276
+ $this.html($html.replace('??provider', user_data.provider));
1277
+ this.href = this.href.replace(/.*\/??provider-site-url/, user_data.provider_site_url);
1278
+ });
1279
+ $('#macro-user-name').each(function() {
1280
+ var $this = $(this);
1281
+ var $html = $this.html();
1282
+ $this.html($html.replace('??user-name', user_data.user_name));
1283
+ this.href = this.href.replace(/.*\/??provider_member_url/, user_data.provider_member_url);
1284
+ });
1285
+ $('#macro-provider-permissions').each(function() {
1286
+ var $this = $(this);
1287
+ var $html = $this.html();
1288
+ $this.html($html.replace('??provider-permissions', user_data.provider_permissions));
1289
+ this.href = this.href.replace(/.*\/??provider_member_url/, user_data.provider_member_url);
1290
+ });
1291
+ $('#macro-provider-membership').each(function() {
1292
+ var $this = $(this);
1293
+ var $html = $this.html();
1294
+ $this.html($html.replace('??provider-membership', user_data.provider_membership));
1295
+ this.href = this.href.replace(/.*\/??provider_member_url/, user_data.provider_member_url);
1296
+ });
1297
+ $('#macro-cookie-state').each(function() {
1298
+ var $this = $(this);
1299
+ var $html = $this.html();
1300
+ $this.html($html.replace('??cookie-state', user_data.cookies_accepted));
1301
+ this.href = this.href.replace(/.*\/??provider_privacy_url/, user_data.provider_privacy_url);
1302
+ });
1303
+ $('#macro-theme-name').each(function() {
1304
+ var $this = $(this);
1305
+ var $html = $this.html();
1306
+ $this.html($html.replace('??theme-name', user_data.theme_name));
1307
+ });
1308
+ $('#macro-theme-author').each(function() {
1309
+ var $this = $(this);
1310
+ var $html = $this.html();
1311
+ $this.html($html.replace('??theme-author', user_data.theme_author));
1312
+ this.href = this.href.replace(/.*\/??theme-author-url/, user_data.theme_author_url);
1313
+ });
1314
+ $('#macro-theme-version').each(function() {
1315
+ var $this = $(this);
1316
+ var $html = $this.html();
1317
+ $this.html($html.replace('??theme-version', user_data.theme_version));
1318
+ });
1675
1319
 
1320
+ });
1321
+ clearInterval(sidebarLoaded);
1322
+ return true;
1323
+ } else {
1324
+ logger.error('no user data provided');
1325
+ clearInterval(sidebarLoaded);
1326
+ return false;
1327
+ }
1328
+ }
1329
+ }, 25); // END 'sidebarLoaded'
1676
1330
  }, // END resolveMacros
1677
1331
 
1678
1332
  // -------------------------------------------------------------------------
@@ -1682,48 +1336,54 @@ var j1 = (function () {
1682
1336
  updateMacros: function (user_data) {
1683
1337
  var logger = log4javascript.getLogger('j1.updateMacros');
1684
1338
 
1685
- if (Object.keys(user_data).length) {
1686
- $('[id^=macro-]').each(function() {
1339
+ var sidebarLoaded = setInterval(function() {
1340
+ if ($('#sidebar_mmenu').length) {
1687
1341
 
1688
- $('#macro-provider').each(function() {
1689
- var $this = $(this);
1690
- var $html = $this.html();
1691
- $this.html($html.replace(/Provider:.*/, 'Provider: ' + user_data.provider));
1692
- $('#macro-provider').attr('href', user_data.provider_site_url);
1693
- });
1694
- $('#macro-user-name').each(function() {
1695
- var $this = $(this);
1696
- var $html = $this.html();
1697
- $this.html($html.replace(/User:.*/, 'User: ' + user_data.user_name));
1698
- $('#macro-user-name').attr('href', user_data.provider_member_url);
1699
- });
1700
- $('#macro-provider-permissions').each(function() {
1701
- var $this = $(this);
1702
- var $html = $this.html();
1703
- // $this.html($html.replace(/public|protected|private|blocked/, user_data.provider_permissions));
1704
- $this.html($html.replace(/public.*|protected.*|private.*|blocked.*/, user_data.provider_permissions));
1705
- $('#macro-provider-permissions').attr('href', user_data.provider_member_url);
1706
- });
1707
- $('#macro-provider-membership').each(function() {
1708
- var $this = $(this);
1709
- var $html = $this.html();
1710
- $this.html($html.replace(/guest|member/, user_data.provider_membership));
1711
- $('#macro-provider-membership').attr('href', user_data.provider_member_url);
1712
- });
1713
- $('#macro-cookie-state').each(function() {
1714
- var $this = $(this);
1715
- var $html = $this.html();
1716
- $this.html($html.replace(/accepted|declined|pending/, user_data.cookies_accepted));
1717
- $('#macro-cookie-state').attr('href', user_data.provider_privacy_url);
1718
- });
1342
+ if (Object.keys(user_data).length) {
1343
+ $('[id^=macro-]').each(function() {
1719
1344
 
1720
- });
1721
- return true;
1722
- } else {
1723
- logger.error('no user data provided');
1724
- return false;
1725
- }
1345
+ $('#macro-provider').each(function() {
1346
+ var $this = $(this);
1347
+ var $html = $this.html();
1348
+ $this.html($html.replace(/Provider:.*/, 'Provider: ' + user_data.provider));
1349
+ $('#macro-provider').attr('href', user_data.provider_site_url);
1350
+ });
1351
+ $('#macro-user-name').each(function() {
1352
+ var $this = $(this);
1353
+ var $html = $this.html();
1354
+ $this.html($html.replace(/User:.*/, 'User: ' + user_data.user_name));
1355
+ $('#macro-user-name').attr('href', user_data.provider_member_url);
1356
+ });
1357
+ $('#macro-provider-permissions').each(function() {
1358
+ var $this = $(this);
1359
+ var $html = $this.html();
1360
+ // $this.html($html.replace(/public|protected|private|blocked/, user_data.provider_permissions));
1361
+ $this.html($html.replace(/public.*|protected.*|private.*|blocked.*/, user_data.provider_permissions));
1362
+ $('#macro-provider-permissions').attr('href', user_data.provider_member_url);
1363
+ });
1364
+ $('#macro-provider-membership').each(function() {
1365
+ var $this = $(this);
1366
+ var $html = $this.html();
1367
+ $this.html($html.replace(/guest|member/, user_data.provider_membership));
1368
+ $('#macro-provider-membership').attr('href', user_data.provider_member_url);
1369
+ });
1370
+ $('#macro-cookie-state').each(function() {
1371
+ var $this = $(this);
1372
+ var $html = $this.html();
1373
+ $this.html($html.replace(/accepted|declined|pending/, user_data.cookies_accepted));
1374
+ $('#macro-cookie-state').attr('href', user_data.provider_privacy_url);
1375
+ });
1726
1376
 
1377
+ });
1378
+ clearInterval(sidebarLoaded);
1379
+ return true;
1380
+ } else {
1381
+ logger.error('no user data provided');
1382
+ clearInterval(sidebarLoaded);
1383
+ return false;
1384
+ }
1385
+ }
1386
+ }, 25); // END 'sidebarLoaded'
1727
1387
  }, // END updateMacros
1728
1388
 
1729
1389
  // -------------------------------------------------------------------------
@@ -1748,49 +1408,6 @@ var j1 = (function () {
1748
1408
  return true;
1749
1409
  }, // END logger
1750
1410
 
1751
- // -------------------------------------------------------------------------
1752
- // getBaseUrl
1753
- // -------------------------------------------------------------------------
1754
- // getBaseUrl: function () {
1755
- // var myUrl = window.location.href;
1756
- // var ua = platform.name.toLowerCase();
1757
- // var reURL = new RegExp('(http[s]?:\/\/)?([^\/]+)(.*)');
1758
- // var baseUrl;
1759
- // //var reGroups;
1760
- //
1761
- // // NOTE: named capture groups NOT supported by FF + IE11
1762
- // // if ( ua === 'chrome' ) {
1763
- // // reURL = new RegExp('(?<prot>http[s]?:\/\/)?(?<host>[^\/]+)(?<path>.*)');
1764
- // // reGroups = myUrl.match(reURL).groups;
1765
- // // baseUrl = reGroups.prot + reGroups.host;
1766
- // // } else {
1767
- // // reURL = new RegExp('(http[s]?:\/\/)?([^\/]+)(.*)');
1768
- // // myUrl.match(reURL);
1769
- // // baseUrl = RegExp.$1 + RegExp.$2 + RegExp.$3;
1770
- // // }
1771
- //
1772
- // myUrl.match(reURL);
1773
- // // baseUrl = RegExp.$1 + RegExp.$2 + RegExp.$3;
1774
- // baseUrl = RegExp.$1 + RegExp.$2;
1775
- //
1776
- // return baseUrl;
1777
- // }, // END getBaseUrl
1778
-
1779
- // -------------------------------------------------------------------------
1780
- // getPath
1781
- // See: https://stackoverflow.com/questions/27745/getting-parts-of-a-url-regex
1782
- // -------------------------------------------------------------------------
1783
- // getPath: function ( myUrl ) {
1784
- // var url = new parseURL(myUrl)
1785
- // // var reURL = new RegExp('(http[s]?:\/\/)?([^\/]+)(.*)');
1786
- // // var path;
1787
- // //
1788
- // // myUrl.match(reURL);
1789
- // path = url.path;
1790
- //
1791
- // return path;
1792
- // }, // END getPath
1793
-
1794
1411
  // -------------------------------------------------------------------------
1795
1412
  // Send message
1796
1413
  // -------------------------------------------------------------------------
@@ -1912,19 +1529,18 @@ var j1 = (function () {
1912
1529
  // -----------------------------------------------------------------------
1913
1530
  $('head').append('<style>.btn-viewer:hover { background-color: ' +bg_primary+ ' !important; }</style>');
1914
1531
 
1915
- // clipboard
1916
- // -----------------------------------------------------------------------
1917
- $('head').append('<style>.btn-clipboard:hover { background-color: ' +bg_primary+ ' !important; }</style>');
1918
-
1919
1532
  // extended modals
1920
1533
  // -----------------------------------------------------------------------
1921
- var tabs_pills_link_color_active = j1.setColorData('md_blue'); // j1.getStyleValue('btn-info', 'background-color');
1922
- var tabs_pills_link_color_hover = j1.setColorData('md_gray_300'); // j1.getStyleValue('btn-secondary', 'background-color');
1534
+ // var tabs_pills_link_color_active = j1.setColorData('md_blue'); // j1.getStyleValue('btn-info', 'background-color');
1535
+ // var tabs_pills_link_color_hover = j1.setColorData('md_gray_300'); // j1.getStyleValue('btn-secondary', 'background-color');
1536
+
1537
+ // var tabs_pills_link_color_active = 'mdi-blue';
1538
+ // var tabs_pills_link_color_hover = 'mdi-gray-300';
1923
1539
 
1924
1540
  // nav module
1925
1541
  // -----------------------------------------------------------------------
1926
- $('head').append('<style>.nav-link:hover { background-color: ' +tabs_pills_link_color_hover+ ' !important; }</style>');
1927
- $('head').append('<style>.nav-link.active { background-color: ' +tabs_pills_link_color_active+ ' !important; }</style>');
1542
+ // $('head').append('<style>.nav-link:hover { background-color: ' +tabs_pills_link_color_hover+ ' !important; }</style>');
1543
+ // $('head').append('<style>.nav-link.active { background-color: ' +tabs_pills_link_color_active+ ' !important; }</style>');
1928
1544
 
1929
1545
  return true;
1930
1546
  }, // END setCss
@@ -1963,14 +1579,13 @@ var j1 = (function () {
1963
1579
  // getUserAgent
1964
1580
  // Return the name of the web browser
1965
1581
  // -------------------------------------------------------------------------
1966
- checkUserAgent: function (ua_name) {
1582
+ checkUserAgent: function () {
1967
1583
  if (navigator.userAgent.search(ua_name) >= 0) {
1968
1584
  return true;
1969
1585
  } else {
1970
1586
  return false;
1971
1587
  }
1972
1588
  }, // END checkUserAgent
1973
-
1974
1589
  // -------------------------------------------------------------------------
1975
1590
  // Return always true (for testing purposes)
1976
1591
  // -------------------------------------------------------------------------
@@ -2003,5 +1618,9 @@ var j1 = (function () {
2003
1618
  }) (j1, window);
2004
1619
 
2005
1620
  {% endcapture %}
2006
- {{ cache | strip_empty_lines }}
1621
+ {% if production %}
1622
+ {{ cache | minifyJS }}
1623
+ {% else %}
1624
+ {{ cache | strip_empty_lines }}
1625
+ {% endif %}
2007
1626
  {% assign cache = nil %}