j1_template_mde 2018.4.33 → 2018.4.34

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/layout_shim_generator.html +1 -1
  3. data/_includes/themes/j1/modules/navigator/generator.html +16 -3
  4. data/lib/j1/commands/generate.rb +4 -4
  5. data/lib/j1/version.rb +1 -1
  6. data/lib/starter_web/Gemfile +1 -1
  7. data/lib/starter_web/_config.yml +1 -1
  8. data/lib/starter_web/_data/j1_config.yml +24 -7
  9. data/lib/starter_web/_data/modules/j1_cookie_consent.yml +12 -7
  10. data/lib/starter_web/_data/modules/j1_navigator.yml +61 -50
  11. data/lib/starter_web/_data/modules/j1_navigator_menu.yml +4 -6
  12. data/lib/starter_web/assets/data/cookie_consent.html +12 -11
  13. data/lib/starter_web/assets/data/menu.html +3 -2
  14. data/lib/starter_web/assets/data/quicklinks.html +149 -0
  15. data/lib/starter_web/assets/data/sidebar.html +271 -0
  16. data/lib/starter_web/assets/images/pages/roundtrip/package.json +1 -1
  17. data/lib/starter_web/assets/themes/j1/core/css/theme_extensions.css +8 -5
  18. data/lib/starter_web/assets/themes/j1/core/css/theme_extensions.min.css +1 -1
  19. data/lib/starter_web/assets/themes/j1/core/css/uno.css +8 -5
  20. data/lib/starter_web/assets/themes/j1/core/css/uno.min.css +1 -1
  21. data/lib/starter_web/assets/themes/j1/core/js/adapter/algolia.js +1 -1
  22. data/lib/starter_web/assets/themes/j1/core/js/adapter/back2top.js +3 -3
  23. data/lib/starter_web/assets/themes/j1/core/js/adapter/bs_gallery.js +2 -2
  24. data/lib/starter_web/assets/themes/j1/core/js/adapter/cookie_consent.js +36 -25
  25. data/lib/starter_web/assets/themes/j1/core/js/adapter/custom.js +1 -1
  26. data/lib/starter_web/assets/themes/j1/core/js/adapter/iframer.js +1 -1
  27. data/lib/starter_web/assets/themes/j1/core/js/adapter/lightbox.js +1 -1
  28. data/lib/starter_web/assets/themes/j1/core/js/adapter/logger.js +1 -1
  29. data/lib/starter_web/assets/themes/j1/core/js/adapter/master_header.js +2 -2
  30. data/lib/starter_web/assets/themes/j1/core/js/adapter/navigator.js +108 -23
  31. data/lib/starter_web/assets/themes/j1/core/js/adapter/scroller.js +1 -1
  32. data/lib/starter_web/assets/themes/j1/core/js/adapter/searcher.js +1 -1
  33. data/lib/starter_web/assets/themes/j1/core/js/adapter/stickybits.js +1 -1
  34. data/lib/starter_web/assets/themes/j1/core/js/adapter/switcher.js +1 -1
  35. data/lib/starter_web/assets/themes/j1/core/js/adapter/template.js +145 -74
  36. data/lib/starter_web/assets/themes/j1/core/js/adapter/toccer.js +5 -5
  37. data/lib/starter_web/assets/themes/j1/core/js/template.js +1 -1
  38. data/lib/starter_web/assets/themes/j1/core/js/template.js.map +1 -1
  39. data/lib/starter_web/assets/themes/j1/core/js/template.min.js +1 -1
  40. data/lib/starter_web/j1_config.yml +223 -0
  41. data/lib/starter_web/package.json +1 -1
  42. data/lib/starter_web/pages/public/about/about_site.adoc +33 -4
  43. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +130 -14
  44. data/lib/starter_web/pages/public/legal/en/400_license_agreement.adoc +2 -4
  45. data/lib/starter_web/pages/public/start/downloads/quickstarter/000_includes/tables/100_quickstart_installation_packages.asciidoc +1 -1
  46. metadata +5 -4
  47. data/lib/starter_web/assets/data/_authclient.html +0 -365
  48. data/lib/starter_web/pages/public/about/about_you.adoc +0 -139
@@ -94,7 +94,7 @@ j1.Scroller = (function (j1, window) {
94
94
  logger.info('state: ' + state); // Set|Log status
95
95
  logger.info("SmoothScroll initialized successfully");
96
96
 
97
- return;
97
+ return true;
98
98
  }, // END init
99
99
 
100
100
  // -------------------------------------------------------------------------
@@ -94,7 +94,7 @@ j1.Searcher = (function (j1, window) {
94
94
  logger.info("Jekyll Search initialized successfully");
95
95
  logger.info('state: ' + state); // Set|Log status
96
96
 
97
- return;
97
+ return true;
98
98
  }, // END init
99
99
 
100
100
  // -------------------------------------------------------------------------
@@ -80,7 +80,7 @@ j1.Stickybits = (function (j1, window) {
80
80
  logger.info('state: ' + state); // Set|Log status
81
81
  logger.info("J1 Stickybits successfully initialized");
82
82
 
83
- return;
83
+ return true;
84
84
  }, // END init
85
85
 
86
86
  // -------------------------------------------------------------------------
@@ -98,7 +98,7 @@ j1.Switcher = (function (j1, window) {
98
98
  logger.info('state: ' + state); // Set|Log status
99
99
  logger.info("J1 Theme Switcher initialized successfully");
100
100
 
101
- return;
101
+ return true;
102
102
  }, // END init
103
103
 
104
104
  // -------------------------------------------------------------------------
@@ -93,7 +93,6 @@ var j1 = function () {
93
93
  var colors_data_path = "/assets/data/colors.json";
94
94
 
95
95
  // Logger
96
- var logger;
97
96
  var logText;
98
97
 
99
98
  // J1 UserState Cookie (initial values)
@@ -102,15 +101,15 @@ var j1 = function () {
102
101
  'theme_extension_css' : '/assets/themes/j1/core/css/theme_extensions.css',
103
102
  'theme_name' : 'Uno',
104
103
  'theme_author' : 'J1 Team',
105
- 'theme_link' : 'https://support.jekyll-one.com/',
104
+ 'theme_link' : 'https://jekyll.one/',
106
105
  'previous_page' : 'unknown',
107
106
  'current_page' : 'unknown',
108
- 'provider' : 'j1',
109
- 'provider_membership' : 'guest',
110
- "provider_permissions" : "public",
111
- "provider_url" : "https:/jekyll.one",
107
+ 'provider' : '{{site.data.j1_config.user.provider}}',
108
+ 'provider_membership' : '{{site.data.j1_config.user.provider_membership}}',
109
+ "provider_permissions" : "{{site.data.j1_config.user.provider_permissions}}",
110
+ "provider_url" : "{{site.data.j1_config.user.provider_url}}",
112
111
  'status' : 'pending',
113
- 'user_name' : 'visitor',
112
+ 'user_name' : '{{site.data.j1_config.user.user_name}}',
114
113
  'language' : 'unknown',
115
114
  'cookies_accepted' : "pending",
116
115
  'writer' : 'web'
@@ -120,8 +119,9 @@ var j1 = function () {
120
119
 
121
120
  // Initialize
122
121
  init: function ( options ) {
122
+ var logger;
123
123
 
124
- var logger = log4javascript.getLogger('j1.Template.adapter');
124
+ logger = log4javascript.getLogger('j1.Template.init');
125
125
  state = 'started';
126
126
  logger.info('state: ' + state); // Set|Log status
127
127
 
@@ -132,7 +132,8 @@ var j1 = function () {
132
132
  }
133
133
 
134
134
  if ( settings.scrollbar === 'false' ) {
135
- $( 'body' ).addClass( 'hide-scrollbar' )
135
+ $('body').addClass( 'hide-scrollbar' )
136
+ $('html').addClass( 'hide-scrollbar-moz' )
136
137
  }
137
138
 
138
139
  // Detect|Set J1 AppSession
@@ -176,7 +177,7 @@ var j1 = function () {
176
177
  j1.displayPage(settings);
177
178
  });
178
179
 
179
- return;
180
+ return true;
180
181
  }, // END init
181
182
 
182
183
  // -------------------------------------------------------------------------
@@ -184,12 +185,12 @@ var j1 = function () {
184
185
  // -------------------------------------------------------------------------
185
186
  // ToDo:
186
187
  initBanner: function ( options ) {
187
-
188
- var logger = log4javascript.getLogger('j1.Template.adapter');
189
188
  var banner = [];
190
189
  var bannerOptions = [];
190
+ var logger;
191
191
 
192
- var logText = 'initBanner: Start initialization';
192
+ logger = log4javascript.getLogger('j1.Template.initBanner');
193
+ logText = 'initBanner: Start initialization';
193
194
  logger.info(logText);
194
195
 
195
196
  {% comment %} helper functions for (AJAX) data load
@@ -294,19 +295,19 @@ var j1 = function () {
294
295
  }
295
296
  }
296
297
 
297
- return;
298
+ return true;
298
299
  }, // END initBanner
299
300
 
300
301
  // -------------------------------------------------------------------------
301
302
  // AJAX loader for panel used with J1 Template fo all pages
302
303
  // -------------------------------------------------------------------------
303
304
  // ToDo:
304
- initPanel: function ( options ) {
305
-
306
- var logger = log4javascript.getLogger('j1.Template.adapter');
307
- var panel = [];
305
+ initPanel: function ( options ) {
306
+ var panel = [];
307
+ var logger;
308
308
 
309
- var logText = 'initPanel: Start initialization';
309
+ logger = log4javascript.getLogger('j1.Template.initPanel');
310
+ logText = 'initPanel: Start initialization';
310
311
  logger.info(logText);
311
312
 
312
313
  // closure to pass additional data (e.g. div #id)
@@ -360,7 +361,7 @@ var j1 = function () {
360
361
  }
361
362
  }
362
363
 
363
- return;
364
+ return true;
364
365
  }, // END initPanel
365
366
 
366
367
  // -------------------------------------------------------------------------
@@ -368,9 +369,10 @@ var j1 = function () {
368
369
  // -------------------------------------------------------------------------
369
370
  // ToDo:
370
371
  initFooter: function ( options ) {
372
+ var logger;
371
373
 
372
- var logger = log4javascript.getLogger('j1.Template.adapter');
373
- var logText = 'initFooter: Start initialization';
374
+ logger = log4javascript.getLogger('j1.Template.initFooter');
375
+ logText = 'initFooter: Start initialization';
374
376
  logger.info(logText);
375
377
 
376
378
  var cb_load_closure = function(footer_id) {
@@ -396,7 +398,7 @@ var j1 = function () {
396
398
  selector.load( footer_data_path, cb_load_closure( id ) );
397
399
  }
398
400
 
399
- return;
401
+ return true;
400
402
  }, // END initFooter
401
403
 
402
404
  // -------------------------------------------------------------------------
@@ -404,9 +406,10 @@ var j1 = function () {
404
406
  // -------------------------------------------------------------------------
405
407
  // ToDo:
406
408
  initClipboard: function ( options ) {
409
+ var logger;
407
410
 
408
- var logger = log4javascript.getLogger('j1.Template.adapter');
409
- var logText = 'initClipboard: Start initialization';
411
+ logger = log4javascript.getLogger('j1.Template.initClipboard');
412
+ logText = 'initClipboard: Start initialization';
410
413
  logger.info(logText);
411
414
 
412
415
  // insert copy to clipboard button before all elements having a
@@ -450,7 +453,7 @@ var j1 = function () {
450
453
  $(e.trigger).attr('title', fallbackMsg).tooltip('_fixTitle').tooltip('show').attr('title', 'Copy to clipboard').tooltip('_fixTitle');
451
454
  });
452
455
 
453
- return;
456
+ return true;
454
457
  }, // END initClipboard
455
458
 
456
459
  // -------------------------------------------------------------------------
@@ -459,16 +462,47 @@ var j1 = function () {
459
462
  // AND the menubar is signaled as (state) 'finished'
460
463
  // -------------------------------------------------------------------------
461
464
  displayPage: function ( options ) {
465
+ var settings = options;
466
+ var user_state = {};
467
+ var web_session_state = {};
468
+ var appDetected = j1.Navigator.appDetected();
469
+ var authClientEnabled = j1.Navigator.authClientEnabled();
470
+ var logger;
462
471
 
463
- var settings = options;
464
-
465
- logger = log4javascript.getLogger('j1.displayPage');
466
- logText = 'Start to display the page';
472
+ logger = log4javascript.getLogger('j1.Template.displayPage');
473
+ logText = 'Finalize current page';
467
474
  logger.info(logText);
468
475
 
469
476
  var headerLoaded = setInterval(function() {
470
477
 
471
478
  if ( j1.MastHead.state() === 'initialized' && j1.Navigator.state() === 'finished' ) {
479
+
480
+ user_state = j1.getUserStateCookie();
481
+
482
+ // Show or Hide cookie icon
483
+ if ( user_state.cookies_accepted === 'accepted' ) {
484
+ logText = 'Display cookie icon';
485
+ logger.info(logText);
486
+ // Display cookie icon
487
+ $('#quickLinksCookieButton').css('display', 'block');
488
+ } else {
489
+ logText = 'Hide cookie icon';
490
+ logger.info(logText);
491
+ // Display cookie icon
492
+ $('#quickLinksCookieButton').css('display', 'none');
493
+ }
494
+
495
+ // Show or Hide signin icon
496
+ if ( appDetected && authClientEnabled ) {
497
+ logText = 'Show signIn icon';
498
+ logger.info(logText);
499
+ $('#quickLinksSignInOutButton').css('display', 'block');
500
+ } else {
501
+ logText = 'Hide signIn icon';
502
+ logger.info(logText);
503
+ $('#quickLinksSignInOutButton').css('display', 'none');
504
+ }
505
+
472
506
  $('#no_flicker').css('display', 'block'); // display current page
473
507
  j1.scrollTo(); // scroll to an anchor element this page (if any)
474
508
 
@@ -480,7 +514,7 @@ var j1 = function () {
480
514
  state = 'finished';
481
515
  logText = 'state: ' + state;
482
516
  logger.info(logText);
483
- logText = "displayPage: J1 Template successfully initialized";
517
+ logText = "J1 Template successfully initialized";
484
518
  logger.info(logText);
485
519
 
486
520
  // clear interval checking
@@ -488,7 +522,7 @@ var j1 = function () {
488
522
  }
489
523
  }, 50); // END setInterval
490
524
 
491
- return;
525
+ return true;
492
526
  }, // END displayPage
493
527
 
494
528
  // -------------------------------------------------------------------------
@@ -496,9 +530,10 @@ var j1 = function () {
496
530
  // -------------------------------------------------------------------------
497
531
  // ToDo:
498
532
  initMDB: function ( options ) {
533
+ var logger;
499
534
 
500
- var logger = log4javascript.getLogger('j1.Template.adapter');
501
- var logText = 'initMDB: Start initMDB';
535
+ logger = log4javascript.getLogger('j1.Template.initMDB');
536
+ logText = 'initMDB: Start initMDB';
502
537
  logger.info(logText);
503
538
 
504
539
  $('body').bootstrapMaterialDesign();
@@ -507,7 +542,7 @@ var j1 = function () {
507
542
  var logText = 'initMDB Finished initMDB';
508
543
  logger.info(logText);
509
544
 
510
- return;
545
+ return true;
511
546
  }, // END initMDB
512
547
 
513
548
  // -------------------------------------------------------------------------
@@ -570,6 +605,39 @@ var j1 = function () {
570
605
  return decodeURI(dc.substring(begin + prefix.length, end) ).replace(/"/g, '');
571
606
  }, // END getCookie
572
607
 
608
+ // -------------------------------------------------------------------------
609
+ // Clears all given cookies by name (except cookies set to httpOnly).
610
+ // For all cookies, the expire date is set in the past to make all
611
+ // cookies affectected a 'session' cookie. All session cookies are
612
+ // deleted by the browser automatically if the last session (browser
613
+ // window) is closed.
614
+ // See: https://stackoverflow.com/questions/179355/clearing-all-cookies-with-javascript
615
+ // -------------------------------------------------------------------------
616
+ deleteCookie: function (options) {
617
+ var name = options;
618
+ var all_cookies = document.cookie.split("; ");
619
+
620
+ if ( name === 'all' ) {
621
+ for (var c = 0; c < all_cookies.length; c++) {
622
+ var d = window.location.hostname.split(".");
623
+ while (d.length > 0) {
624
+ var cookieBase = encodeURIComponent(all_cookies[c].split(";")[0].split("=")[0]) + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' + d.join('.') + ' ;path=';
625
+ var p = location.pathname.split('/');
626
+ document.cookie = cookieBase + '/';
627
+ while (p.length > 0) {
628
+ document.cookie = cookieBase + p.join('/');
629
+ p.pop();
630
+ };
631
+ d.shift();
632
+ }
633
+ }
634
+ } else {
635
+ document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
636
+ }
637
+
638
+ return true;
639
+ }, // END getCookie
640
+
573
641
  // -------------------------------------------------------------------------
574
642
  // Returns the current user state collected from /status endpoint
575
643
  // if the web is detected as an app
@@ -642,7 +710,7 @@ var j1 = function () {
642
710
  Cookies.set( 'j1.user.state', user_state_encoded, { expires: 365 } );
643
711
  }
644
712
 
645
- return;
713
+ return true;
646
714
  }, // END setUserStateCookie
647
715
 
648
716
  // -------------------------------------------------------------------------
@@ -759,7 +827,7 @@ var j1 = function () {
759
827
  $(window).scrollTop($(window).scrollTop()-1);
760
828
  } // END if anchor_id
761
829
 
762
- return;
830
+ return true;
763
831
  }, // END scrollTo
764
832
 
765
833
  // -------------------------------------------------------------------------
@@ -845,7 +913,7 @@ var j1 = function () {
845
913
  });
846
914
  }); // END Replace macros
847
915
 
848
- return;
916
+ return true;
849
917
  }, // END resolveMacros
850
918
 
851
919
  // -------------------------------------------------------------------------
@@ -881,7 +949,7 @@ var j1 = function () {
881
949
  var $html = $this.html();
882
950
  //$this.html($html.replace(/all|public|protected|private/g, user_state.provider_permissions));
883
951
  //$this.html($html.replace(/.*/, 'Permissions: ' + user_state.provider_permissions));
884
- $this.html($html.replace(/public.*|protected.*|private.*/, user_state.provider_permissions));
952
+ $this.html($html.replace(/public.*|protected.*|private.*|blocked.*/, user_state.provider_permissions));
885
953
  });
886
954
  $('#macro-provider-membership').each(function() {
887
955
  var $this = $(this);
@@ -890,7 +958,7 @@ var j1 = function () {
890
958
  });
891
959
  });
892
960
 
893
- return;
961
+ return true;
894
962
  }, // END updateMacros
895
963
 
896
964
  // -------------------------------------------------------------------------
@@ -920,17 +988,16 @@ var j1 = function () {
920
988
  //
921
989
  // -------------------------------------------------------------------------
922
990
  updateCookies: function ( data ) {
923
-
924
991
  var user_state = data;
925
992
  var appDetected = j1.Navigator.appDetected();
926
993
  var authClientEnabled = j1.Navigator.authClientEnabled();
994
+ var cookiesDeclined = user_state.cookies_accepted === 'declined' ? true : false;
927
995
  var userAuthenticated;
928
996
  var web_session_state;
929
997
  var json_data;
930
- var logger;
931
- var logText;
998
+ var logger;
932
999
 
933
- logger = log4javascript.getLogger('j1.updateCookies');
1000
+ logger = log4javascript.getLogger('j1.Template.updateCookies');
934
1001
 
935
1002
  // Update cookies
936
1003
  if ( appDetected ) {
@@ -941,17 +1008,25 @@ var j1 = function () {
941
1008
  user_state.authenticated = userAuthenticated;
942
1009
 
943
1010
  if ( userAuthenticated ) {
944
- user_state.provider = web_session_state.provider;
945
- user_state.user_name = web_session_state.user_name;
946
- user_state.provider_membership = web_session_state.provider_membership;
947
- user_state.provider_permissions = web_session_state.provider_permissions;
1011
+ user_state.provider = web_session_state.provider;
1012
+ user_state.user_name = web_session_state.user_name;
1013
+ user_state.provider_membership = web_session_state.provider_membership;
1014
+ if ( cookiesDeclined ) {
1015
+ user_state.provider_permissions = 'blocked';
1016
+ } else {
1017
+ user_state.provider_permissions = web_session_state.provider_permissions;
1018
+ }
948
1019
  } else {
949
- // Set default credentials if soignet out
950
- user_state.provider = 'j1'
951
- user_state.user_name = 'vistor';
952
- user_state.status = 'active';
953
- user_state.provider_membership = 'guest';
954
- user_state.provider_permissions = 'public'
1020
+ // Set default credentials if user is signed out
1021
+ user_state.provider = '{{site.data.j1_config.user.provider}}';
1022
+ user_state.user_name = '{{site.data.j1_config.user.user_name}}';
1023
+ user_state.status = 'active';
1024
+ user_state.provider_membership = '{{site.data.j1_config.user.provider_membership}}';
1025
+ if ( cookiesDeclined ) {
1026
+ user_state.provider_permissions = 'blocked';
1027
+ } else {
1028
+ user_state.provider_permissions = '{{site.data.j1_config.user.provider_permissions}}';
1029
+ }
955
1030
  }
956
1031
  }
957
1032
 
@@ -970,7 +1045,7 @@ var j1 = function () {
970
1045
  logText = 'User State data: ' + json_data;
971
1046
  logger.info(logText);
972
1047
 
973
- return;
1048
+ return true;
974
1049
  }, // END updateCookies
975
1050
 
976
1051
  // -------------------------------------------------------------------------
@@ -979,37 +1054,33 @@ var j1 = function () {
979
1054
  // Note:
980
1055
  // -------------------------------------------------------------------------
981
1056
  updateSidebar: function () {
982
-
983
1057
  var user_state = j1.getUserStateCookie();
984
1058
  var json_data;
985
- var logText;
986
-
987
- logger = log4javascript.getLogger('j1.updateSidebar');
1059
+ var logger;
1060
+
1061
+ logger = log4javascript.getLogger('j1.Template.updateSidebar');
1062
+
1063
+ if (!user_state) {
1064
+ user_state = {};
1065
+ user_state.status = 'pending';
1066
+ user_state.user_name = '{{site.data.j1_config.user.user_name}}';
1067
+ user_state.provider = '{{site.data.j1_config.user.provider}}';
1068
+ user_state.provider_url = '{{site.data.j1_config.user.provider_url}}';
1069
+ user_state.provider_membership = '{{site.data.j1_config.user.provider_membership}}';
1070
+ user_state.provider_permissions = 'blocked';
1071
+
1072
+ }
988
1073
 
989
1074
  json_data = JSON.stringify( user_state, undefined, 2); // JSON pretty print
990
1075
  logText = 'User State data: ' + json_data;
991
1076
  logger.info(logText);
992
1077
 
993
- // var pageLoaded = setInterval(function() {
994
- // if ( j1.state() === 'finished' ) {
995
- // //if ( j1.cookieConsent.state() === 'finished' ) {
996
- // // Replace Macro placeholders to values
997
- // j1.resolveMacros( user_state );
998
- // // Replace Macro values only
999
- // j1.updateMacros( user_state );
1000
- //
1001
- // // clear interval checking
1002
- // clearInterval(pageLoaded);
1003
- // } // END Replace Macro placeholders
1004
- // }, 50); // END setInterval
1005
-
1006
1078
  // Replace Macro placeholders to values
1007
1079
  j1.resolveMacros( user_state );
1008
1080
  // Replace Macro values only
1009
1081
  j1.updateMacros( user_state );
1010
1082
 
1011
-
1012
- return;
1083
+ return true;
1013
1084
  } // END updateSidebar
1014
1085
 
1015
1086
  } // END j1 (return)