j1-template 2021.1.5 → 2021.1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/assets/data/themes.json +6 -6
- data/assets/themes/j1/adapter/js/cookieConsent.js +54 -28
- data/assets/themes/j1/adapter/js/j1.js +119 -150
- data/assets/themes/j1/adapter/js/themer.js +37 -29
- data/assets/themes/j1/adapter/js/toccer.js +4 -45
- data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.js +286 -286
- data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.min.js +3 -3
- data/assets/themes/j1/modules/fam/css/{uno → theme/uno}/fam.css +0 -0
- data/assets/themes/j1/modules/fam/css/theme/uno/fam.min.css +15 -0
- data/assets/themes/j1/modules/fam/js/fam.js +1 -6
- data/assets/themes/j1/modules/mmenuLight/css/{mmenu.css → mmenu-light.css} +0 -0
- data/assets/themes/j1/modules/mmenuLight/css/{mmenu.min.css → mmenu-light.min.css} +0 -0
- data/assets/themes/j1/modules/mmenuLight/css/theme/{uno.css → uno/mmenu.css} +0 -0
- data/assets/themes/j1/modules/mmenuLight/css/theme/{uno.min.css → uno/mmenu.min.css} +0 -0
- data/assets/themes/j1/modules/rtable/css/theme/{uno.css → uno/rtable.css} +0 -0
- data/assets/themes/j1/modules/rtable/css/theme/{uno.min.css → uno/rtable.min.css} +0 -0
- data/assets/themes/j1/modules/themeSwitcher/js/switcher.js +33 -47
- data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +410 -2
- data/lib/j1/version.rb +1 -1
- data/lib/j1_app/j1_auth_manager/auth_manager.rb +2 -3
- data/lib/starter_web/Gemfile +1 -1
- data/lib/starter_web/_config.yml +1 -1
- data/lib/starter_web/_data/j1_config.yml +20 -17
- data/lib/starter_web/_data/modules/defaults/themer.yml +2 -1
- data/lib/starter_web/_data/private.default.yml +119 -0
- data/lib/starter_web/_data/resources.yml +6 -7
- data/lib/starter_web/_includes/attributes.asciidoc +1 -1
- data/lib/starter_web/_plugins/lunr_index.rb +1 -1
- data/lib/starter_web/dot.gitignore +1 -1
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/blog/navigator/archive.html +3 -2
- data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +3 -2
- data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +3 -2
- data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +3 -2
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +11 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a5ceecb6b421d85c3db86a44fba73d25650012ace9626b1a53ff082d16a61e9e
|
4
|
+
data.tar.gz: 7093783266335d7524f406c452bff71b8a9979f0b9d172c7025c01f9559ffc36
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a63666eeb929986759194324a01d601aec108c9f5f1716326668786779d84db989d97adfe02c40ef065faf54fb13743f900dca24e6934c4988e0c8110802ba3f
|
7
|
+
data.tar.gz: f702196b47569beb2d080ddcc75db8c4d4e7a3512a03d6bd291937d5a88167e7343dff4ac2a984978d269c42685b6766cb08ebca40aa74c0cbd35b3e63aa4183
|
data/assets/data/themes.json
CHANGED
@@ -47,18 +47,18 @@ regenerate: true
|
|
47
47
|
{
|
48
48
|
"themes":
|
49
49
|
[
|
50
|
-
{"name": "Uno
|
51
|
-
{"name": "Uno
|
52
|
-
{"name": "Bootstrap",
|
50
|
+
{"name": "Uno light", "css": "{{asset_path}}/core/css/themes/uno-light/bootstrap.css"},
|
51
|
+
{"name": "Uno dark", "css": "{{asset_path}}/core/css/themes/uno-dark/bootstrap.css"},
|
52
|
+
{"name": "Bootstrap", "css": "{{asset_path}}/core/css/themes/bootstrap/bootstrap.css"}
|
53
53
|
]
|
54
54
|
}
|
55
55
|
{% else %}
|
56
56
|
{
|
57
57
|
"themes":
|
58
58
|
[
|
59
|
-
{"name": "Uno
|
60
|
-
{"name": "Uno
|
61
|
-
{"name": "Bootstrap",
|
59
|
+
{"name": "Uno light", "css": "{{asset_path}}/core/css/themes/uno-light/bootstrap.min.css"},
|
60
|
+
{"name": "Uno dark", "css": "{{asset_path}}/core/css/themes/uno-dark/bootstrap.min.css"},
|
61
|
+
{"name": "Bootstrap", "css": "{{asset_path}}/core/css/themes/bootstrap/bootstrap.min.css"}
|
62
62
|
]
|
63
63
|
}
|
64
64
|
{% endif %}
|
@@ -34,6 +34,7 @@ regenerate: true
|
|
34
34
|
-------------------------------------------------------------------------------- {% endcomment %}
|
35
35
|
{% assign consent_defaults = modules.defaults.cookieconsent.defaults %}
|
36
36
|
{% assign consent_settings = modules.cookieconsent.settings %}
|
37
|
+
{% assign tracking_enabled = site.data.j1_config.analytics.enabled %}
|
37
38
|
{% assign tracking_id = site.data.j1_config.analytics.google.tracking_id %}
|
38
39
|
|
39
40
|
{% comment %} Set config options
|
@@ -78,13 +79,20 @@ regenerate: true
|
|
78
79
|
--------------------------------------------------------------- {% endcomment %}
|
79
80
|
j1.adapter['cookieConsent'] = (function (j1, window) {
|
80
81
|
|
81
|
-
var environment
|
82
|
-
var
|
82
|
+
var environment = '{{environment}}';
|
83
|
+
var tracking_enabled = ('{{tracking_enabled}}' === 'true') ? true: false;
|
84
|
+
var tracking_id = '{{tracking_id}}';
|
85
|
+
var tracking_id_valid = (tracking_id.includes('tracking-id')) ? false : true;
|
86
|
+
var moduleOptions = {};
|
83
87
|
var _this;
|
84
88
|
var $modal;
|
85
89
|
var user_cookie;
|
86
90
|
var logger;
|
87
91
|
var logText;
|
92
|
+
|
93
|
+
// NOTE: RegEx for tracking_id: ^(G|UA|YT|MO)-[a-zA-Z0-9-]+$
|
94
|
+
// See: https://stackoverflow.com/questions/20411767/how-to-validate-google-analytics-tracking-id-using-a-javascript-function/20412153
|
95
|
+
|
88
96
|
// ---------------------------------------------------------------------------
|
89
97
|
// Helper functions
|
90
98
|
// ---------------------------------------------------------------------------
|
@@ -202,52 +210,70 @@ j1.adapter['cookieConsent'] = (function (j1, window) {
|
|
202
210
|
|
203
211
|
// -------------------------------------------------------------------------
|
204
212
|
// cbCookie()
|
205
|
-
//
|
206
|
-
// made his selection
|
207
|
-
// -------------------------------------------------------------------------
|
208
|
-
// TODO:
|
209
|
-
// If ONLY required setting selected, make j1.user.consent
|
210
|
-
// a SESSION cookie!!!
|
213
|
+
// Called by CookieConsent module after the user has
|
214
|
+
// made his selection (callback)
|
211
215
|
// -------------------------------------------------------------------------
|
212
216
|
cbCookie: function () {
|
213
217
|
var gaCookies = j1.findCookie('_ga');
|
214
|
-
var
|
215
|
-
var
|
218
|
+
var user_state = j1.readCookie('j1.user.state');
|
219
|
+
var user_consent = j1.readCookie('j1.user.consent');
|
220
|
+
var json = JSON.stringify(user_consent);
|
216
221
|
|
217
222
|
logger.info('Entered post selection callback from CookieConsent');
|
218
223
|
logger.info('Current values from CookieConsent: ' + json);
|
219
224
|
|
225
|
+
// NOTE: Warning needs to be moved to another module
|
226
|
+
// because page is reloaded after selection
|
227
|
+
//
|
228
|
+
if (tracking_enabled && !tracking_id_valid) {
|
229
|
+
logger.warn('tracking enabled, but invalid tracking id found: ' + tracking_id);
|
230
|
+
}
|
231
|
+
|
232
|
+
// for debugging
|
220
233
|
// gaCookies.forEach(item => console.log('cookieConsent: ' + item));
|
221
234
|
|
222
235
|
// Manage Google Analytics OptIn/Out
|
223
236
|
// See: https://github.com/luciomartinez/gtag-opt-in/wiki
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
237
|
+
if (tracking_enabled && tracking_id_valid) {
|
238
|
+
GTagOptIn.register(tracking_id);
|
239
|
+
if (user_consent.analyses) {
|
240
|
+
logger.info('Enable: GA');
|
241
|
+
GTagOptIn.optIn();
|
242
|
+
} else {
|
243
|
+
logger.warn('Disable: GA');
|
244
|
+
GTagOptIn.optOut();
|
245
|
+
var gaCookies = j1.findCookie('_ga');
|
246
|
+
gaCookies.forEach(function (item) {
|
247
|
+
logger.warn('Delete GA cookie: ' + item);
|
248
|
+
j1.removeCookie({
|
249
|
+
name: item,
|
250
|
+
path: '/'
|
251
|
+
});
|
238
252
|
});
|
239
|
-
}
|
253
|
+
}
|
240
254
|
}
|
241
255
|
|
256
|
+
|
242
257
|
// enable cookie button if not visible
|
243
|
-
//
|
244
258
|
if ($('#quickLinksCookieButton').css('display') === 'none') {
|
245
259
|
$('#quickLinksCookieButton').css('display', 'block');
|
246
260
|
}
|
247
261
|
|
262
|
+
if (!user_consent.analyses || !user_consent.personalization) {
|
263
|
+
// expire consent|state cookies to session
|
264
|
+
j1.writeCookie({
|
265
|
+
name: 'j1.user.state',
|
266
|
+
data: user_state,
|
267
|
+
samesite: 'Strict'
|
268
|
+
});
|
269
|
+
j1.writeCookie({
|
270
|
+
name: 'j1.user.consent',
|
271
|
+
data: user_consent,
|
272
|
+
samesite: 'Strict'
|
273
|
+
});
|
274
|
+
}
|
275
|
+
|
248
276
|
// reload page after selection
|
249
|
-
//
|
250
|
-
// $('#no_flicker').css('display', 'none');
|
251
277
|
location.reload();
|
252
278
|
|
253
279
|
} // END cbCookie
|
@@ -93,7 +93,6 @@ regenerate: true
|
|
93
93
|
# For details, see https://jekyll.one
|
94
94
|
# -----------------------------------------------------------------------------
|
95
95
|
# TODO:
|
96
|
-
# MANAGE themeExtensionCss is to be checked
|
97
96
|
#
|
98
97
|
# -----------------------------------------------------------------------------
|
99
98
|
# Adapter generated: {{site.time}}
|
@@ -114,14 +113,14 @@ var j1 = (function () {
|
|
114
113
|
// ---------------------------------------------------------------------------
|
115
114
|
// globals
|
116
115
|
// ---------------------------------------------------------------------------
|
117
|
-
var rePager
|
118
|
-
var environment
|
119
|
-
var moduleOptions
|
120
|
-
var j1_runtime_data
|
116
|
+
var rePager = new RegExp('navigator|dateview|tagview|archive');
|
117
|
+
var environment = '{{environment}}';
|
118
|
+
var moduleOptions = {};
|
119
|
+
var j1_runtime_data = {};
|
121
120
|
|
122
121
|
// Status information
|
123
|
-
var state
|
124
|
-
var mode
|
122
|
+
var state = 'not_started';
|
123
|
+
var mode = 'not_detected';
|
125
124
|
|
126
125
|
var current_user_data;
|
127
126
|
var current_page;
|
@@ -131,17 +130,17 @@ var j1 = (function () {
|
|
131
130
|
var app_detected;
|
132
131
|
var user_session_detected;
|
133
132
|
|
134
|
-
//
|
135
|
-
var translation_enabled = {{template_config.translation.enabled}};
|
133
|
+
// Translatior settings (currently NOT supported)
|
134
|
+
// var translation_enabled = {{template_config.translation.enabled}};
|
136
135
|
|
137
136
|
// Theme information
|
138
137
|
var themeName;
|
139
138
|
var themeCss;
|
140
|
-
var
|
141
|
-
? '
|
142
|
-
: '
|
139
|
+
var cssExtension = (environment === 'production')
|
140
|
+
? '.min.css'
|
141
|
+
: '.css';
|
143
142
|
|
144
|
-
|
143
|
+
// Pathes of J1 data files
|
145
144
|
var colors_data_path = '{{template_config.colors_data_path}}';
|
146
145
|
var font_size_data_path = '{{template_config.font_size_data_path}}';
|
147
146
|
var runtime_data_path = '{{template_config.runtime_data_path}}';
|
@@ -158,19 +157,11 @@ var j1 = (function () {
|
|
158
157
|
var baseUrl;
|
159
158
|
var referrer;
|
160
159
|
|
161
|
-
// var default_theme_css = environment === 'production' ? '/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css' : '/assets/themes/j1/core/css/themes/uno-light/bootstrap.css';
|
162
|
-
// // TODO: check what property is used default_theme|default_theme_name ?
|
163
|
-
// var default_theme_display_name = 'Uno (light)';
|
164
|
-
// var default_theme_name = 'uno-light';
|
165
|
-
// var default_theme_author = 'J1 Team';
|
166
|
-
// var default_theme_link = 'https://jekyll.one/';
|
167
|
-
// var default_white_listed_pages = [];
|
168
|
-
|
169
160
|
var cookie_names = {
|
170
161
|
'app_session': '{{template_config.cookies.app_session}}',
|
171
162
|
'user_session': '{{template_config.cookies.user_session}}',
|
172
163
|
'user_state': '{{template_config.cookies.user_state}}',
|
173
|
-
'user_consent': '
|
164
|
+
'user_consent': '{{template_config.cookies.user_consent}}'
|
174
165
|
};
|
175
166
|
|
176
167
|
// user SESSION cookie (initial values)
|
@@ -192,39 +183,24 @@ var j1 = (function () {
|
|
192
183
|
'last_pager': '/pages/public/blog/navigator/'
|
193
184
|
};
|
194
185
|
|
195
|
-
// user STATE cookie (initial values)
|
196
|
-
// var user_state = {
|
197
|
-
// 'theme_css': "",
|
198
|
-
// 'theme_name': "",
|
199
|
-
// 'theme_author': "",
|
200
|
-
// 'theme_version': '{{site.version}}',
|
201
|
-
// 'cookies_accepted': 'pending',
|
202
|
-
// 'whitelistedPages': default_white_listed_pages,
|
203
|
-
// 'deleteOnDecline': false,
|
204
|
-
// 'showConsentOnPending': false,
|
205
|
-
// 'stopScrolling': true,
|
206
|
-
// 'session_active': false,
|
207
|
-
// 'last_session_ts': '',
|
208
|
-
// 'cc_authenticated': false
|
209
|
-
// };
|
210
|
-
|
211
186
|
var user_state = {
|
212
|
-
'theme_css':
|
213
|
-
'theme_name':
|
214
|
-
'theme_author':
|
187
|
+
'theme_css': '',
|
188
|
+
'theme_name': '',
|
189
|
+
'theme_author': '',
|
215
190
|
'theme_version': '{{site.version}}',
|
216
|
-
'stopScrolling': true,
|
217
191
|
'session_active': false,
|
218
192
|
'last_session_ts': ''
|
219
193
|
};
|
220
194
|
|
195
|
+
var user_consent;
|
196
|
+
|
221
197
|
// ---------------------------------------------------------------------------
|
222
198
|
// helper functions
|
223
199
|
// ---------------------------------------------------------------------------
|
224
200
|
|
201
|
+
// See: https://stackoverflow.com/questions/359788/how-to-execute-a-javascript-function-when-i-have-its-name-as-a-string
|
202
|
+
//
|
225
203
|
function executeFunctionByName(functionName, context /*, args */) {
|
226
|
-
// See: https://stackoverflow.com/questions/359788/how-to-execute-a-javascript-function-when-i-have-its-name-as-a-string
|
227
|
-
//
|
228
204
|
var args = Array.prototype.slice.call(arguments, 2);
|
229
205
|
var namespaces = functionName.split('.');
|
230
206
|
var func = namespaces.pop();
|
@@ -241,7 +217,6 @@ var j1 = (function () {
|
|
241
217
|
|
242
218
|
// -------------------------------------------------------------------------
|
243
219
|
// init()
|
244
|
-
// initializer
|
245
220
|
// -------------------------------------------------------------------------
|
246
221
|
init: function (options) {
|
247
222
|
|
@@ -251,15 +226,9 @@ var j1 = (function () {
|
|
251
226
|
var logger = log4javascript.getLogger('j1.init');
|
252
227
|
var url = new liteURL(window.location.href);
|
253
228
|
var baseUrl = url.origin;
|
254
|
-
// moment not used anymore
|
255
|
-
// var epoch = Math.floor(Date.now()/1000);
|
256
|
-
// var timestamp_now = moment.unix(epoch).format('YYYY-MM-DD HH:mm:ss');
|
257
229
|
var date = new Date();
|
258
230
|
var timestamp_now = date.toISOString();
|
259
231
|
var curr_state = 'started';
|
260
|
-
// var date = new Date();
|
261
|
-
// var my_timestamp = date.toISOString();
|
262
|
-
|
263
232
|
|
264
233
|
// -----------------------------------------------------------------------
|
265
234
|
// options loader
|
@@ -280,51 +249,58 @@ var j1 = (function () {
|
|
280
249
|
j1['xhrDOMState'] = {};
|
281
250
|
|
282
251
|
// -----------------------------------------------------------------------
|
283
|
-
//
|
284
|
-
// wrapup if ALL browser windows get closed. Update user STATE
|
285
|
-
// cookie on window CLOSE.
|
252
|
+
// update cookies if browser window get closed
|
286
253
|
// see: https://stackoverflow.com/questions/3888902/detect-browser-or-tab-closing
|
287
254
|
// -----------------------------------------------------------------------
|
288
255
|
window.addEventListener('beforeunload', function (event) {
|
289
256
|
var cookie_names = j1.getCookieNames();
|
290
|
-
var cookie_user_state_name = cookie_names.user_state;
|
291
|
-
var cookie_user_session_name = cookie_names.user_session;
|
292
|
-
// moment not used anymore
|
293
|
-
// var epoch = Math.floor(Date.now()/1000);
|
294
|
-
// var timestamp_now = moment.unix(epoch).format('YYYY-MM-DD HH:mm:ss');
|
295
257
|
var date = new Date();
|
296
258
|
var timestamp_now = date.toISOString();
|
297
|
-
var user_state = j1.readCookie(
|
259
|
+
var user_state = j1.readCookie(cookie_names.user_state);
|
260
|
+
var user_consent = j1.readCookie(cookie_names.user_consent);
|
298
261
|
var ep_status;
|
299
262
|
var url;
|
300
263
|
var baseUrl;
|
301
264
|
|
302
|
-
|
303
|
-
|
304
|
-
if (user_state) {
|
305
|
-
user_state.session_active = false;
|
306
|
-
user_state.last_session_ts = timestamp_now;
|
265
|
+
user_state.session_active = false;
|
266
|
+
user_state.last_session_ts = timestamp_now;
|
307
267
|
|
268
|
+
if (!user_consent.analyses || !user_consent.personalization) {
|
269
|
+
// expire consent|state cookies to session
|
270
|
+
j1.writeCookie({
|
271
|
+
name: cookie_names.user_consent,
|
272
|
+
data: user_state,
|
273
|
+
samesite: 'Strict'
|
274
|
+
});
|
275
|
+
j1.writeCookie({
|
276
|
+
name: cookie_names.user_state,
|
277
|
+
data: user_state,
|
278
|
+
samesite: 'Strict'
|
279
|
+
});
|
280
|
+
} else {
|
308
281
|
j1.writeCookie({
|
309
|
-
name:
|
310
|
-
data:
|
311
|
-
|
282
|
+
name: cookie_names.user_state,
|
283
|
+
data: user_state,
|
284
|
+
samesite: 'Strict',
|
285
|
+
expires: 365
|
312
286
|
});
|
313
287
|
}
|
314
288
|
|
315
|
-
});
|
289
|
+
}); // END beforeunload
|
316
290
|
|
317
291
|
// -----------------------------------------------------------------------
|
318
|
-
// initialize|load
|
292
|
+
// initialize|load user cookies
|
319
293
|
// -----------------------------------------------------------------------
|
320
294
|
user_session.created = timestamp_now;
|
321
295
|
user_session.timestamp = timestamp_now;
|
322
296
|
|
297
|
+
user_consent = j1.readCookie(cookie_names.user_consent);
|
323
298
|
user_session = j1.existsCookie(cookie_names.user_session)
|
324
299
|
? j1.readCookie(cookie_names.user_session)
|
325
300
|
: j1.writeCookie({
|
326
301
|
name: cookie_names.user_session,
|
327
302
|
data: user_session,
|
303
|
+
samesite: 'Strict'
|
328
304
|
});
|
329
305
|
|
330
306
|
user_state = j1.existsCookie(cookie_names.user_state)
|
@@ -332,27 +308,38 @@ var j1 = (function () {
|
|
332
308
|
: j1.writeCookie({
|
333
309
|
name: cookie_names.user_state,
|
334
310
|
data: user_state,
|
311
|
+
samesite: 'Strict',
|
335
312
|
expires: 365
|
336
313
|
});
|
337
314
|
|
338
315
|
user_state.session_active = true;
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
316
|
+
|
317
|
+
if (!user_consent.analyses || !user_consent.personalization) {
|
318
|
+
// expire consent|state cookies to session
|
319
|
+
j1.writeCookie({
|
320
|
+
name: cookie_names.user_state,
|
321
|
+
data: user_state,
|
322
|
+
samesite: 'Strict'
|
323
|
+
});
|
324
|
+
} else {
|
325
|
+
j1.writeCookie({
|
326
|
+
name: cookie_names.user_state,
|
327
|
+
data: user_state,
|
328
|
+
samesite: 'Strict',
|
329
|
+
expires: 365
|
330
|
+
});
|
331
|
+
}
|
344
332
|
|
345
333
|
// detect middleware (mode 'app') and update user session cookie
|
346
334
|
// -----------------------------------------------------------------------
|
347
|
-
// if (user_session.mode === 'na' || user_session.mode === 'app') {
|
348
335
|
if (user_session.mode === 'app') {
|
349
336
|
var url = new liteURL(window.location.href);
|
350
337
|
var ep_status = baseUrl + '/status' + '?page=' + window.location.pathname;
|
351
338
|
var detectTimeout = 50;
|
352
339
|
|
353
|
-
baseUrl
|
340
|
+
baseUrl = url.origin;
|
354
341
|
|
355
|
-
//
|
342
|
+
// See: https://stackoverflow.com/questions/3709597/wait-until-all-jquery-ajax-requests-are-done
|
356
343
|
$.when (
|
357
344
|
$.ajax(ep_status)
|
358
345
|
)
|
@@ -369,14 +356,12 @@ var j1 = (function () {
|
|
369
356
|
logger.info('update user session cookie');
|
370
357
|
j1.writeCookie({
|
371
358
|
name: cookie_names.user_session,
|
372
|
-
data: user_session
|
359
|
+
data: user_session,
|
360
|
+
samesite: 'Strict'
|
373
361
|
});
|
374
362
|
j1.setState(curr_state);
|
375
363
|
logger.info('state: ' + j1.getState());
|
376
364
|
|
377
|
-
|
378
|
-
|
379
|
-
|
380
365
|
var dependencies_met_page_displayed = setInterval (function () {
|
381
366
|
if (j1.getState() == 'finished') {
|
382
367
|
if (j1.authEnabled()) {
|
@@ -411,8 +396,9 @@ var j1 = (function () {
|
|
411
396
|
|
412
397
|
logger.info(logText);
|
413
398
|
j1.writeCookie({
|
414
|
-
name:
|
415
|
-
data:
|
399
|
+
name: cookie_names.user_session,
|
400
|
+
data: user_session,
|
401
|
+
samesite: 'Strict'
|
416
402
|
});
|
417
403
|
j1.setState(curr_state);
|
418
404
|
logger.info('state: ' + j1.getState());
|
@@ -424,10 +410,6 @@ var j1 = (function () {
|
|
424
410
|
logger.info('page is being initialized');
|
425
411
|
}
|
426
412
|
|
427
|
-
// jadams: for testing only
|
428
|
-
// display page
|
429
|
-
// $('#no_flicker').css('display', 'block');
|
430
|
-
|
431
413
|
state = 'started';
|
432
414
|
logger.info('state: ' + state);
|
433
415
|
logger.info('page is being initialized');
|
@@ -443,7 +425,6 @@ var j1 = (function () {
|
|
443
425
|
// process|update user state cookie
|
444
426
|
themeName = user_session.theme_name;
|
445
427
|
themeCss = user_session.theme_css;
|
446
|
-
themeExtensionCss = user_session.theme_extension_css;
|
447
428
|
|
448
429
|
// save last page access
|
449
430
|
// see: https://stackoverflow.com/questions/3528324/how-to-get-the-previous-url-in-javascript
|
@@ -468,18 +449,15 @@ var j1 = (function () {
|
|
468
449
|
last_pager = user_session.last_pager;
|
469
450
|
}
|
470
451
|
|
471
|
-
// jadams: for testing only
|
472
|
-
// display page
|
473
|
-
//$('#no_flicker').css('display', 'block');
|
474
|
-
|
475
452
|
logger.info('update user session cookie');
|
476
453
|
j1.writeCookie({
|
477
|
-
name:
|
478
|
-
data:
|
454
|
+
name: cookie_names.user_session,
|
455
|
+
data: user_session,
|
456
|
+
samesite: 'Strict'
|
479
457
|
});
|
480
458
|
|
459
|
+
// NOTE: asynchronous calls should be rewitten to xhrData
|
481
460
|
// initialize page resources for blocks
|
482
|
-
// (asynchronous, should be rewitten to xhrData)
|
483
461
|
j1.initBanner(settings);
|
484
462
|
j1.initPanel(settings);
|
485
463
|
j1.initFooter(settings);
|
@@ -490,8 +468,9 @@ var j1 = (function () {
|
|
490
468
|
|
491
469
|
user_session.timestamp = timestamp_now;
|
492
470
|
j1.writeCookie({
|
493
|
-
name:
|
494
|
-
data:
|
471
|
+
name: cookie_names.user_session,
|
472
|
+
data: user_session,
|
473
|
+
samesite: 'Strict'
|
495
474
|
});
|
496
475
|
|
497
476
|
// -----------------------------------------------------------------------
|
@@ -599,7 +578,6 @@ var j1 = (function () {
|
|
599
578
|
if (selector.length) {
|
600
579
|
logText = 'loading banner on id: ' +banner[i];
|
601
580
|
logger.info(logText);
|
602
|
-
// var banner_data_path = '{{banner_data_path}} ' + id + ' > *';
|
603
581
|
var banner_data_path = '{{banner_data_path}} ' + id;
|
604
582
|
selector.load(banner_data_path, cb_load_closure(id));
|
605
583
|
}
|
@@ -703,7 +681,6 @@ var j1 = (function () {
|
|
703
681
|
if ( selector.length ) {
|
704
682
|
logText = 'loading panel on id: ' +panel[i];
|
705
683
|
logger.info(logText);
|
706
|
-
// var panel_data_path = '{{panel_data_path}} ' + id + ' > *';
|
707
684
|
var panel_data_path = '{{panel_data_path}} ' + id;
|
708
685
|
selector.load(panel_data_path, cb_load_closure(id));
|
709
686
|
}
|
@@ -737,12 +714,6 @@ var j1 = (function () {
|
|
737
714
|
j1.setXhrDataState(footer_id, statusTxt);
|
738
715
|
j1.setXhrDomState(footer_id, statusTxt);
|
739
716
|
logger.info('XHR data loaded in the DOM: ' + footer_id);
|
740
|
-
|
741
|
-
// jadams, 2020-07-21: intermediate state DISABLED
|
742
|
-
// state = 'footer_loaded';
|
743
|
-
// logger.info('set state for module ' + mod + ': ' + state);
|
744
|
-
// executeFunctionByName(mod + '.setState', window, state);
|
745
|
-
|
746
717
|
logText = 'initialization finished';
|
747
718
|
logger.info(logText);
|
748
719
|
}
|
@@ -764,7 +735,6 @@ var j1 = (function () {
|
|
764
735
|
var id = '#' + '{{footer_id}}';
|
765
736
|
var selector = $(id);
|
766
737
|
if ( selector.length ) {
|
767
|
-
// var footer_data_path = '{{footer_data_path}} ' + id + ' > *';
|
768
738
|
var footer_data_path = '{{footer_data_path}} ' + id;
|
769
739
|
selector.load(footer_data_path, cb_load_closure(id));
|
770
740
|
} else {
|
@@ -820,7 +790,8 @@ var j1 = (function () {
|
|
820
790
|
user_session.current_page = current_url.pathname;
|
821
791
|
j1.writeCookie({
|
822
792
|
name: cookie_names.user_session,
|
823
|
-
data: user_session
|
793
|
+
data: user_session,
|
794
|
+
samesite: 'Strict'
|
824
795
|
});
|
825
796
|
|
826
797
|
providerPermissions = user_session.provider_permissions;
|
@@ -863,14 +834,14 @@ var j1 = (function () {
|
|
863
834
|
$('#quickLinksCookieButton').css('display', 'none');
|
864
835
|
}
|
865
836
|
|
866
|
-
// show|hide translator icon
|
867
|
-
if (translation_enabled) {
|
868
|
-
|
869
|
-
|
870
|
-
|
871
|
-
}
|
837
|
+
// show|hide translator icon (currently NOT supported)
|
838
|
+
// if (translation_enabled) {
|
839
|
+
// logger.info('translator detected: google');
|
840
|
+
// logger.info('initialize language selector');
|
841
|
+
// $('.goog-te-combo').addClass('form-control');
|
842
|
+
// }
|
872
843
|
|
873
|
-
// show cc icon
|
844
|
+
// show cc icon (currently NOT supported)
|
874
845
|
// $('#quickLinksControlCenterButton').css('display', 'block');
|
875
846
|
|
876
847
|
if (j1.authEnabled()) {
|
@@ -934,17 +905,21 @@ var j1 = (function () {
|
|
934
905
|
user_session.current_page = current_url.pathname;
|
935
906
|
j1.writeCookie({
|
936
907
|
name: cookie_names.user_session,
|
937
|
-
data: user_session
|
908
|
+
data: user_session,
|
909
|
+
samesite: 'Strict'
|
938
910
|
});
|
939
911
|
|
940
|
-
// show|hide translator icon
|
941
|
-
if (translation_enabled) {
|
942
|
-
|
943
|
-
|
944
|
-
|
945
|
-
}
|
912
|
+
// show|hide translator icon (currently NOT supported)
|
913
|
+
// if (translation_enabled) {
|
914
|
+
// logger.info('translator detected: google');
|
915
|
+
// logger.info('initialize language selector');
|
916
|
+
// $('.goog-te-combo').addClass('form-control');
|
917
|
+
// }
|
918
|
+
|
919
|
+
// show cc icon (currently NOT supported)
|
920
|
+
// $('#quickLinksControlCenterButton').css('display', 'block');
|
946
921
|
|
947
|
-
// show|hide cookie icon
|
922
|
+
// show|hide cookie icon
|
948
923
|
if (j1.existsCookie(cookie_names.user_consent)) {
|
949
924
|
// Display cookie icon
|
950
925
|
logText = 'show cookie icon';
|
@@ -958,7 +933,7 @@ var j1 = (function () {
|
|
958
933
|
}
|
959
934
|
|
960
935
|
// If the page requested contains an anchor element,
|
961
|
-
// do a smooth scroll
|
936
|
+
// do a smooth scroll
|
962
937
|
j1.scrollTo();
|
963
938
|
|
964
939
|
if (user_session.previous_page !== user_session.current_page) {
|
@@ -1051,7 +1026,6 @@ var j1 = (function () {
|
|
1051
1026
|
var toccerScrollOffset = {{toccer_options.scrollSmoothOffset}};
|
1052
1027
|
|
1053
1028
|
// calculate offset for correct (smooth) scroll position
|
1054
|
-
//
|
1055
1029
|
var $pagehead = $('.attic');
|
1056
1030
|
var $navbar = $('nav.navbar');
|
1057
1031
|
var $adblock = $('#adblock');
|
@@ -1069,7 +1043,6 @@ var j1 = (function () {
|
|
1069
1043
|
var scrollOffset = navbarType == 'fixed' ? -1*(n + a + l) : -1*(h + n + a + l);
|
1070
1044
|
|
1071
1045
|
// static offset, to be checked why this is needed
|
1072
|
-
//
|
1073
1046
|
scrollOffset = scrollOffset + toccerScrollOffset;
|
1074
1047
|
|
1075
1048
|
if (anchor_id && anchor_id !== '#') {
|
@@ -1149,11 +1122,6 @@ var j1 = (function () {
|
|
1149
1122
|
return function (responseTxt, statusTxt, xhr) {
|
1150
1123
|
var logger = log4javascript.getLogger('j1.adapter.xhrData');
|
1151
1124
|
if ( statusTxt === 'success' ) {
|
1152
|
-
// jadams, 2020-07-21: intermediate state should DISABLED
|
1153
|
-
// if (state) {
|
1154
|
-
// logger.info('set state for ' +mod+ ' to: ' + state);
|
1155
|
-
// executeFunctionByName(mod + '.setState', window, state);
|
1156
|
-
// }
|
1157
1125
|
j1.setXhrDataState(id, statusTxt);
|
1158
1126
|
j1.setXhrDomState(id, 'pending');
|
1159
1127
|
|
@@ -1295,21 +1263,17 @@ var j1 = (function () {
|
|
1295
1263
|
// context/HTTPS).
|
1296
1264
|
// -------------------------------------------------------------------------
|
1297
1265
|
//
|
1298
|
-
writeCookie: function (options /*name, data, [path, expires,
|
1266
|
+
writeCookie: function (options /*name, data, [path, expires, samesite, http_only, secure]*/) {
|
1299
1267
|
var defaults = {
|
1300
1268
|
data: {},
|
1301
1269
|
name: '',
|
1302
|
-
expires: 0,
|
1303
1270
|
path: '/',
|
1304
|
-
|
1305
|
-
|
1271
|
+
expires: 0,
|
1272
|
+
samesite: 'Lax',
|
1306
1273
|
http_only: false,
|
1307
1274
|
secure: false
|
1308
1275
|
};
|
1309
1276
|
var settings = $.extend(defaults, options);
|
1310
|
-
// moment not used anymore
|
1311
|
-
// var epoch = Math.floor(Date.now()/1000);
|
1312
|
-
// var timestamp_now = moment.unix(epoch).format('YYYY-MM-DD HH:mm:ss');
|
1313
1277
|
var date = new Date();
|
1314
1278
|
var timestamp_now = date.toISOString();
|
1315
1279
|
var cookie_data = {};
|
@@ -1326,25 +1290,26 @@ var j1 = (function () {
|
|
1326
1290
|
if (settings.expires > 0) {
|
1327
1291
|
Cookies.set(settings.name, data_encoded, {
|
1328
1292
|
expires: settings.expires,
|
1329
|
-
SameSite: settings.
|
1293
|
+
SameSite: settings.samesite
|
1330
1294
|
});
|
1331
1295
|
} else {
|
1332
1296
|
Cookies.set(settings.name, data_encoded, {
|
1333
|
-
SameSite: settings.
|
1297
|
+
SameSite: settings.samesite
|
1334
1298
|
});
|
1335
1299
|
}
|
1336
1300
|
} else {
|
1337
1301
|
cookie_data = settings.data;
|
1338
1302
|
data_json = JSON.stringify(settings.data);
|
1339
1303
|
data_encoded = window.btoa(data_json);
|
1304
|
+
|
1340
1305
|
if (settings.expires > 0) {
|
1341
1306
|
Cookies.set(settings.name, data_encoded, {
|
1342
1307
|
expires: settings.expires,
|
1343
|
-
SameSite: settings.
|
1308
|
+
SameSite: settings.samesite
|
1344
1309
|
});
|
1345
1310
|
} else {
|
1346
1311
|
Cookies.set(settings.name, data_encoded, {
|
1347
|
-
SameSite: settings.
|
1312
|
+
SameSite: settings.samesite
|
1348
1313
|
});
|
1349
1314
|
}
|
1350
1315
|
}
|
@@ -1705,12 +1670,6 @@ var j1 = (function () {
|
|
1705
1670
|
// -----------------------------------------------------------------------
|
1706
1671
|
$('head').append('<style>.g-bg-primary { background-color: ' +bg_primary+ ' !important; }</style>');
|
1707
1672
|
|
1708
|
-
// Set color of timeline bullet
|
1709
|
-
// -----------------------------------------------------------------------
|
1710
|
-
// $('head').append('<style>.tmicon { background: ' +bg_primary+ ' !important; }</style>');
|
1711
|
-
// $('head').append('<style>.timeline-panel:after { border-left-color: ' +bg_primary+ ' !important; }</style>');
|
1712
|
-
// $('head').append('<style>.timeline-panel:after { border-right-color: ' +bg_primary+ ' !important; }</style>');
|
1713
|
-
|
1714
1673
|
// mdi icons
|
1715
1674
|
// -----------------------------------------------------------------------
|
1716
1675
|
$('head').append('<style>.iconify-md-bg-primary { color: ' +bg_primary+ ' !important; }</style>');
|
@@ -1851,7 +1810,7 @@ var j1 = (function () {
|
|
1851
1810
|
for ( var i = 0; i < length; i++ ) {
|
1852
1811
|
result += characters.charAt(Math.floor(Math.random() * charactersLength));
|
1853
1812
|
}
|
1854
|
-
|
1813
|
+
return result;
|
1855
1814
|
}, // END generateId
|
1856
1815
|
|
1857
1816
|
// -------------------------------------------------------------------------
|
@@ -1898,10 +1857,20 @@ var j1 = (function () {
|
|
1898
1857
|
}; // END j1 (return)
|
1899
1858
|
}) (j1, window);
|
1900
1859
|
|
1901
|
-
{%
|
1860
|
+
{% comment %} NOTE: Unexpected token: punc (;) errors if compressed
|
1861
|
+
--------------------------------------------------------------------------------
|
1902
1862
|
{% if production %}
|
1903
1863
|
{{ cache | minifyJS }}
|
1904
1864
|
{% else %}
|
1905
1865
|
{{ cache | strip_empty_lines }}
|
1906
1866
|
{% endif %}
|
1907
1867
|
{% assign cache = nil %}
|
1868
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
1869
|
+
|
1870
|
+
{% endcapture %}
|
1871
|
+
{% if production %}
|
1872
|
+
{{ cache | strip_empty_lines }}
|
1873
|
+
{% else %}
|
1874
|
+
{{ cache | strip_empty_lines }}
|
1875
|
+
{% endif %}
|
1876
|
+
{% assign cache = nil %}
|