j1-template 2021.2.9 → 2021.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/_includes/themes/j1/blocks/footer/boxes/contacts_box.proc +1 -1
- data/_includes/themes/j1/layouts/content_generator_article_navigator.html +2 -2
- data/_includes/themes/j1/layouts/content_generator_blog_archive.html +2 -2
- data/_includes/themes/j1/layouts/content_generator_news_panel_posts.html +2 -2
- data/_includes/themes/j1/modules/boards/news_pin_board.html +10 -10
- data/_includes/themes/j1/modules/connectors/translators/google-translator.html +18 -3
- data/_includes/themes/j1/modules/navigator/generator.html +6 -6
- data/_includes/themes/j1/procedures/posts/collate_calendar.proc +3 -3
- data/_includes/themes/j1/procedures/posts/create_series_header.proc +1 -1
- data/_includes/themes/j1/procedures/posts/pager.proc +1 -1
- data/_layouts/compress.html +12 -4
- data/assets/data/gallery_customizer.html +1 -1
- data/assets/data/menu.html +17 -17
- data/assets/data/mmenu.html +17 -17
- data/assets/data/private.json +49 -0
- data/assets/data/quicklinks.html +3 -3
- data/assets/themes/j1/adapter/js/cookieConsent.js +4 -3
- data/assets/themes/j1/adapter/js/j1.js +1 -1
- data/assets/themes/j1/adapter/js/{j1scroll.js → scroller.js} +285 -304
- data/assets/themes/j1/adapter/js/translator.js +34 -20
- data/assets/themes/j1/core/js/template.js +4098 -223
- data/assets/themes/j1/core/js/template.min.js +9 -8
- data/assets/themes/j1/core/js/template.min.js.map +1 -1
- data/assets/themes/j1/modules/backstretch/js/backstretch.min.js +1 -1
- data/assets/themes/j1/modules/bmd/js/bootstrap-material-design.full.js +1 -1
- data/assets/themes/j1/modules/bmd/js/bootstrap-material-design.js +1 -1
- data/assets/themes/j1/modules/bmd/js/bootstrap-material-design.min.js +1 -1
- data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.js +70 -10
- data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.min.js +1 -1
- data/assets/themes/j1/modules/datatables/js/datatables.js +1 -1
- data/assets/themes/j1/modules/datatables/js/datatables.min.js +5 -5
- data/assets/themes/j1/modules/{j1Deepl/js/j1deepl.js → deeplAPI/js/deeplAPI.js} +36 -11
- data/assets/themes/j1/modules/deeplAPI/js/deeplAPI.min.js +18 -0
- data/assets/themes/j1/modules/iframeResizer/examples/frame.absolute.html +3 -3
- data/assets/themes/j1/modules/iframeResizer/examples/frame.content.html +6 -6
- data/assets/themes/j1/modules/iframeResizer/examples/frame.tolerance.html +2 -2
- data/assets/themes/j1/modules/iframeResizer/js/client/iframeResizer.contentWindow.js +1 -1
- data/assets/themes/j1/modules/iframeResizer/js/client/iframeResizer.contentWindow.min.js +1 -1
- data/assets/themes/j1/modules/iframeResizer/js/resizer.min.js +1 -1
- data/assets/themes/j1/modules/jquery/js/jquery.js +2 -2
- data/assets/themes/j1/modules/jquery/js/jquery.min.js +1 -1
- data/assets/themes/j1/modules/jquery/js/jqueryUI.js +7 -7
- data/assets/themes/j1/modules/jquery/js/jqueryUI.min.js +3 -3
- data/assets/themes/j1/modules/lightGallery/js/core/j1/lightgallery-x.min.js +1 -1
- data/assets/themes/j1/modules/lightGallery/js/core/lightgallery.min.js +1 -1
- data/assets/themes/j1/modules/lightGallery/js/modules/j1/j1-video.min.js +1 -1
- data/assets/themes/j1/modules/lightGallery/js/modules/j1/j1-x-video.min.js +1 -1
- data/assets/themes/j1/modules/lightbox/js/lightbox.js +1 -1
- data/assets/themes/j1/modules/lightbox/js/lightbox.min.js +1 -1
- data/assets/themes/j1/modules/lunrSearch/js/mustache.js +1 -1
- data/assets/themes/j1/modules/lunrSearch/js/mustache.min.js +1 -1
- data/assets/themes/j1/modules/lunrSearch/js/uri.js +1 -1
- data/assets/themes/j1/modules/lunrSearch/js/uri.min.js +7 -7
- data/assets/themes/j1/modules/mdiPreviewer/js/previewer.min.js +1 -1
- data/assets/themes/j1/modules/mdilPreviewer/js/previewer.min.js +1 -1
- data/assets/themes/j1/modules/{j1Scroll → scroller}/css/theme/uno.css +2 -2
- data/assets/themes/j1/modules/{j1Scroll → scroller}/css/theme/uno.min.css +0 -0
- data/assets/themes/j1/modules/scroller/js/scroller.js +346 -0
- data/assets/themes/j1/modules/scroller/js/scroller.min.js +15 -0
- data/assets/themes/j1/modules/themeSwitcher/js/switcher.js +1 -1
- data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +1 -1
- data/assets/themes/j1/modules/translator/js/translator.js +38 -27
- data/assets/themes/j1/modules/translator/js/translator.min.js +1 -1
- data/assets/themes/j1/modules/twemoji/js/picker/twemoji-picker.js +1 -1
- data/assets/themes/j1/modules/twemoji/js/picker/twemoji-picker.min.js +1 -1
- data/assets/themes/j1/modules/videojs/js/video.min.js +2 -2
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/Gemfile +1 -1
- data/lib/starter_web/_config.yml +6 -2
- data/lib/starter_web/_data/apps/carousel.yml +4 -4
- data/lib/starter_web/_data/blocks/defaults/footer.yml +2 -2
- data/lib/starter_web/_data/blocks/footer.yml +2 -2
- data/lib/starter_web/_data/modules/attics.yml +1 -1
- data/lib/starter_web/_data/modules/cookieconsent.yml +0 -1
- data/lib/starter_web/_data/modules/defaults/attics.yml +2 -2
- data/lib/starter_web/_data/modules/defaults/cookieconsent.yml +3 -1
- data/lib/starter_web/_data/modules/defaults/translator.yml +2 -1
- data/lib/starter_web/_data/modules/{j1scroll.yml → scroller.yml} +30 -5
- data/lib/starter_web/_data/modules/translator.yml +3 -0
- data/lib/starter_web/_data/private.default.yml +8 -1
- data/lib/starter_web/_data/private.yml +8 -1
- data/lib/starter_web/_data/resources.yml +14 -35
- data/lib/starter_web/_includes/attributes.asciidoc +1 -1
- data/lib/starter_web/_plugins/lunr_index.rb +1 -1
- data/lib/starter_web/index.html +2 -1
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +2 -2
- data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +3 -3
- data/lib/starter_web/pages/public/blog/navigator/index.html +1 -1
- data/lib/starter_web/pages/public/manuals/dropdown-help.adoc +743 -743
- data/lib/starter_web/pages/public/previewer/preview_bootstrap_theme.adoc +85 -85
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +11 -13
- data/assets/themes/j1/adapter/js/translator.1.js +0 -525
- data/assets/themes/j1/modules/j1Deepl/js/j1deepl.min.js +0 -18
- data/assets/themes/j1/modules/j1Scroll/js/j1scroll.js +0 -280
- data/assets/themes/j1/modules/j1Scroll/js/j1scroll.min.js +0 -15
- data/assets/themes/j1/modules/showOnScroll/js/showOnScroll.js +0 -73
- data/assets/themes/j1/modules/showOnScroll/js/showOnScroll.min.js +0 -15
@@ -37,7 +37,7 @@
|
|
37
37
|
/* eslint JSUnfilteredForInLoop: "off" */
|
38
38
|
// -----------------------------------------------------------------------------
|
39
39
|
|
40
|
-
function
|
40
|
+
function CookieConsent(props) {
|
41
41
|
var logger = log4javascript.getLogger('j1.core.bsCookieConsent');
|
42
42
|
var self = this;
|
43
43
|
var detailedSettingsShown = false;
|
@@ -58,11 +58,12 @@ function BootstrapCookieConsent(props) {
|
|
58
58
|
contentURL: '/assets/data/cookieconsent', // URL contain the consent dialogs (modals) for ALL supported languages
|
59
59
|
cookieName: 'j1.user.translate', // name of the cookie, in which the configuration is stored
|
60
60
|
cookieStorageDays: 365, // duration the configuration cookie is stored on the client
|
61
|
-
postSelectionCallback:
|
61
|
+
postSelectionCallback: '', // callback function, called after the user has made his selection
|
62
62
|
whitelisted: [], // pages NO consent modal dialog is issued
|
63
63
|
xhrDataElement: 'consent-data', // src container for all language-specific consent dialogs (taken from contentURL)
|
64
64
|
dialogContainerID: 'consent-modal', // dest container, the dialog modal is loaded (dynamically)
|
65
65
|
cookieSameSite: 'Strict', // restrict the consent cookie to first-party (do NOT send cookie to other domains)
|
66
|
+
cookieSecure: true
|
66
67
|
};
|
67
68
|
|
68
69
|
// merge property settings
|
@@ -128,6 +129,59 @@ function BootstrapCookieConsent(props) {
|
|
128
129
|
}
|
129
130
|
};
|
130
131
|
|
132
|
+
// ---------------------------------------------------------------------------
|
133
|
+
// extend()
|
134
|
+
// deep merge of two objects
|
135
|
+
// ---------------------------------------------------------------------------
|
136
|
+
function extend () {
|
137
|
+
var extended = {};
|
138
|
+
var deep = false;
|
139
|
+
var i = 0;
|
140
|
+
var length = arguments.length;
|
141
|
+
|
142
|
+
// Check if a deep merge
|
143
|
+
if ( Object.prototype.toString.call( arguments[0] ) === '[object Boolean]' ) {
|
144
|
+
deep = arguments[0];
|
145
|
+
i++;
|
146
|
+
}
|
147
|
+
|
148
|
+
// Merge the object into the extended object
|
149
|
+
var merge = function (obj) {
|
150
|
+
for ( var prop in obj ) {
|
151
|
+
if ( Object.prototype.hasOwnProperty.call( obj, prop ) ) {
|
152
|
+
// If deep merge and property is an object, merge properties
|
153
|
+
if ( deep && Object.prototype.toString.call(obj[prop]) === '[object Object]' ) {
|
154
|
+
extended[prop] = extend( true, extended[prop], obj[prop] );
|
155
|
+
} else {
|
156
|
+
extended[prop] = obj[prop];
|
157
|
+
}
|
158
|
+
}
|
159
|
+
}
|
160
|
+
};
|
161
|
+
|
162
|
+
// Loop through each object and conduct a merge
|
163
|
+
for ( ; i < length; i++ ) {
|
164
|
+
var obj = arguments[i];
|
165
|
+
merge(obj);
|
166
|
+
}
|
167
|
+
return extended;
|
168
|
+
}
|
169
|
+
|
170
|
+
// ---------------------------------------------------------------------------
|
171
|
+
// executeFunctionByName()
|
172
|
+
// execute a function by NAME (functionName) in a browser context
|
173
|
+
// (e.g. window) the function is published
|
174
|
+
// ---------------------------------------------------------------------------
|
175
|
+
function executeFunctionByName (functionName, context /*, args */) {
|
176
|
+
var args = Array.prototype.slice.call(arguments, 2);
|
177
|
+
var namespaces = functionName.split('.');
|
178
|
+
var func = namespaces.pop();
|
179
|
+
for(var i = 0; i < namespaces.length; i++) {
|
180
|
+
context = context[namespaces[i]];
|
181
|
+
}
|
182
|
+
return context[func].apply(context, args);
|
183
|
+
}
|
184
|
+
|
131
185
|
function showDialog(options) {
|
132
186
|
Events.documentReady(function () {
|
133
187
|
|
@@ -143,11 +197,17 @@ function BootstrapCookieConsent(props) {
|
|
143
197
|
document.body.append(self.modal);
|
144
198
|
self.$modal = $(self.modal);
|
145
199
|
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
200
|
+
// ---------------------------------------------------------------------
|
201
|
+
// register events for the dialog (modal)
|
202
|
+
// ---------------------------------------------------------------------
|
203
|
+
|
204
|
+
// ---------------------------------------------------------------------
|
205
|
+
// on 'hidden'
|
206
|
+
// ---------------------------------------------------------------------
|
207
|
+
self.$modal.on('hidden.bs.modal', function () {
|
208
|
+
// process settings after the user has made his selections
|
209
|
+
executeFunctionByName (self.props.postSelectionCallback, window);
|
210
|
+
}); // END modal on 'hidden'
|
151
211
|
|
152
212
|
// load modal content
|
153
213
|
//
|
@@ -253,12 +313,12 @@ function BootstrapCookieConsent(props) {
|
|
253
313
|
}
|
254
314
|
|
255
315
|
function agreeAll() {
|
256
|
-
Cookie.set(self.props.cookieName, JSON.stringify(gatherOptions(true)), self.props.cookieStorageDays, self.props.cookieSameSite,
|
316
|
+
Cookie.set(self.props.cookieName, JSON.stringify(gatherOptions(true)), self.props.cookieStorageDays, self.props.cookieSameSite, cookieSecure);
|
257
317
|
self.$modal.modal('hide');
|
258
318
|
}
|
259
319
|
|
260
320
|
function doNotAgree() {
|
261
|
-
Cookie.set(self.props.cookieName, JSON.stringify(gatherOptions(false)), self.props.cookieStorageDays, self.props.cookieSameSite,
|
321
|
+
Cookie.set(self.props.cookieName, JSON.stringify(gatherOptions(false)), self.props.cookieStorageDays, self.props.cookieSameSite, cookieSecure);
|
262
322
|
|
263
323
|
// jadams, 2021-07-15: all cookies NOT longer supported by j1.expireCookie
|
264
324
|
// TODO: Create loop over all cookies found in page
|
@@ -271,7 +331,7 @@ function BootstrapCookieConsent(props) {
|
|
271
331
|
}
|
272
332
|
|
273
333
|
function saveSettings() {
|
274
|
-
Cookie.set(self.props.cookieName, JSON.stringify(gatherOptions()), self.props.cookieStorageDays, self.props.cookieSameSite,
|
334
|
+
Cookie.set(self.props.cookieName, JSON.stringify(gatherOptions()), self.props.cookieStorageDays, self.props.cookieSameSite, cookieSecure);
|
275
335
|
self.$modal.modal('hide');
|
276
336
|
}
|
277
337
|
|
@@ -24,4 +24,4 @@
|
|
24
24
|
# outside of J1 Template!
|
25
25
|
# -----------------------------------------------------------------------------
|
26
26
|
*/
|
27
|
-
function
|
27
|
+
function CookieConsent(o){function e(o,e){for(var t=Array.prototype.slice.call(arguments,2),n=o.split("."),i=n.pop(),a=0;a<n.length;a++)e=e[n[a]];return e[i].apply(e,t)}function t(o){b.documentReady(function(){if(p.modal=document.getElementById(p.props.dialogContainerID),p.modal)p.$modal.modal("show");else{d.info("\nload consent modal"),p.modal=document.createElement("div"),p.modal.id=p.props.dialogContainerID,p.modal.setAttribute("class","modal fade"),p.modal.setAttribute("tabindex","-1"),p.modal.setAttribute("role","dialog"),p.modal.setAttribute("aria-labelledby",p.props.dialogContainerID),document.body.append(p.modal),p.$modal=$(p.modal),p.$modal.on("hidden.bs.modal",function(){e(p.props.postSelectionCallback,window)});var o=p.props.contentURL+"/index.html";$.get(o).done(function(o){d.info("\nloading consent modal: successfully"),p.modal.innerHTML=o,p.modal.innerHTML=$("#"+p.props.xhrDataElement).eq(0).html(),$(p.modal).modal({backdrop:"static",keyboard:!1}),p.$buttonDoNotAgree=$("#bccs-buttonDoNotAgree"),p.$buttonAgree=$("#bccs-buttonAgree"),p.$buttonSave=$("#bccs-buttonSave"),p.$buttonAgreeAll=$("#bccs-buttonAgreeAll"),d.info("\nload/initialze options from cookie"),i(),n(),$("#bccs-options").on("hide.bs.collapse",function(){g=!1,i()}).on("show.bs.collapse",function(){g=!0,i()}),d.info("\ninitialze event handler"),p.$buttonDoNotAgree.click(function(){r()}),p.$buttonAgree.click(function(){s()}),p.$buttonSave.click(function(){$("#bccs-options").collapse("hide"),c(),n()}),p.$buttonAgreeAll.click(function(){$("#bccs-options").collapse("hide"),s(),n()})}).fail(function(){d.error("\nloading consent modal: failed"),d.warn("\nprobably no `contentURL` set")})}}.bind(this))}function n(){var o=p.getSettings();if(o)for(var e in o){var t=p.$modal.find("#bccs-options .bccs-option[data-name='"+e+"'] input[type='checkbox']");t.prop("checked",o[e])}}function i(){g?(p.$buttonDoNotAgree.hide(),p.$buttonAgree.hide(),p.$buttonSave.show(),p.$buttonAgreeAll.show()):(p.$buttonDoNotAgree.show(),p.$buttonAgree.show(),p.$buttonSave.hide(),p.$buttonAgreeAll.hide())}function a(o){for(var e=p.$modal.find("#bccs-options .bccs-option"),t={},n=0;n<e.length;n++){var i=e[n],a=i.getAttribute("data-name");if("necessary"===a)t[a]=!0;else if(void 0===o){var s=$(i).find("input[type='checkbox']");t[a]=s.prop("checked")}else t[a]=!!o}return t}function s(){f.set(p.props.cookieName,JSON.stringify(a(!0)),p.props.cookieStorageDays,p.props.cookieSameSite,m),p.$modal.modal("hide")}function r(){f.set(p.props.cookieName,JSON.stringify(a(!1)),p.props.cookieStorageDays,p.props.cookieSameSite,m),p.$modal.modal("hide"),j1.goHome()}function c(){f.set(p.props.cookieName,JSON.stringify(a()),p.props.cookieStorageDays,p.props.cookieSameSite,m),p.$modal.modal("hide")}var l,d=log4javascript.getLogger("j1.core.bsCookieConsent"),p=this,g=!1,u=new liteURL(window.location.href),m=u.protocol.includes("https")?!0:!1;d.info("\ninitializing core module: started"),d.info("\nstate: started"),this.props={autoShowDialog:!0,dialogLanguage:"content",dialogLanguages:["en","de"],contentURL:"/assets/data/cookieconsent",cookieName:"j1.user.translate",cookieStorageDays:365,postSelectionCallback:"",whitelisted:[],xhrDataElement:"consent-data",dialogContainerID:"consent-modal",cookieSameSite:"Strict",cookieSecure:!0};for(var h in o)this.props[h]=o[h];-1!==this.props.dialogLanguage.indexOf("-")&&(this.props.dialogLanguage=this.props.dialogLanguage.split("-")[0]),this.props.dialogLanguages.includes(this.props.dialogLanguage)||(this.props.dialogLanguage=this.props.dialogLanguages[0]),this.props.xhrDataElement=this.props.xhrDataElement+"-"+this.props.dialogLanguage,this.props.cookieSecure=m;var f={set:function(o,e,t,n,i){var a=window.btoa(e),s="";if(t){var r=new Date;r.setTime(r.getTime()+24*t*60*60*1e3),s="; expires="+r.toUTCString()}i?document.cookie=o+"="+(a||"")+s+"; Path=/; cookieSameSite="+n+"; cookieSecure="+i+";":document.cookie=o+"="+(a||"")+s+"; Path=/; cookieSameSite="+n+";"},get:function(o){for(var e=o+"=",t=document.cookie.split(";"),n=0;n<t.length;n++){for(var i=t[n];" "===i.charAt(0);)i=i.substring(1,i.length);if(0===i.indexOf(e)){var a=i.substring(e.length,i.length),s=window.atob(a);return s}}return void 0}},b={documentReady:function(o){"loading"!==document.readyState?o():document.addEventListener("DOMContentLoaded",o)}};l=this.props.whitelisted.indexOf(window.location.pathname)>-1,void 0===f.get(this.props.cookieName)&&this.props.autoShowDialog&&!l&&t(),d.info("\ninitializing core module finished"),d.info("\nstate: finished"),this.showDialog=function(){l=this.props.whitelisted.indexOf(window.location.pathname)>-1,l||t()},this.getSettings=function(o){var e=f.get(p.props.cookieName);if(e){var t=JSON.parse(f.get(p.props.cookieName));return void 0===o?t:t?t[o]:!1}return void 0}}
|
@@ -70229,7 +70229,7 @@ this.pdfMake = this.pdfMake || {}; this.pdfMake.vfs = {
|
|
70229
70229
|
nNewNode.id = aSplit[0].substr(1, aSplit[0].length-1);
|
70230
70230
|
nNewNode.className = aSplit[1];
|
70231
70231
|
}
|
70232
|
-
else if ( sAttr.charAt(0) == "#" )
|
70232
|
+
else if ( sAttr.charAt(0) == "#void" )
|
70233
70233
|
{
|
70234
70234
|
nNewNode.id = sAttr.substr(1, sAttr.length-1);
|
70235
70235
|
}
|