j1-template 2020.0.0 → 2020.0.5
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/layouts/content_generator_blog_archive.html +22 -18
- data/_includes/themes/j1/layouts/content_generator_collection.html +15 -12
- data/_includes/themes/j1/layouts/content_generator_page.html +16 -17
- data/_includes/themes/j1/layouts/content_generator_post.html +19 -24
- data/_includes/themes/j1/modules/navigator/generator.html +62 -40
- data/assets/data/menu.html +6 -5
- data/assets/data/mmenu.html +455 -0
- data/assets/data/{sidebar.html → mmenu_sidebar.html} +24 -18
- data/assets/data/mmenu_toc.html +45 -0
- data/assets/data/quicklinks.html +9 -4
- data/assets/data/ssm.html +227 -0
- data/assets/error_pages/HTTP204.html +3 -3
- data/assets/themes/j1/core/css/bootstrap.css +116 -93
- data/assets/themes/j1/core/css/bootstrap.min.css +4 -4
- data/assets/themes/j1/core/css/globals.css +1 -1
- data/assets/themes/j1/core/css/theme_extensions.css +150 -23
- data/assets/themes/j1/core/css/theme_extensions.min.css +1 -1
- data/assets/themes/j1/core/css/uno.css +150 -23
- data/assets/themes/j1/core/css/uno.min.css +1 -1
- data/assets/themes/j1/core/css/vendor.css +130 -104
- data/assets/themes/j1/core/css/vendor.min.css +4 -4
- data/assets/themes/j1/core/js/template.js +296 -24
- data/assets/themes/j1/core/js/template.js.map +1 -1
- data/assets/themes/j1/core/js/template.min.js +1 -1
- data/lib/j1/version.rb +1 -1
- data/lib/j1_app/j1_auth_manager/auth_manager.rb +21 -17
- data/lib/j1_app/j1_auth_manager/config.rb +13 -9
- data/lib/j1_app/j1_site_manager/static_site.rb +1 -1
- data/lib/starter_web/Gemfile +2 -2
- data/lib/starter_web/_config.yml +12 -139
- data/lib/starter_web/_data/layouts/default.yml +5 -5
- data/lib/starter_web/_data/modules/authentication.yml +4 -4
- data/lib/starter_web/_data/modules/cookie_consent.yml +10 -10
- data/lib/starter_web/_data/modules/defaults/navigator.yml +25 -24
- data/lib/starter_web/_data/modules/defaults/ssm.yml +50 -0
- data/lib/starter_web/_data/modules/defaults/toccer.yml +1 -1
- data/lib/starter_web/_data/modules/navigator.yml +161 -97
- data/lib/starter_web/_data/modules/navigator.yml.new +232 -0
- data/lib/starter_web/_data/modules/ssm.yml +133 -0
- data/lib/starter_web/_data/modules/toccer.yml +2 -1
- data/lib/starter_web/_data/private.yml +66 -98
- data/lib/starter_web/_data/resources.yml +76 -10
- data/lib/starter_web/apps/public/{cc → cc/cc.yml} +0 -0
- data/lib/starter_web/apps/public/cc/index.adoc +107 -0
- data/lib/starter_web/assets/images/modules/icons/j1/{j1..ico → j1.ico} +0 -0
- data/lib/starter_web/assets/themes/j1/adapter/js/algolia.js +321 -0
- data/lib/starter_web/assets/themes/j1/adapter/js/back2top.js +2 -2
- data/lib/starter_web/assets/themes/j1/adapter/js/cookie_consent.js +38 -28
- data/lib/starter_web/assets/themes/j1/adapter/js/gallery_customizer.js +7 -7
- data/lib/starter_web/assets/themes/j1/adapter/js/j1.js +55 -30
- data/lib/starter_web/assets/themes/j1/adapter/js/logger.js +2 -2
- data/lib/starter_web/assets/themes/j1/adapter/js/mmenu.js +439 -0
- data/lib/starter_web/assets/themes/j1/adapter/js/mmenu.js.new +432 -0
- data/lib/starter_web/assets/themes/j1/adapter/js/navigator.js +29 -47
- data/lib/starter_web/assets/themes/j1/adapter/js/ssm.js +496 -0
- data/lib/starter_web/assets/themes/j1/adapter/js/themer.js +2 -1
- data/lib/starter_web/assets/themes/j1/adapter/js/toccer.js +40 -36
- data/lib/starter_web/assets/themes/j1/extensions/mmenu-light/css/mmenu-light.css +384 -0
- data/lib/starter_web/assets/themes/j1/extensions/mmenu-light/css/mmenu-light.min.css +384 -0
- data/lib/starter_web/assets/themes/j1/extensions/mmenu-light/css/themes/uno.css +95 -0
- data/lib/starter_web/assets/themes/j1/extensions/mmenu-light/css/themes/uno.min.css +95 -0
- data/lib/starter_web/assets/themes/j1/extensions/mmenu-light/js/mmenu-light.js +11 -0
- data/lib/starter_web/assets/themes/j1/extensions/mmenu-light/js/mmenu-light.min.js +11 -0
- data/lib/starter_web/assets/themes/j1/extensions/mmenu-light/js/mmenu-light.polyfills.js +118 -0
- data/lib/starter_web/assets/themes/j1/extensions/mmenu-light/js/mmenu-light.polyfills.min.js +118 -0
- data/lib/starter_web/collections/posts/public/{jekyll → featured}/_posts/2018-05-01-confusion-about-base-url.adoc +0 -0
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/learn/floating_sidebar.adoc +199 -0
- data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +2 -2
- data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +2 -2
- data/lib/starter_web/pages/public/learn/whats_up.adoc +12 -11
- data/lib/starter_web/pages/public/legal/en/500_support.adoc +1 -1
- data/lib/starter_web/pages/public/previewer/000_includes/tables/mdi_icons/200_rotate.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/mdi_icons_preview.adoc +2 -3
- data/lib/starter_web/pages/public/previewer/twitter_emoji_preview.adoc +3 -3
- data/lib/starter_web/pages/public/site_search.adoc +196 -0
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +27 -6
File without changes
|
@@ -0,0 +1,107 @@
|
|
1
|
+
---
|
2
|
+
layout: page
|
3
|
+
|
4
|
+
title: Control Center
|
5
|
+
tagline: site management
|
6
|
+
description: A CMS environment based on Netlify CMS
|
7
|
+
|
8
|
+
tags: [ App, Control Center ]
|
9
|
+
index: [ Control, Center, Netlify, CMS ]
|
10
|
+
categories: [ apps ]
|
11
|
+
|
12
|
+
toc: false
|
13
|
+
scrollbar: true
|
14
|
+
permalink: /apps/public/cc/
|
15
|
+
regenerate: false
|
16
|
+
|
17
|
+
resources: [ framer ]
|
18
|
+
resource_options:
|
19
|
+
- attic:
|
20
|
+
padding_top: 400
|
21
|
+
padding_bottom: 50
|
22
|
+
opacity: 0.5
|
23
|
+
slides:
|
24
|
+
- url: /assets/images/modules/attics/banner/admin-dashboard-bootstrap-1280x800-bw.jpg
|
25
|
+
alt: admin-dashboard-bootstrap-1280x800-bw
|
26
|
+
---
|
27
|
+
|
28
|
+
// TODO
|
29
|
+
// -----------------------------------------------------------------------------
|
30
|
+
// jadams, 2019-08-31: Removing GitHub credentials should be configurable
|
31
|
+
// See: ~/packages/400_template_site/_data/apps/cc.yml
|
32
|
+
// See: https://stackoverflow.com/questions/9943220/how-to-delete-a-localstorage-item-when-the-browser-window-tab-is-closed
|
33
|
+
|
34
|
+
// Enable the Liquid Preprocessor
|
35
|
+
// -----------------------------------------------------------------------------
|
36
|
+
:page-liquid:
|
37
|
+
|
38
|
+
// Set other global page attributes here
|
39
|
+
// -----------------------------------------------------------------------------
|
40
|
+
|
41
|
+
// Liquid procedures
|
42
|
+
// -----------------------------------------------------------------------------
|
43
|
+
|
44
|
+
// Initialize entry document paths
|
45
|
+
// -----------------------------------------------------------------------------
|
46
|
+
|
47
|
+
// Load tags and urls
|
48
|
+
// -----------------------------------------------------------------------------
|
49
|
+
|
50
|
+
// Additional Asciidoc page attributes goes here
|
51
|
+
// -----------------------------------------------------------------------------
|
52
|
+
|
53
|
+
// Include documents
|
54
|
+
// -----------------------------------------------------------------------------
|
55
|
+
|
56
|
+
++++
|
57
|
+
<div id="cms-manager" class="row mt-3">
|
58
|
+
<!--p id="callback" class="ml-2"></p -->
|
59
|
+
|
60
|
+
<iframe
|
61
|
+
src="/assets/data/cc/index.html"
|
62
|
+
width="100%"
|
63
|
+
style="border-width:0;">
|
64
|
+
</iframe>
|
65
|
+
</div>
|
66
|
+
|
67
|
+
<script>
|
68
|
+
var cookie_names = j1.getCookieNames();
|
69
|
+
var cookie_user_state_name = cookie_names.user_state;
|
70
|
+
var user_state = j1.readCookie(cookie_user_state_name);
|
71
|
+
var bg_primary = j1.getStyleValue('bg-primary', 'background-color');
|
72
|
+
|
73
|
+
// $('head').append('<style>div#nc-root { background-color: ' +bg_primary+ ' !important; }</style>');
|
74
|
+
|
75
|
+
if (!user_state.cc_authenticated) {
|
76
|
+
// Remove GitHub credentials to enforce explicit login
|
77
|
+
localStorage.removeItem('netlify-cms-user');
|
78
|
+
user_state.cc_authenticated = true;
|
79
|
+
|
80
|
+
j1.writeCookie({
|
81
|
+
name: cookie_user_state_name,
|
82
|
+
data: user_state,
|
83
|
+
expires: 365
|
84
|
+
});
|
85
|
+
}
|
86
|
+
|
87
|
+
iFrameResize({
|
88
|
+
log: false,
|
89
|
+
inPageLinks: true,
|
90
|
+
heightCalculationMethod: 'lowestElement',
|
91
|
+
minHeight: 512,
|
92
|
+
resizedCallback: function(messageData) {
|
93
|
+
$('p#callback').html(
|
94
|
+
'<b>Frame ID:</b> ' + messageData.iframe.id +
|
95
|
+
' <b>Height:</b> ' + messageData.height +
|
96
|
+
' <b>Width:</b> ' + messageData.width +
|
97
|
+
' <b>Event type:</b> ' + messageData.type
|
98
|
+
);
|
99
|
+
}
|
100
|
+
});
|
101
|
+
|
102
|
+
</script>
|
103
|
+
++++
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
|
File without changes
|
@@ -0,0 +1,321 @@
|
|
1
|
+
---
|
2
|
+
regenerate: false
|
3
|
+
---
|
4
|
+
|
5
|
+
{% capture cache %}
|
6
|
+
|
7
|
+
{% comment %}
|
8
|
+
# -----------------------------------------------------------------------------
|
9
|
+
# ~/assets/themes/j1/adapter/js/algolia.js
|
10
|
+
# Liquid template to adapt Algolia Core functions
|
11
|
+
#
|
12
|
+
# Product/Info:
|
13
|
+
# https://jekyll.one
|
14
|
+
# https://community.algolia.com/instantsearch.js/v2/getting-started.html
|
15
|
+
# Copyright (C) 2020 Juergen Adams
|
16
|
+
#
|
17
|
+
# J1 Template is licensed under the MIT License.
|
18
|
+
# For details, see https://jekyll.one
|
19
|
+
# -----------------------------------------------------------------------------
|
20
|
+
# Test data:
|
21
|
+
# {{ liquid_var | debug }}
|
22
|
+
# -----------------------------------------------------------------------------
|
23
|
+
{% endcomment %}
|
24
|
+
|
25
|
+
{% comment %} Liquid procedures
|
26
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
27
|
+
|
28
|
+
{% comment %} Set global settings
|
29
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
30
|
+
{% assign environment = site.environment %}
|
31
|
+
{% assign template_version = site.version %}
|
32
|
+
|
33
|
+
{% comment %} Process YML config data
|
34
|
+
================================================================================ {% endcomment %}
|
35
|
+
|
36
|
+
{% comment %} Set config files
|
37
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
38
|
+
{% assign site_config = site %}
|
39
|
+
{% assign template_config = site.data.template_settings %}
|
40
|
+
{% assign blocks = site.data.blocks %}
|
41
|
+
{% assign modules = site.data.modules %}
|
42
|
+
|
43
|
+
{% comment %} Set config data
|
44
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
45
|
+
{% assign algolia_config = site_config.algolia %}
|
46
|
+
|
47
|
+
{% comment %} Set config options
|
48
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
49
|
+
|
50
|
+
/*
|
51
|
+
# -----------------------------------------------------------------------------
|
52
|
+
# ~/assets/themes/j1/adapter/js/algolia.js
|
53
|
+
# J1 Adapter for Algolia
|
54
|
+
#
|
55
|
+
# Product/Info:
|
56
|
+
# https://jekyll.one
|
57
|
+
#
|
58
|
+
# Copyright (C) 2020 Juergen Adams
|
59
|
+
#
|
60
|
+
# J1 Template is licensed under the MIT License.
|
61
|
+
# For details, see https://jekyll.one
|
62
|
+
# -----------------------------------------------------------------------------
|
63
|
+
# Adapter generated: {{site.time}}
|
64
|
+
# -----------------------------------------------------------------------------
|
65
|
+
*/
|
66
|
+
'use strict';
|
67
|
+
|
68
|
+
{% comment %} Main
|
69
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
70
|
+
j1.adapter['algolia'] = (function (j1, window) {
|
71
|
+
|
72
|
+
{% comment %} Set global variables
|
73
|
+
------------------------------------------------------------------------------ {% endcomment %}
|
74
|
+
var environment = '{{environment}}';
|
75
|
+
var moduleOptions = {};
|
76
|
+
var _this;
|
77
|
+
var logger;
|
78
|
+
var logText;
|
79
|
+
|
80
|
+
// ---------------------------------------------------------------------------
|
81
|
+
// Helper functions
|
82
|
+
// ---------------------------------------------------------------------------
|
83
|
+
|
84
|
+
// ---------------------------------------------------------------------------
|
85
|
+
// Main object
|
86
|
+
// ---------------------------------------------------------------------------
|
87
|
+
return {
|
88
|
+
|
89
|
+
// -------------------------------------------------------------------------
|
90
|
+
// Initializer
|
91
|
+
// -------------------------------------------------------------------------
|
92
|
+
init: function (options) {
|
93
|
+
// initialize state flag
|
94
|
+
j1.adapter.algolia.state = 'pending';
|
95
|
+
|
96
|
+
// -----------------------------------------------------------------------
|
97
|
+
// Default module settings
|
98
|
+
// -----------------------------------------------------------------------
|
99
|
+
var settings = $.extend({
|
100
|
+
module_name: 'j1.adapter.algolia',
|
101
|
+
generated: '{{site.time}}'
|
102
|
+
}, options);
|
103
|
+
|
104
|
+
{% comment %} Set global variables
|
105
|
+
-------------------------------------------------------------------------- {% endcomment %}
|
106
|
+
_this = j1.adapter.algolia;
|
107
|
+
logger = log4javascript.getLogger('j1.adapter.algolia');
|
108
|
+
|
109
|
+
_this.setState('started');
|
110
|
+
logger.info('state: ' + _this.getState());
|
111
|
+
logger.info('module is being initialized');
|
112
|
+
|
113
|
+
{% comment %} Load module config from yml data
|
114
|
+
-------------------------------------------------------------------------- {% endcomment %}
|
115
|
+
// Load module DEFAULTS|CONFIG
|
116
|
+
moduleOptions = $.extend({}, {{algolia_config | replace: '=>', ':' | replace: 'nil', '""'}});
|
117
|
+
|
118
|
+
if (typeof settings !== 'undefined') {
|
119
|
+
moduleOptions = j1.mergeData(moduleOptions, settings);
|
120
|
+
}
|
121
|
+
|
122
|
+
var search = instantsearch({
|
123
|
+
appId: moduleOptions.application_id,
|
124
|
+
apiKey: moduleOptions.search_only_api_key,
|
125
|
+
indexName: moduleOptions.index_name,
|
126
|
+
routing: true
|
127
|
+
});
|
128
|
+
|
129
|
+
var hitTemplate = function(hit) {
|
130
|
+
// state = 'start search';
|
131
|
+
// logger.info('state: ' + state);
|
132
|
+
// var re = new RegExp("^\/posts");
|
133
|
+
// var re = new RegExp("^\/pages");
|
134
|
+
var re = new RegExp("^\/pages|^\/posts|^\/collections");
|
135
|
+
if (re.test(hit.url)) {
|
136
|
+
let date = '';
|
137
|
+
if (hit.date) {
|
138
|
+
date = moment.unix(hit.date).format('MMM D, YYYY');
|
139
|
+
}
|
140
|
+
// let url = `/jekyll-algolia-example${hit.url}#${hit.anchor}`;
|
141
|
+
let url = `${hit.url}`;
|
142
|
+
|
143
|
+
const title = hit._highlightResult.title.value;
|
144
|
+
let breadcrumbs = '';
|
145
|
+
|
146
|
+
if (hit._highlightResult.headings) {
|
147
|
+
breadcrumbs = hit._highlightResult.headings.map(match => {
|
148
|
+
return `<span class="post-breadcrumb">${match.value}</span>`
|
149
|
+
}).join(' > ')
|
150
|
+
}
|
151
|
+
|
152
|
+
var content = hit._highlightResult.html.value;
|
153
|
+
|
154
|
+
return `
|
155
|
+
<li class="search-result-item">
|
156
|
+
<div class="card card-flat">
|
157
|
+
<div class="card-body">
|
158
|
+
<span class="post-meta">${date}</span>
|
159
|
+
<h2 class="card-title">${title}</h2>
|
160
|
+
<h6 class="card-subtitle mb-2 text-muted">${hit.tagline}</h6>
|
161
|
+
<div class="card-text">${content}</div>
|
162
|
+
<div class="card-footer">
|
163
|
+
<a class="card-link" href="${url}" target="_blank">Read more ..</a>
|
164
|
+
</div>
|
165
|
+
</div>
|
166
|
+
</div>
|
167
|
+
</li>
|
168
|
+
`;
|
169
|
+
}
|
170
|
+
// state = 'finished search';
|
171
|
+
// logger.info('state: ' + state);
|
172
|
+
}
|
173
|
+
|
174
|
+
if (moduleOptions.enabled == true) {
|
175
|
+
// initialize currentRefinedValues
|
176
|
+
search.addWidget(
|
177
|
+
instantsearch.widgets.currentRefinedValues({
|
178
|
+
container: '#current-refined-values',
|
179
|
+
// This widget can also contain a clear all link to remove all filters,
|
180
|
+
// we disable it in this example since we use `clearAll` widget on its own.
|
181
|
+
clearAll: false
|
182
|
+
})
|
183
|
+
);
|
184
|
+
|
185
|
+
// initialize clearAll
|
186
|
+
search.addWidget(
|
187
|
+
instantsearch.widgets.clearAll({
|
188
|
+
container: '#clear-all',
|
189
|
+
templates: {
|
190
|
+
link: 'Reset TAGS'
|
191
|
+
},
|
192
|
+
clearsQuery: false,
|
193
|
+
autoHideContainer: false
|
194
|
+
})
|
195
|
+
);
|
196
|
+
|
197
|
+
// initialize pagination
|
198
|
+
search.addWidget(
|
199
|
+
instantsearch.widgets.pagination({
|
200
|
+
container: '#pagination',
|
201
|
+
maxPages: 20,
|
202
|
+
// default is to scroll to 'body', here we disable this behavior
|
203
|
+
scrollTo: false
|
204
|
+
})
|
205
|
+
);
|
206
|
+
// initialize SearchBox
|
207
|
+
search.addWidget(
|
208
|
+
instantsearch.widgets.searchBox({
|
209
|
+
container: '#search-searchbar',
|
210
|
+
placeholder: 'Search this site ..',
|
211
|
+
autofocus: true,
|
212
|
+
reset: true,
|
213
|
+
loadingIndicator: false,
|
214
|
+
poweredBy: true // This is required if you're on the free Community plan
|
215
|
+
})
|
216
|
+
);
|
217
|
+
// initialize hits widget
|
218
|
+
search.addWidget(
|
219
|
+
instantsearch.widgets.hits({
|
220
|
+
container: '#search-hits',
|
221
|
+
templates: {
|
222
|
+
empty: 'No results',
|
223
|
+
item: hitTemplate
|
224
|
+
}
|
225
|
+
})
|
226
|
+
);
|
227
|
+
// initialize RefinementList
|
228
|
+
search.addWidget(
|
229
|
+
instantsearch.widgets.refinementList({
|
230
|
+
container: '#refinement-list',
|
231
|
+
attributeName: 'tags',
|
232
|
+
collapsible: true,
|
233
|
+
operator: "and",
|
234
|
+
limit: 5,
|
235
|
+
sortBy: ["isRefined","count:desc","name:asc"],
|
236
|
+
templates: {
|
237
|
+
header: 'Tags'
|
238
|
+
},
|
239
|
+
showMore: true
|
240
|
+
})
|
241
|
+
);
|
242
|
+
/*
|
243
|
+
search.addWidget(
|
244
|
+
instantsearch.widgets.hitsPerPageSelector({
|
245
|
+
container: '#hits-per-page-selector',
|
246
|
+
items: [
|
247
|
+
{value: 3, label: '3 per page', default: true},
|
248
|
+
{value: 6, label: '6 per page'},
|
249
|
+
{value: 12, label: '12 per page'},
|
250
|
+
]
|
251
|
+
})
|
252
|
+
);
|
253
|
+
*/
|
254
|
+
}
|
255
|
+
|
256
|
+
if (moduleOptions.enabled == true) {
|
257
|
+
search.start();
|
258
|
+
$('#searcher').addClass('row');
|
259
|
+
|
260
|
+
_this.setState('finished');
|
261
|
+
logger.info('state: ' + _this.getState());
|
262
|
+
logger.info('initializing module finished');
|
263
|
+
} else {
|
264
|
+
$('#algolia-site-search').append('<p class="ml-5 mt-5 mb-5 "> <strong>Algolia Search DISABLED</strong> </p>');
|
265
|
+
_this.setState('finished');
|
266
|
+
logger.info('state: ' + _this.getState());
|
267
|
+
logger.warn("module disabled");
|
268
|
+
}
|
269
|
+
|
270
|
+
return true;
|
271
|
+
}, // END init
|
272
|
+
|
273
|
+
// -------------------------------------------------------------------------
|
274
|
+
// messageHandler: MessageHandler for J1 CookieConsent module
|
275
|
+
// Manage messages send from other J1 modules
|
276
|
+
// -------------------------------------------------------------------------
|
277
|
+
messageHandler: function (sender, message) {
|
278
|
+
var json_message = JSON.stringify(message, undefined, 2);
|
279
|
+
|
280
|
+
logText = 'received message from ' + sender + ': ' + json_message;
|
281
|
+
logger.debug(logText);
|
282
|
+
|
283
|
+
// -----------------------------------------------------------------------
|
284
|
+
// Process commands|actions
|
285
|
+
// -----------------------------------------------------------------------
|
286
|
+
if (message.type === 'command' && message.action === 'module_initialized') {
|
287
|
+
//
|
288
|
+
// Place handling of command|action here
|
289
|
+
//
|
290
|
+
logger.info(message.text);
|
291
|
+
}
|
292
|
+
|
293
|
+
//
|
294
|
+
// Place handling of other command|action here
|
295
|
+
//
|
296
|
+
|
297
|
+
return true;
|
298
|
+
}, // END messageHandler
|
299
|
+
|
300
|
+
// -------------------------------------------------------------------------
|
301
|
+
// setState
|
302
|
+
// Set the current (processing) state of the module
|
303
|
+
// -------------------------------------------------------------------------
|
304
|
+
setState: function (stat) {
|
305
|
+
j1.adapter.scroller.state = stat;
|
306
|
+
}, // END setState
|
307
|
+
|
308
|
+
// -------------------------------------------------------------------------
|
309
|
+
// getState
|
310
|
+
// Returns the current (processing) state of the module
|
311
|
+
// -------------------------------------------------------------------------
|
312
|
+
getState: function () {
|
313
|
+
return j1.adapter.scroller.state;
|
314
|
+
} // END state
|
315
|
+
|
316
|
+
}; // END return
|
317
|
+
})(j1, window);
|
318
|
+
|
319
|
+
{% endcapture %}
|
320
|
+
{{ cache | strip_empty_lines }}
|
321
|
+
{% assign cache = nil %}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
---
|
2
|
-
regenerate:
|
2
|
+
regenerate: false
|
3
3
|
---
|
4
4
|
|
5
5
|
{% capture cache %}
|
@@ -224,4 +224,4 @@ j1.adapter['back2top'] = (function (j1, window) {
|
|
224
224
|
|
225
225
|
{% endcapture %}
|
226
226
|
{{ cache | strip_empty_lines }}
|
227
|
-
{% assign cache = nil %}
|
227
|
+
{% assign cache = nil %}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
---
|
2
|
-
regenerate:
|
2
|
+
regenerate: false
|
3
3
|
---
|
4
4
|
|
5
5
|
{% capture cache %}
|
@@ -108,13 +108,20 @@ j1.adapter['cookie_consent'] = (function (j1, window) {
|
|
108
108
|
|
109
109
|
_this = j1.adapter.cookie_consent;
|
110
110
|
logger = log4javascript.getLogger('j1.adapter.cookie_consent');
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
111
|
+
|
112
|
+
// TODO:
|
113
|
+
// CHECK how|what module should initialize the user_state
|
114
|
+
// cookie. For now disabled here, because cookie is too early
|
115
|
+
// written. Cause corrupted|imcomplete cookie content if cookie
|
116
|
+
// does NOT exists already.
|
117
|
+
|
118
|
+
// cookie_consent = j1.existsCookie(user_state_name) ?
|
119
|
+
// j1.readCookie(user_state_name) :
|
120
|
+
// j1.writeCookie({
|
121
|
+
// name: user_state_name,
|
122
|
+
// data: cookie_consent,
|
123
|
+
// expires: 365
|
124
|
+
// });
|
118
125
|
|
119
126
|
// -----------------------------------------------------------------------
|
120
127
|
// options loader
|
@@ -130,25 +137,28 @@ j1.adapter['cookie_consent'] = (function (j1, window) {
|
|
130
137
|
logger.info('state: ' + _this.getState());
|
131
138
|
logger.info('module is being initialized');
|
132
139
|
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
140
|
+
if (j1.existsCookie(user_state_name)) {
|
141
|
+
cookie_consent = j1.readCookie(user_state_name);
|
142
|
+
cookie_consent.deleteOnDecline = moduleOptions.delete_cookies_on_decline;
|
143
|
+
cookie_consent.showConsentOnPending = moduleOptions.show_consent_on_pending;
|
144
|
+
cookie_consent.whitelistedPages = moduleOptions.whitelisted_pages;
|
145
|
+
cookie_consent.stopScrolling = moduleOptions.stop_scrolling;
|
146
|
+
|
147
|
+
// Update cookie consent
|
148
|
+
// TODO: MAKE expiery date configurable
|
149
|
+
|
150
|
+
// j1.writeCookie({
|
151
|
+
// name: user_state_name,
|
152
|
+
// data: cookie_consent,
|
153
|
+
// expires: cookie_consent.live_span
|
154
|
+
// });
|
155
|
+
|
156
|
+
j1.writeCookie({
|
157
|
+
name: user_state_name,
|
158
|
+
data: cookie_consent,
|
159
|
+
expires: 365
|
160
|
+
});
|
161
|
+
}
|
152
162
|
|
153
163
|
// ---------------------------------------------------------------------
|
154
164
|
// data loader
|
@@ -256,4 +266,4 @@ j1.adapter['cookie_consent'] = (function (j1, window) {
|
|
256
266
|
|
257
267
|
{% endcapture %}
|
258
268
|
{{ cache | strip_empty_lines }}
|
259
|
-
{% assign cache = nil %}
|
269
|
+
{% assign cache = nil %}
|