j1_template_mde 2018.4.32 → 2018.4.33

Sign up to get free protection for your applications and to get access to all the features.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/lib/j1/version.rb +1 -1
  3. data/lib/starter_web/Gemfile +1 -1
  4. data/lib/starter_web/_config.yml +1 -2
  5. data/lib/starter_web/_data/modules/j1_cookie_consent.yml +0 -2
  6. data/lib/starter_web/assets/images/pages/roundtrip/package.json +1 -1
  7. data/lib/starter_web/assets/themes/j1/core/js/adapter/algolia.js +3 -2
  8. data/lib/starter_web/assets/themes/j1/core/js/adapter/back2top.js +13 -6
  9. data/lib/starter_web/assets/themes/j1/core/js/adapter/bs_gallery.js +207 -203
  10. data/lib/starter_web/assets/themes/j1/core/js/adapter/cookie_consent.js +27 -18
  11. data/lib/starter_web/assets/themes/j1/core/js/adapter/custom.js +8 -5
  12. data/lib/starter_web/assets/themes/j1/core/js/adapter/iframer.js +5 -3
  13. data/lib/starter_web/assets/themes/j1/core/js/adapter/lightbox.js +3 -2
  14. data/lib/starter_web/assets/themes/j1/core/js/adapter/logger.js +5 -3
  15. data/lib/starter_web/assets/themes/j1/core/js/adapter/master_header.js +17 -12
  16. data/lib/starter_web/assets/themes/j1/core/js/adapter/navigator.js +33 -25
  17. data/lib/starter_web/assets/themes/j1/core/js/adapter/scroller.js +7 -4
  18. data/lib/starter_web/assets/themes/j1/core/js/adapter/searcher.js +48 -44
  19. data/lib/starter_web/assets/themes/j1/core/js/adapter/stickybits.js +7 -4
  20. data/lib/starter_web/assets/themes/j1/core/js/adapter/switcher.js +8 -4
  21. data/lib/starter_web/assets/themes/j1/core/js/adapter/template.js +139 -142
  22. data/lib/starter_web/assets/themes/j1/core/js/adapter/toccer.js +201 -191
  23. data/lib/starter_web/assets/themes/j1/core/js/template.js +1 -1
  24. data/lib/starter_web/assets/themes/j1/core/js/template.js.map +1 -1
  25. data/lib/starter_web/assets/themes/j1/core/js/template.min.js +1 -1
  26. data/lib/starter_web/collections/posts/private/series/_posts/2018-11-01-docker-using-shared-folders.adoc +2 -1
  27. data/lib/starter_web/collections/posts/public/featured/_posts/{2019-04-12-about-cookies.adoc → 2019-04-22-about-cookies.adoc} +1 -1
  28. data/lib/starter_web/package.json +1 -1
  29. metadata +3 -3
@@ -58,12 +58,14 @@ regenerate: true
58
58
  --------------------------------------------------------------- {% endcomment %}
59
59
 
60
60
  j1.Scroller = (function (j1, window) {
61
+
61
62
  var environment = '{{environment}}'; // Set environment
62
- var state = 'unknown';
63
+ var state = 'not_started';
63
64
  var logger;
64
65
  var logText;
65
66
 
66
67
  return {
68
+
67
69
  // Initialize
68
70
  init: function () {
69
71
  // Setup logger
@@ -92,16 +94,17 @@ j1.Scroller = (function (j1, window) {
92
94
  logger.info('state: ' + state); // Set|Log status
93
95
  logger.info("SmoothScroll initialized successfully");
94
96
 
95
- }, // end init
97
+ return;
98
+ }, // END init
96
99
 
97
100
  // -------------------------------------------------------------------------
98
101
  // returns the current (processing) state of the module
99
102
  // -------------------------------------------------------------------------
100
103
  state: function () {
101
104
  return state;
102
- }
105
+ } // END state
103
106
 
104
- }; // end return
107
+ }; // END return
105
108
  })(j1, window);
106
109
 
107
110
  {% endcapture %}
@@ -48,59 +48,63 @@ regenerate: true
48
48
  'use strict';
49
49
 
50
50
  {% comment %} Variables
51
- ------------------------------------------------------------ {% endcomment %}
51
+ -------------------------------------------------------------------------------- {% endcomment %}
52
52
 
53
53
  {% assign environment = site.environment %}
54
54
  {% assign config = site.data.modules.j1_jekyll_search %}
55
55
 
56
56
 
57
57
  {% comment %} Main
58
- ------------------------------------------------------------ {% endcomment %}
58
+ -------------------------------------------------------------------------------- {% endcomment %}
59
59
 
60
60
  {% if config.enabled %}
61
61
 
62
- j1.Searcher = (function (j1, window) {
63
- var environment = '{{environment}}'; // Set environment
64
- var state = 'unknown';
65
- var logger;
66
- var logText;
67
-
68
- return {
69
- // Initialize
70
- init: function () {
71
- // Setup logger
72
- logger = log4javascript.getLogger("j1.QuickSearch.adapter");
73
- logger.info("Jekyll Search is being initialized");
74
- state = 'started';
75
- logger.info('state: ' + state); // Set|Log status
76
-
77
- var jekyllSearch = SimpleJekyllSearch({
78
- searchInput: document.getElementById( {{config.search_input | json }} ),
79
- resultsOutput: document.getElementById( {{config.results_output | json }} ),
80
- resultsContainer: document.getElementById( {{config.results_container | json }} ),
81
- json: {{config.index_data | json }},
82
- searchResultTemplate: {{config.result_template | json }},
83
- limit: {{config.result_limit | json }},
84
- minSearchItemLen: {{config.min_search_item_len | json }},
85
- fuzzy: {{config.search_fuzzy | json }},
86
- exclude: [ {{config.search_exlude| json }} ],
87
- noResultsText: {{quick_search_quick_search_config.no_results_text | json }}
88
- });
89
-
90
- state = 'finished';
91
- logger.info("Jekyll Search initialized successfully");
92
- logger.info('state: ' + state); // Set|Log status
93
- }, // end init
94
-
95
- // -------------------------------------------------------------------------
96
- // returns the current (processing) state of the module
97
- // -------------------------------------------------------------------------
98
- state: function () {
99
- return state;
100
- }
101
-
102
- }; // end return
103
-
62
+ j1.Searcher = (function (j1, window) {
63
+
64
+ var environment = '{{environment}}'; // Set environment
65
+ var state = 'not_started';
66
+ var logger;
67
+ var logText;
68
+
69
+ return {
70
+
71
+ // Initialize
72
+ init: function () {
73
+
74
+ // Setup logger
75
+ logger = log4javascript.getLogger("j1.QuickSearch.adapter");
76
+ logger.info("Jekyll Search is being initialized");
77
+ state = 'started';
78
+ logger.info('state: ' + state); // Set|Log status
79
+
80
+ var jekyllSearch = SimpleJekyllSearch({
81
+ searchInput: document.getElementById( {{config.search_input | json }} ),
82
+ resultsOutput: document.getElementById( {{config.results_output | json }} ),
83
+ resultsContainer: document.getElementById( {{config.results_container | json }} ),
84
+ json: {{config.index_data | json }},
85
+ searchResultTemplate: {{config.result_template | json }},
86
+ limit: {{config.result_limit | json }},
87
+ minSearchItemLen: {{config.min_search_item_len | json }},
88
+ fuzzy: {{config.search_fuzzy | json }},
89
+ exclude: [ {{config.search_exlude| json }} ],
90
+ noResultsText: {{quick_search_quick_search_config.no_results_text | json }}
91
+ });
92
+
93
+ state = 'finished';
94
+ logger.info("Jekyll Search initialized successfully");
95
+ logger.info('state: ' + state); // Set|Log status
96
+
97
+ return;
98
+ }, // END init
99
+
100
+ // -------------------------------------------------------------------------
101
+ // returns the current (processing) state of the module
102
+ // -------------------------------------------------------------------------
103
+ state: function () {
104
+ return state;
105
+ } // END state
106
+
107
+ }; // END return
104
108
  })(j1, window);
105
109
 
106
110
  {% endif %}
@@ -55,13 +55,15 @@ regenerate: true
55
55
  {% comment %} Main
56
56
  -------------------------------------------------------------------------------- {% endcomment %}
57
57
  j1.Stickybits = (function (j1, window) {
58
+
58
59
  var environment = '{{environment}}'; // Set environment
59
- var state = 'unknown';
60
+ var state = 'not_started';
60
61
  var logger;
61
62
  var logText;
62
63
  var stickybitsInstance;
63
64
 
64
65
  return {
66
+
65
67
  // Initialize
66
68
  init: function () {
67
69
  // Setup logger
@@ -77,17 +79,18 @@ j1.Stickybits = (function (j1, window) {
77
79
  state = 'finished';
78
80
  logger.info('state: ' + state); // Set|Log status
79
81
  logger.info("J1 Stickybits successfully initialized");
80
- },
82
+
83
+ return;
84
+ }, // END init
81
85
 
82
86
  // -------------------------------------------------------------------------
83
87
  // returns the current (processing) state of the module
84
88
  // -------------------------------------------------------------------------
85
89
  state: function () {
86
90
  return state;
87
- }
91
+ } // END init
88
92
 
89
93
  }; // end return
90
-
91
94
  })(j1, window);
92
95
 
93
96
  {% endcapture %}
@@ -49,12 +49,14 @@ regenerate: true
49
49
  {% assign config = site.data.modules.j1_theme_switcher %}
50
50
 
51
51
  j1.Switcher = (function (j1, window) {
52
+
52
53
  var environment = '{{environment}}'; // Set environment
53
- var state = 'unknown';
54
+ var state = 'not_started';
54
55
  var logger;
55
56
  var logText;
56
57
 
57
58
  return {
59
+
58
60
  // Initialize
59
61
  init: function () {
60
62
  // Setup logger
@@ -95,16 +97,18 @@ j1.Switcher = (function (j1, window) {
95
97
  state = 'finished';
96
98
  logger.info('state: ' + state); // Set|Log status
97
99
  logger.info("J1 Theme Switcher initialized successfully");
98
- }, // end init
100
+
101
+ return;
102
+ }, // END init
99
103
 
100
104
  // -------------------------------------------------------------------------
101
105
  // returns the current (processing) state of the module
102
106
  // -------------------------------------------------------------------------
103
107
  state: function () {
104
108
  return state;
105
- }
109
+ } // END state
106
110
 
107
- }; // end return
111
+ }; // END return
108
112
  })(j1, window);
109
113
 
110
114
  {% endcapture %}
@@ -76,9 +76,7 @@ regenerate: true
76
76
  -------------------------------------------------------------------------------- {% endcomment %}
77
77
  var j1 = function () {
78
78
 
79
- //var environment = '{{environment}}'; // Set environment
80
- //var cookieUserState = 'j1.user.state';
81
- //
79
+ var environment = '{{environment}}'; // Set environment
82
80
 
83
81
  // Status information
84
82
  var state = 'not_started';
@@ -94,7 +92,7 @@ var j1 = function () {
94
92
  var j1_colors = {};
95
93
  var colors_data_path = "/assets/data/colors.json";
96
94
 
97
- // Logger
95
+ // Logger
98
96
  var logger;
99
97
  var logText;
100
98
 
@@ -177,6 +175,8 @@ var j1 = function () {
177
175
  j1.initClipboard(settings);
178
176
  j1.displayPage(settings);
179
177
  });
178
+
179
+ return;
180
180
  }, // END init
181
181
 
182
182
  // -------------------------------------------------------------------------
@@ -293,6 +293,8 @@ var j1 = function () {
293
293
  selector.load( banner_data_path, cb_load_closure( id ) );
294
294
  }
295
295
  }
296
+
297
+ return;
296
298
  }, // END initBanner
297
299
 
298
300
  // -------------------------------------------------------------------------
@@ -300,6 +302,7 @@ var j1 = function () {
300
302
  // -------------------------------------------------------------------------
301
303
  // ToDo:
302
304
  initPanel: function ( options ) {
305
+
303
306
  var logger = log4javascript.getLogger('j1.Template.adapter');
304
307
  var panel = [];
305
308
 
@@ -356,6 +359,8 @@ var j1 = function () {
356
359
  selector.load( panel_data_path, cb_load_closure( id ) );
357
360
  }
358
361
  }
362
+
363
+ return;
359
364
  }, // END initPanel
360
365
 
361
366
  // -------------------------------------------------------------------------
@@ -363,8 +368,8 @@ var j1 = function () {
363
368
  // -------------------------------------------------------------------------
364
369
  // ToDo:
365
370
  initFooter: function ( options ) {
366
- var logger = log4javascript.getLogger('j1.Template.adapter');
367
371
 
372
+ var logger = log4javascript.getLogger('j1.Template.adapter');
368
373
  var logText = 'initFooter: Start initialization';
369
374
  logger.info(logText);
370
375
 
@@ -390,6 +395,8 @@ var j1 = function () {
390
395
  var footer_data_path = '{{footer_data_path}}';
391
396
  selector.load( footer_data_path, cb_load_closure( id ) );
392
397
  }
398
+
399
+ return;
393
400
  }, // END initFooter
394
401
 
395
402
  // -------------------------------------------------------------------------
@@ -397,8 +404,8 @@ var j1 = function () {
397
404
  // -------------------------------------------------------------------------
398
405
  // ToDo:
399
406
  initClipboard: function ( options ) {
400
- var logger = log4javascript.getLogger('j1.Template.adapter');
401
407
 
408
+ var logger = log4javascript.getLogger('j1.Template.adapter');
402
409
  var logText = 'initClipboard: Start initialization';
403
410
  logger.info(logText);
404
411
 
@@ -442,80 +449,45 @@ var j1 = function () {
442
449
  logger.warn(logText);
443
450
  $(e.trigger).attr('title', fallbackMsg).tooltip('_fixTitle').tooltip('show').attr('title', 'Copy to clipboard').tooltip('_fixTitle');
444
451
  });
452
+
445
453
  return;
446
454
  }, // END initClipboard
447
455
 
448
456
  // -------------------------------------------------------------------------
449
457
  // Show the page after timeout of {{hideOnReload}}
458
+ // Display the page if the (text) header is signaled as 'initialized'
459
+ // AND the menubar is signaled as (state) 'finished'
450
460
  // -------------------------------------------------------------------------
451
461
  displayPage: function ( options ) {
452
- var logger = log4javascript.getLogger('j1.Template.adapter');
453
462
 
454
- var logText = 'Start initialization';
455
- logger.info(logText);
463
+ var settings = options;
456
464
 
457
- // Display the page if the (text) header is signaled as 'initialized' AND the menubar is signaled as 'finished'
465
+ logger = log4javascript.getLogger('j1.displayPage');
466
+ logText = 'Start to display the page';
467
+ logger.info(logText);
468
+
458
469
  var headerLoaded = setInterval(function() {
470
+
459
471
  if ( j1.MastHead.state() === 'initialized' && j1.Navigator.state() === 'finished' ) {
460
- // pause the display of current page for flicker timeout [ms]
461
- setTimeout( function() {
462
- $('#no_flicker').css('display', 'block'); // display current page
463
- j1.scrollTo(); // scroll to an anchor element this page (if any)
464
-
465
- // Detect|Set J1 App status
466
- app_detected = j1.existsCookie ( 'j1.web.session' );
467
- if ( app_detected ) {
468
- var document_title = document.title;
469
- /*
470
- TODO: Change|Modify the page title if an app is detected
471
- for development mode
472
- */
473
- /* document.title = document_title + ' (App)'; */
474
- logger.info('displayPage: Site detected in state: app');
475
- logger.info('displayPage: Read cookie: WebSession');
476
- var j1_web_session = j1.getWebSessionCookie();
477
- logger.info('displayPage: Read cookie: UserState');
478
- j1_user_state = j1.getUserStateCookie();
479
- logger.info( 'displayPage: WebSessionCookie written by: ' + j1_web_session.writer );
480
- j1_user_state.authenticated = j1_web_session.authenticated;
481
- j1_user_state.previous_page = j1_user_state.current_page;
482
- j1_user_state.current_page = window.location.pathname;
483
- j1_user_state.provider = j1_web_session.provider;
484
- j1_user_state.user_name = j1_web_session.user_name;
485
- j1_user_state.user_id = j1_web_session.user_id;
486
- logger.info('displayPage: Write cookie: UserState');
487
- j1.setUserStateCookie( j1_user_state );
488
- j1_web_session.requested_page = window.location.pathname;
489
- logger.info('displayPage:Write cookie: WebSession');
490
- j1.setWebSessionCookie( j1_web_session );
491
- logger.info( 'displayPage: Last page: ' + j1_user_state.previous_page );
492
- logger.info( 'displayPage: Current page: ' + j1_user_state.current_page );
493
- } else {
494
- logger.info('displayPage: Site detected in state: web');
495
- var user_state_detected = j1.existsCookie ( 'j1.user.state' );
496
- if ( user_state_detected ) {
497
- logger.info('displayPage: Read cookie: UserState');
498
- j1_user_state = j1.getUserStateCookie();
499
- logger.info('displayPage: Write cookie: UserState');
500
- } else {
501
- logger.warn('displayPage: Read cookie: UserState not found');
502
- logger.info('displayPage: Create and update user state');
503
- logger.info('displayPage: Write cookie: UserState');
504
- }
505
- j1_user_state.previous_page = j1_user_state.current_page;
506
- j1_user_state.current_page = window.location.pathname;
507
- j1.setUserStateCookie( j1_user_state );
508
- }
509
- // Set|Log status
510
- state = 'finished';
511
- logger.info('state: ' + state);
512
- logText = "displayPage: J1 Template successfully initialized";
513
- logger.info(logText);
514
- }, {{flickerTimeout}} );
472
+ $('#no_flicker').css('display', 'block'); // display current page
473
+ j1.scrollTo(); // scroll to an anchor element this page (if any)
474
+
475
+ // Update sidebar
476
+ logger.info('Update sidebar');
477
+ j1.updateSidebar();
478
+
479
+ // Set|Log status
480
+ state = 'finished';
481
+ logText = 'state: ' + state;
482
+ logger.info(logText);
483
+ logText = "displayPage: J1 Template successfully initialized";
484
+ logger.info(logText);
485
+
515
486
  // clear interval checking
516
487
  clearInterval(headerLoaded);
517
488
  }
518
489
  }, 50); // END setInterval
490
+
519
491
  return;
520
492
  }, // END displayPage
521
493
 
@@ -535,6 +507,7 @@ var j1 = function () {
535
507
  var logText = 'initMDB Finished initMDB';
536
508
  logger.info(logText);
537
509
 
510
+ return;
538
511
  }, // END initMDB
539
512
 
540
513
  // -------------------------------------------------------------------------
@@ -547,12 +520,14 @@ var j1 = function () {
547
520
  // See: https://stackoverflow.com/questions/43109229/merge-default-options-containing-object-with-json-object
548
521
  // -------------------------------------------------------------------------
549
522
  mergeData: function () {
523
+
550
524
  var a = [].slice.call(arguments), o = a.shift();
551
525
  for(var i=0,l=a.length; i<l; i++){
552
526
  for(var p in a[i]){
553
527
  o[p] = a[i][p];
554
528
  }
555
529
  }
530
+
556
531
  return o;
557
532
  }, // END mergeData
558
533
 
@@ -561,7 +536,7 @@ var j1 = function () {
561
536
  // -------------------------------------------------------------------------
562
537
  state: function () {
563
538
  return state;
564
- },
539
+ }, // END state
565
540
 
566
541
  // -------------------------------------------------------------------------
567
542
  // Returns the content of a given cookie (name) if exists otherwise
@@ -569,28 +544,30 @@ var j1 = function () {
569
544
  // See: https://stackoverflow.com/questions/5968196/check-cookie-if-cookie-exists/5968306
570
545
  // -------------------------------------------------------------------------
571
546
  getCookie: function (name) {
572
- var dc = document.cookie;
573
- var prefix = name + "=";
574
- var begin = dc.indexOf("; " + prefix);
575
- var end = dc.length; // default to end of the string
576
-
577
- // found, and not in first position
578
- if (begin !== -1) {
579
- // exclude the "; "
580
- begin += 2;
581
- } else {
582
- //see if cookie is in first position
583
- begin = dc.indexOf(prefix);
584
- // not found at all or found as a portion of another cookie name
585
- if (begin === -1 || begin !== 0 ) return null;
586
- }
587
547
 
588
- // if ";" is found somewhere after the prefix position then "end" is
589
- // that position, otherwise it defaults to the end of the string
590
- if (dc.indexOf(";", begin) !== -1) {
591
- end = dc.indexOf(";", begin);
592
- }
593
- return decodeURI(dc.substring(begin + prefix.length, end) ).replace(/"/g, '');
548
+ var dc = document.cookie;
549
+ var prefix = name + "=";
550
+ var begin = dc.indexOf("; " + prefix);
551
+ var end = dc.length; // default to end of the string
552
+
553
+ // found, and not in first position
554
+ if (begin !== -1) {
555
+ // exclude the "; "
556
+ begin += 2;
557
+ } else {
558
+ //see if cookie is in first position
559
+ begin = dc.indexOf(prefix);
560
+ // not found at all or found as a portion of another cookie name
561
+ if (begin === -1 || begin !== 0 ) return null;
562
+ }
563
+
564
+ // if ";" is found somewhere after the prefix position then "end" is
565
+ // that position, otherwise it defaults to the end of the string
566
+ if (dc.indexOf(";", begin) !== -1) {
567
+ end = dc.indexOf(";", begin);
568
+ }
569
+
570
+ return decodeURI(dc.substring(begin + prefix.length, end) ).replace(/"/g, '');
594
571
  }, // END getCookie
595
572
 
596
573
  // -------------------------------------------------------------------------
@@ -598,25 +575,27 @@ var j1 = function () {
598
575
  // if the web is detected as an app
599
576
  // -------------------------------------------------------------------------
600
577
  getUserState: function (params, cbData) {
601
- var parameters = params == '' ? 'all' : params;
602
- var url = '/status?fields=' + parameters;
603
578
 
604
- if ( j1.existsCookie('j1.web.session') ) {
605
- $.ajax({
606
- url: url,
607
- success: function(data) {
608
- if (typeof data == 'string') {
609
- JSON.parse(data)
610
- }
611
- if (typeof data == 'object') {
612
- data
613
- }
614
- cbData(data);
579
+ var parameters = params == '' ? 'all' : params;
580
+ var url = '/status?fields=' + parameters;
581
+
582
+ if ( j1.existsCookie('j1.web.session') ) {
583
+ $.ajax({
584
+ url: url,
585
+ success: function(data) {
586
+ if (typeof data == 'string') {
587
+ JSON.parse(data)
615
588
  }
616
- });
617
- } else {
618
- return { authenticated : false };
619
- }
589
+ if (typeof data == 'object') {
590
+ data
591
+ }
592
+ cbData(data);
593
+ }
594
+ });
595
+ } else {
596
+ return { authenticated : false };
597
+ }
598
+
620
599
  }, // END getUserState
621
600
 
622
601
  // -------------------------------------------------------------------------
@@ -625,8 +604,10 @@ var j1 = function () {
625
604
  // See: https://stackoverflow.com/questions/5968196/check-cookie-if-cookie-exists/5968306
626
605
  // -------------------------------------------------------------------------
627
606
  getUserStateCookie: function () {
607
+
628
608
  var user_state;
629
609
  var user_state_json;
610
+
630
611
  if ( j1.existsCookie ( 'j1.user.state' ) ) {
631
612
  user_state_json = window.atob(Cookies.get('j1.user.state'));
632
613
  user_state = JSON.parse(user_state_json);
@@ -634,6 +615,7 @@ var j1 = function () {
634
615
  } else {
635
616
  return null;
636
617
  }
618
+
637
619
  }, // END getUserStateCookie
638
620
 
639
621
  // -------------------------------------------------------------------------
@@ -642,6 +624,7 @@ var j1 = function () {
642
624
  // See: https://stackoverflow.com/questions/5968196/check-cookie-if-cookie-exists/5968306
643
625
  // -------------------------------------------------------------------------
644
626
  setUserStateCookie: function ( state ) {
627
+
645
628
  // update existing cookie
646
629
  if ( j1.existsCookie ( 'j1.user.state' ) ) {
647
630
  var state_from_cookie_json = window.atob(Cookies.get('j1.user.state'));
@@ -658,6 +641,7 @@ var j1 = function () {
658
641
  var user_state_encoded = window.btoa(user_state_json);
659
642
  Cookies.set( 'j1.user.state', user_state_encoded, { expires: 365 } );
660
643
  }
644
+
661
645
  return;
662
646
  }, // END setUserStateCookie
663
647
 
@@ -667,7 +651,9 @@ var j1 = function () {
667
651
  // See: https://stackoverflow.com/questions/5968196/check-cookie-if-cookie-exists/5968306
668
652
  // -------------------------------------------------------------------------
669
653
  getWebSessionCookie: function () {
654
+
670
655
  var session_data;
656
+
671
657
  if ( j1.existsCookie ( 'j1.web.session' ) ) {
672
658
  var session_json = window.atob(Cookies.get('j1.web.session'));
673
659
  session_data = JSON.parse(session_json);
@@ -675,6 +661,7 @@ var j1 = function () {
675
661
  } else {
676
662
  return null;
677
663
  }
664
+
678
665
  }, // END getWebSessionCookie
679
666
 
680
667
  // -------------------------------------------------------------------------
@@ -683,6 +670,7 @@ var j1 = function () {
683
670
  // See: https://stackoverflow.com/questions/5968196/check-cookie-if-cookie-exists/5968306
684
671
  // -------------------------------------------------------------------------
685
672
  setWebSessionCookie: function ( session_data ) {
673
+
686
674
  if ( j1.existsCookie ( 'j1.web.session' ) ) {
687
675
  session_data.writer = 'web';
688
676
  var session_json = JSON.stringify(session_data);
@@ -692,12 +680,14 @@ var j1 = function () {
692
680
  } else {
693
681
  return false;
694
682
  }
683
+
695
684
  }, // END setWebSessionCookie
696
685
 
697
686
  // -------------------------------------------------------------------------
698
687
  // returns true if a given cookie exists
699
688
  // -------------------------------------------------------------------------
700
689
  existsCookie: function (name) {
690
+
701
691
  var myCookie = j1.getCookie( name );
702
692
 
703
693
  if (myCookie == null) {
@@ -706,6 +696,7 @@ var j1 = function () {
706
696
  else {
707
697
  return true;
708
698
  }
699
+
709
700
  }, // END existsCookie
710
701
 
711
702
  // -------------------------------------------------------------------------
@@ -714,8 +705,9 @@ var j1 = function () {
714
705
  // https://stackoverflow.com/questions/1043339/javascript-for-detecting-browser-language-preference
715
706
  // -------------------------------------------------------------------------
716
707
  getLanguage: function () {
717
- //var language = window.navigator.userLanguage || window.navigator.language;
708
+
718
709
  var language = navigator.languages ? navigator.languages[0] : (navigator.language || navigator.userLanguage);
710
+
719
711
  return language;
720
712
  }, // END getLanguage
721
713
 
@@ -731,6 +723,7 @@ var j1 = function () {
731
723
  // -------------------------------------------------------------------------
732
724
  // values for delay|offset are taken from TOC module (Tocbot)
733
725
  scrollTo: function () {
726
+
734
727
  // Unclear why a correction is needed sometimes. Disable for now.
735
728
  //var offset_correction = 75;
736
729
  var offset_correction = 25;
@@ -765,6 +758,7 @@ var j1 = function () {
765
758
  $(window).scrollTop($(window).scrollTop()+1);
766
759
  $(window).scrollTop($(window).scrollTop()-1);
767
760
  } // END if anchor_id
761
+
768
762
  return;
769
763
  }, // END scrollTo
770
764
 
@@ -778,6 +772,7 @@ var j1 = function () {
778
772
  // https://stackoverflow.com/questions/179713/how-to-change-the-href-for-a-hyperlink-using-jquery
779
773
  // -------------------------------------------------------------------------
780
774
  resolveMacros: function ( data ) {
775
+
781
776
  var logger;
782
777
  var logText;
783
778
  var user_state = data;
@@ -848,8 +843,8 @@ var j1 = function () {
848
843
  var $html = $this.html();
849
844
  $this.html($html.replace('??theme-version', user_state.theme_version));
850
845
  });
851
-
852
846
  }); // END Replace macros
847
+
853
848
  return;
854
849
  }, // END resolveMacros
855
850
 
@@ -862,6 +857,7 @@ var j1 = function () {
862
857
  // updated
863
858
  // -------------------------------------------------------------------------
864
859
  updateMacros: function ( data ) {
860
+
865
861
  var user_state = data;
866
862
  var logger;
867
863
  var logText;
@@ -893,6 +889,7 @@ var j1 = function () {
893
889
  $this.html($html.replace(/guest|member/, user_state.provider_membership));
894
890
  });
895
891
  });
892
+
896
893
  return;
897
894
  }, // END updateMacros
898
895
 
@@ -905,6 +902,7 @@ var j1 = function () {
905
902
  // updated
906
903
  // -------------------------------------------------------------------------
907
904
  hasPageChanged: function ( data ) {
905
+
908
906
  var user_state = data;
909
907
  var logger;
910
908
  var logText;
@@ -913,14 +911,16 @@ var j1 = function () {
913
911
  return false;
914
912
  } else {
915
913
  return true;
916
- }
917
- }, // END j1.hasPageChanged
914
+ }
915
+
916
+ }, // END hasPageChanged
918
917
 
919
918
  // -------------------------------------------------------------------------
920
919
  // updateCookies:
921
920
  //
922
921
  // -------------------------------------------------------------------------
923
922
  updateCookies: function ( data ) {
923
+
924
924
  var user_state = data;
925
925
  var appDetected = j1.Navigator.appDetected();
926
926
  var authClientEnabled = j1.Navigator.authClientEnabled();
@@ -937,18 +937,7 @@ var j1 = function () {
937
937
  web_session_state = j1.getWebSessionCookie();
938
938
  userAuthenticated = web_session_state.authenticated === 'true' ? true : false;
939
939
 
940
- // Overload middleware settings
941
- // if ( authClientEnabled && web_session_state.authenticated === 'false' ) {
942
- // web_session_state.provider_permissions = user_state.provider_permissions;
943
- // web_session_state.provider_membership = user_state.provider_membership;
944
- // }
945
- // if ( authClientEnabled && web_session_state.authenticated === 'true' ) {
946
- // user_state.provider_permissions = web_session_state.provider_permissions;
947
- // user_state.provider_membership = web_session_state.provider_membership;
948
- // }
949
-
950
940
  if ( authClientEnabled ) {
951
-
952
941
  user_state.authenticated = userAuthenticated;
953
942
 
954
943
  if ( userAuthenticated ) {
@@ -970,53 +959,61 @@ var j1 = function () {
970
959
  web_session_state.requested_page = window.location.pathname;
971
960
  web_session_state.cookies_accepted = user_state.cookies_accepted;
972
961
  j1.setWebSessionCookie( web_session_state );
962
+
963
+ json_data = JSON.stringify( web_session_state, null, 2 ); // JSON pretty print
964
+ logText = 'Web Session data: ' + json_data;
965
+ logger.info(logText);
973
966
  }
974
967
 
975
968
  j1.setUserStateCookie( user_state );
976
-
977
969
  json_data = JSON.stringify( user_state, undefined, 2); // JSON pretty print
978
970
  logText = 'User State data: ' + json_data;
979
971
  logger.info(logText);
980
972
 
981
- json_data = JSON.stringify( web_session_state, null, 2 ); // JSON pretty print
982
- logText = 'Web Session data: ' + json_data;
983
- logger.info(logText);
984
-
985
- return;
986
-
987
- }, // END j1.updateCookies
973
+ return;
974
+ }, // END updateCookies
988
975
 
989
976
  // -------------------------------------------------------------------------
990
977
  // updateSidebar
991
978
  //
992
979
  // Note:
993
980
  // -------------------------------------------------------------------------
994
- updateSidebar: function ( data ) {
995
- var user_state = data;
981
+ updateSidebar: function () {
982
+
983
+ var user_state = j1.getUserStateCookie();
996
984
  var json_data;
997
- var logger;
998
985
  var logText;
999
986
 
1000
987
  logger = log4javascript.getLogger('j1.updateSidebar');
1001
988
 
1002
- var pageLoaded = setInterval(function() {
1003
- if ( j1.state() === 'finished' ) {
1004
- //if ( j1.cookieConsent.state() === 'finished' ) {
1005
- // Replace Macro placeholders to values
1006
- j1.resolveMacros( user_state );
1007
- // Replace Macro values only
1008
- j1.updateMacros( user_state );
989
+ json_data = JSON.stringify( user_state, undefined, 2); // JSON pretty print
990
+ logText = 'User State data: ' + json_data;
991
+ logger.info(logText);
992
+
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
+ // Replace Macro placeholders to values
1007
+ j1.resolveMacros( user_state );
1008
+ // Replace Macro values only
1009
+ j1.updateMacros( user_state );
1009
1010
 
1010
- // clear interval checking
1011
- clearInterval(pageLoaded);
1012
- } // END Replace Macro placeholders
1013
- }, 50); // END setInterval
1014
1011
 
1015
1012
  return;
1016
1013
  } // END updateSidebar
1017
1014
 
1018
1015
  } // END j1 (return)
1019
- }();
1016
+ }(j1, window);
1020
1017
 
1021
1018
  {% endcapture %}
1022
1019