j1-template 2021.1.5 → 2021.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 %}
|