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.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/content_generator_blog_archive.html +22 -18
  3. data/_includes/themes/j1/layouts/content_generator_collection.html +15 -12
  4. data/_includes/themes/j1/layouts/content_generator_page.html +16 -17
  5. data/_includes/themes/j1/layouts/content_generator_post.html +19 -24
  6. data/_includes/themes/j1/modules/navigator/generator.html +62 -40
  7. data/assets/data/menu.html +6 -5
  8. data/assets/data/mmenu.html +455 -0
  9. data/assets/data/{sidebar.html → mmenu_sidebar.html} +24 -18
  10. data/assets/data/mmenu_toc.html +45 -0
  11. data/assets/data/quicklinks.html +9 -4
  12. data/assets/data/ssm.html +227 -0
  13. data/assets/error_pages/HTTP204.html +3 -3
  14. data/assets/themes/j1/core/css/bootstrap.css +116 -93
  15. data/assets/themes/j1/core/css/bootstrap.min.css +4 -4
  16. data/assets/themes/j1/core/css/globals.css +1 -1
  17. data/assets/themes/j1/core/css/theme_extensions.css +150 -23
  18. data/assets/themes/j1/core/css/theme_extensions.min.css +1 -1
  19. data/assets/themes/j1/core/css/uno.css +150 -23
  20. data/assets/themes/j1/core/css/uno.min.css +1 -1
  21. data/assets/themes/j1/core/css/vendor.css +130 -104
  22. data/assets/themes/j1/core/css/vendor.min.css +4 -4
  23. data/assets/themes/j1/core/js/template.js +296 -24
  24. data/assets/themes/j1/core/js/template.js.map +1 -1
  25. data/assets/themes/j1/core/js/template.min.js +1 -1
  26. data/lib/j1/version.rb +1 -1
  27. data/lib/j1_app/j1_auth_manager/auth_manager.rb +21 -17
  28. data/lib/j1_app/j1_auth_manager/config.rb +13 -9
  29. data/lib/j1_app/j1_site_manager/static_site.rb +1 -1
  30. data/lib/starter_web/Gemfile +2 -2
  31. data/lib/starter_web/_config.yml +12 -139
  32. data/lib/starter_web/_data/layouts/default.yml +5 -5
  33. data/lib/starter_web/_data/modules/authentication.yml +4 -4
  34. data/lib/starter_web/_data/modules/cookie_consent.yml +10 -10
  35. data/lib/starter_web/_data/modules/defaults/navigator.yml +25 -24
  36. data/lib/starter_web/_data/modules/defaults/ssm.yml +50 -0
  37. data/lib/starter_web/_data/modules/defaults/toccer.yml +1 -1
  38. data/lib/starter_web/_data/modules/navigator.yml +161 -97
  39. data/lib/starter_web/_data/modules/navigator.yml.new +232 -0
  40. data/lib/starter_web/_data/modules/ssm.yml +133 -0
  41. data/lib/starter_web/_data/modules/toccer.yml +2 -1
  42. data/lib/starter_web/_data/private.yml +66 -98
  43. data/lib/starter_web/_data/resources.yml +76 -10
  44. data/lib/starter_web/apps/public/{cc → cc/cc.yml} +0 -0
  45. data/lib/starter_web/apps/public/cc/index.adoc +107 -0
  46. data/lib/starter_web/assets/images/modules/icons/j1/{j1..ico → j1.ico} +0 -0
  47. data/lib/starter_web/assets/themes/j1/adapter/js/algolia.js +321 -0
  48. data/lib/starter_web/assets/themes/j1/adapter/js/back2top.js +2 -2
  49. data/lib/starter_web/assets/themes/j1/adapter/js/cookie_consent.js +38 -28
  50. data/lib/starter_web/assets/themes/j1/adapter/js/gallery_customizer.js +7 -7
  51. data/lib/starter_web/assets/themes/j1/adapter/js/j1.js +55 -30
  52. data/lib/starter_web/assets/themes/j1/adapter/js/logger.js +2 -2
  53. data/lib/starter_web/assets/themes/j1/adapter/js/mmenu.js +439 -0
  54. data/lib/starter_web/assets/themes/j1/adapter/js/mmenu.js.new +432 -0
  55. data/lib/starter_web/assets/themes/j1/adapter/js/navigator.js +29 -47
  56. data/lib/starter_web/assets/themes/j1/adapter/js/ssm.js +496 -0
  57. data/lib/starter_web/assets/themes/j1/adapter/js/themer.js +2 -1
  58. data/lib/starter_web/assets/themes/j1/adapter/js/toccer.js +40 -36
  59. data/lib/starter_web/assets/themes/j1/extensions/mmenu-light/css/mmenu-light.css +384 -0
  60. data/lib/starter_web/assets/themes/j1/extensions/mmenu-light/css/mmenu-light.min.css +384 -0
  61. data/lib/starter_web/assets/themes/j1/extensions/mmenu-light/css/themes/uno.css +95 -0
  62. data/lib/starter_web/assets/themes/j1/extensions/mmenu-light/css/themes/uno.min.css +95 -0
  63. data/lib/starter_web/assets/themes/j1/extensions/mmenu-light/js/mmenu-light.js +11 -0
  64. data/lib/starter_web/assets/themes/j1/extensions/mmenu-light/js/mmenu-light.min.js +11 -0
  65. data/lib/starter_web/assets/themes/j1/extensions/mmenu-light/js/mmenu-light.polyfills.js +118 -0
  66. data/lib/starter_web/assets/themes/j1/extensions/mmenu-light/js/mmenu-light.polyfills.min.js +118 -0
  67. data/lib/starter_web/collections/posts/public/{jekyll → featured}/_posts/2018-05-01-confusion-about-base-url.adoc +0 -0
  68. data/lib/starter_web/package.json +1 -1
  69. data/lib/starter_web/pages/public/learn/floating_sidebar.adoc +199 -0
  70. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +2 -2
  71. data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +2 -2
  72. data/lib/starter_web/pages/public/learn/whats_up.adoc +12 -11
  73. data/lib/starter_web/pages/public/legal/en/500_support.adoc +1 -1
  74. data/lib/starter_web/pages/public/previewer/000_includes/tables/mdi_icons/200_rotate.asciidoc +1 -1
  75. data/lib/starter_web/pages/public/previewer/mdi_icons_preview.adoc +2 -3
  76. data/lib/starter_web/pages/public/previewer/twitter_emoji_preview.adoc +3 -3
  77. data/lib/starter_web/pages/public/site_search.adoc +196 -0
  78. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  79. data/lib/starter_web/utilsrv/package.json +1 -1
  80. metadata +27 -6
@@ -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
+
@@ -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: true
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: true
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
- cookie_consent = j1.existsCookie(user_state_name) ?
112
- j1.readCookie(user_state_name) :
113
- j1.writeCookie({
114
- name: user_state_name,
115
- data: cookie_consent,
116
- expires: 365
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
- cookie_consent = j1.readCookie(user_state_name);
134
- cookie_consent.deleteOnDecline = moduleOptions.delete_cookies_on_decline;
135
- cookie_consent.showConsentOnPending = moduleOptions.show_consent_on_pending;
136
- cookie_consent.whitelistedPages = moduleOptions.whitelisted_pages;
137
- cookie_consent.stopScrolling = moduleOptions.stop_scrolling;
138
-
139
- // Update cookie consent
140
-
141
- // j1.writeCookie({
142
- // name: user_state_name,
143
- // data: cookie_consent,
144
- // expires: cookie_consent.live_span
145
- // });
146
-
147
- j1.writeCookie({
148
- name: user_state_name,
149
- data: cookie_consent,
150
- expires: 365
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 %}