j1-template 2024.2.0 → 2024.2.1
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/gemini-ui.html +2 -2
- data/assets/themes/j1/adapter/js/advertising.js +2 -10
- data/assets/themes/j1/adapter/js/analytics.js +1 -5
- data/assets/themes/j1/adapter/js/bmd.js +195 -195
- data/assets/themes/j1/adapter/js/carousel.js +786 -786
- data/assets/themes/j1/adapter/js/clipboard.js +1 -0
- data/assets/themes/j1/adapter/js/comments.js +1 -0
- data/assets/themes/j1/adapter/js/cookieConsent.js +460 -466
- data/assets/themes/j1/adapter/js/customModule.js +5 -4
- data/assets/themes/j1/adapter/js/docsearch.js +1 -0
- data/assets/themes/j1/adapter/js/dropdowns.js +1 -0
- data/assets/themes/j1/adapter/js/fab.js +1 -0
- data/assets/themes/j1/adapter/js/gallery.js +495 -494
- data/assets/themes/j1/adapter/js/gemini.js +154 -128
- data/assets/themes/j1/adapter/js/iconPicker.js +257 -255
- data/assets/themes/j1/adapter/js/iconPickerPage.js +279 -279
- data/assets/themes/j1/adapter/js/iframer.js +3 -2
- data/assets/themes/j1/adapter/js/j1.js +3285 -3285
- data/assets/themes/j1/adapter/js/lazyLoader.js +241 -241
- data/assets/themes/j1/adapter/js/lightbox.js +242 -241
- data/assets/themes/j1/adapter/js/logger.js +1 -0
- data/assets/themes/j1/adapter/js/lunr.js +6 -10
- data/assets/themes/j1/adapter/js/masonry.js +427 -426
- data/assets/themes/j1/adapter/js/masterslider.js +526 -526
- data/assets/themes/j1/adapter/js/mmenu.js +1 -0
- data/assets/themes/j1/adapter/js/navigator.js +2 -2
- data/assets/themes/j1/adapter/js/particles.js +1 -0
- data/assets/themes/j1/adapter/js/rangeSlider.js +1 -0
- data/assets/themes/j1/adapter/js/rouge.js +288 -287
- data/assets/themes/j1/adapter/js/rtable.js +309 -309
- data/assets/themes/j1/adapter/js/slick.js +487 -487
- data/assets/themes/j1/adapter/js/slimSelect.js +3 -5
- data/assets/themes/j1/adapter/js/themeToggler.js +281 -280
- data/assets/themes/j1/adapter/js/themes.js +0 -1
- data/assets/themes/j1/adapter/js/toccer.js +1 -0
- data/assets/themes/j1/adapter/js/translator.js +1 -0
- data/assets/themes/j1/adapter/js/waves.js +1 -0
- data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.js +23 -17
- data/assets/themes/j1/modules/js-cookies/js/js.cookie.js +147 -0
- data/assets/themes/j1/modules/js-cookies/js/js.cookie.min.js +2 -0
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/README.md +5 -5
- data/lib/starter_web/_config.yml +1 -1
- data/lib/starter_web/_data/modules/defaults/themes.yml +171 -171
- data/lib/starter_web/_data/resources.yml +26 -0
- data/lib/starter_web/_data/templates/feed.xml +1 -1
- data/lib/starter_web/_plugins/index/lunr.rb +1 -1
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/present_images.adoc +500 -500
- metadata +4 -2
@@ -1,426 +1,427 @@
|
|
1
|
-
---
|
2
|
-
regenerate: true
|
3
|
-
---
|
4
|
-
|
5
|
-
{% capture cache %}
|
6
|
-
|
7
|
-
{% comment %}
|
8
|
-
# -----------------------------------------------------------------------------
|
9
|
-
# ~/assets/themes/j1/adapter/js/masonry.js
|
10
|
-
# Liquid template to adapt the Masonry module
|
11
|
-
#
|
12
|
-
# Product/Info:
|
13
|
-
# https://jekyll.one
|
14
|
-
# Copyright (C) 2023, 2024 Juergen Adams
|
15
|
-
#
|
16
|
-
# J1 Template is licensed under the MIT License.
|
17
|
-
# For details, see: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
|
18
|
-
# -----------------------------------------------------------------------------
|
19
|
-
# Test data:
|
20
|
-
# {{ liquid_var | debug }}
|
21
|
-
# masonry_options: {{ masonry_options | 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 asset_path = "/assets/themes/j1" %}
|
32
|
-
|
33
|
-
{% comment %} Process YML config data
|
34
|
-
================================================================================ {% endcomment %}
|
35
|
-
|
36
|
-
{% comment %} Set config files
|
37
|
-
-------------------------------------------------------------------------------- {% endcomment %}
|
38
|
-
{% assign template_config = site.data.j1_config %}
|
39
|
-
{% assign blocks = site.data.blocks %}
|
40
|
-
{% assign modules = site.data.modules %}
|
41
|
-
|
42
|
-
{% comment %} Set config data (settings only)
|
43
|
-
-------------------------------------------------------------------------------- {% endcomment %}
|
44
|
-
{% assign masonry_defaults = modules.defaults.masonry.defaults %}
|
45
|
-
{% assign masonry_settings = modules.masonry.settings %}
|
46
|
-
|
47
|
-
{% comment %} Set config options (settings only)
|
48
|
-
-------------------------------------------------------------------------------- {% endcomment %}
|
49
|
-
{% assign masonry_options = masonry_defaults | merge: masonry_settings %}
|
50
|
-
|
51
|
-
{% comment %} Variables
|
52
|
-
-------------------------------------------------------------------------------- {% endcomment %}
|
53
|
-
|
54
|
-
{% comment %} Detect prod mode
|
55
|
-
-------------------------------------------------------------------------------- {% endcomment %}
|
56
|
-
{% assign production = false %}
|
57
|
-
{% if environment == 'prod' or environment == 'production' %}
|
58
|
-
{% assign production = true %}
|
59
|
-
{% endif %}
|
60
|
-
|
61
|
-
/*
|
62
|
-
# -----------------------------------------------------------------------------
|
63
|
-
# ~/assets/themes/j1/adapter/js/masonry.js
|
64
|
-
# J1 Adapter for the comments module
|
65
|
-
#
|
66
|
-
# Product/Info:
|
67
|
-
# https://jekyll.one
|
68
|
-
#
|
69
|
-
# Copyright (C) 2023, 2024 Juergen Adams
|
70
|
-
#
|
71
|
-
# J1 Template is licensed under the MIT License.
|
72
|
-
# For details, see: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
|
73
|
-
# -----------------------------------------------------------------------------
|
74
|
-
# Adapter generated: {{site.time}}
|
75
|
-
# -----------------------------------------------------------------------------
|
76
|
-
*/
|
77
|
-
|
78
|
-
// -----------------------------------------------------------------------------
|
79
|
-
// ESLint shimming
|
80
|
-
// -----------------------------------------------------------------------------
|
81
|
-
/* eslint indent: "off" */
|
82
|
-
// -----------------------------------------------------------------------------
|
83
|
-
'use strict';
|
84
|
-
j1.adapter.masonry = ((j1, window) => {
|
85
|
-
|
86
|
-
{% comment %} Set global variables
|
87
|
-
------------------------------------------------------------------------------ {% endcomment %}
|
88
|
-
var environment = '{{environment}}';
|
89
|
-
var cookie_names = j1.getCookieNames();
|
90
|
-
var user_state = j1.readCookie(cookie_names.user_state);
|
91
|
-
var viewport_width = $(window).width();
|
92
|
-
var state = 'not_started';
|
93
|
-
|
94
|
-
var
|
95
|
-
var
|
96
|
-
|
97
|
-
|
98
|
-
var
|
99
|
-
var
|
100
|
-
|
101
|
-
|
102
|
-
var
|
103
|
-
var
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
var
|
108
|
-
var
|
109
|
-
var
|
110
|
-
var
|
111
|
-
|
112
|
-
|
113
|
-
//
|
114
|
-
//
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
//
|
119
|
-
//
|
120
|
-
|
121
|
-
|
122
|
-
var
|
123
|
-
var
|
124
|
-
|
125
|
-
|
126
|
-
//
|
127
|
-
//
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
//
|
135
|
-
//
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
//
|
151
|
-
//
|
152
|
-
|
153
|
-
|
154
|
-
var
|
155
|
-
var
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
logger.
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
{%
|
172
|
-
{% assign
|
173
|
-
{% assign
|
174
|
-
{% assign
|
175
|
-
{% assign
|
176
|
-
{% assign
|
177
|
-
{% assign
|
178
|
-
{% assign
|
179
|
-
{% assign
|
180
|
-
{% assign
|
181
|
-
{% assign
|
182
|
-
{% assign
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
{% if grid.options.
|
188
|
-
{% if grid.options.
|
189
|
-
{% if grid.options.
|
190
|
-
{% if grid.options.
|
191
|
-
{% if grid.options.
|
192
|
-
{% if grid.options.
|
193
|
-
{% if grid.options.
|
194
|
-
{% if grid.options.
|
195
|
-
{% if grid.options.
|
196
|
-
{% if grid.options.
|
197
|
-
{% if grid.options.
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
var
|
250
|
-
|
251
|
-
"
|
252
|
-
|
253
|
-
{
|
254
|
-
{
|
255
|
-
{%
|
256
|
-
{% if grid.videojs.
|
257
|
-
|
258
|
-
//
|
259
|
-
|
260
|
-
|
261
|
-
{
|
262
|
-
{%
|
263
|
-
{%
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
//
|
268
|
-
|
269
|
-
|
270
|
-
{
|
271
|
-
{%
|
272
|
-
{%
|
273
|
-
|
274
|
-
|
275
|
-
//
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
{
|
280
|
-
{%
|
281
|
-
{%
|
282
|
-
|
283
|
-
|
284
|
-
{%
|
285
|
-
|
286
|
-
//
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
{%
|
292
|
-
playbackRates
|
293
|
-
{
|
294
|
-
{%
|
295
|
-
{
|
296
|
-
{
|
297
|
-
|
298
|
-
"
|
299
|
-
|
300
|
-
{
|
301
|
-
{%
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
logger.
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
//
|
340
|
-
//
|
341
|
-
//
|
342
|
-
//
|
343
|
-
//
|
344
|
-
|
345
|
-
|
346
|
-
var
|
347
|
-
var
|
348
|
-
var
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
//
|
374
|
-
//
|
375
|
-
//
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
//
|
384
|
-
//
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
//
|
389
|
-
//
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
//
|
396
|
-
//
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
//
|
403
|
-
//
|
404
|
-
//
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
//
|
411
|
-
//
|
412
|
-
//
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
}
|
419
|
-
|
420
|
-
|
421
|
-
{%
|
422
|
-
|
423
|
-
{
|
424
|
-
|
425
|
-
{
|
426
|
-
{%
|
1
|
+
---
|
2
|
+
regenerate: true
|
3
|
+
---
|
4
|
+
|
5
|
+
{% capture cache %}
|
6
|
+
|
7
|
+
{% comment %}
|
8
|
+
# -----------------------------------------------------------------------------
|
9
|
+
# ~/assets/themes/j1/adapter/js/masonry.js
|
10
|
+
# Liquid template to adapt the Masonry module
|
11
|
+
#
|
12
|
+
# Product/Info:
|
13
|
+
# https://jekyll.one
|
14
|
+
# Copyright (C) 2023, 2024 Juergen Adams
|
15
|
+
#
|
16
|
+
# J1 Template is licensed under the MIT License.
|
17
|
+
# For details, see: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
|
18
|
+
# -----------------------------------------------------------------------------
|
19
|
+
# Test data:
|
20
|
+
# {{ liquid_var | debug }}
|
21
|
+
# masonry_options: {{ masonry_options | 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 asset_path = "/assets/themes/j1" %}
|
32
|
+
|
33
|
+
{% comment %} Process YML config data
|
34
|
+
================================================================================ {% endcomment %}
|
35
|
+
|
36
|
+
{% comment %} Set config files
|
37
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
38
|
+
{% assign template_config = site.data.j1_config %}
|
39
|
+
{% assign blocks = site.data.blocks %}
|
40
|
+
{% assign modules = site.data.modules %}
|
41
|
+
|
42
|
+
{% comment %} Set config data (settings only)
|
43
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
44
|
+
{% assign masonry_defaults = modules.defaults.masonry.defaults %}
|
45
|
+
{% assign masonry_settings = modules.masonry.settings %}
|
46
|
+
|
47
|
+
{% comment %} Set config options (settings only)
|
48
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
49
|
+
{% assign masonry_options = masonry_defaults | merge: masonry_settings %}
|
50
|
+
|
51
|
+
{% comment %} Variables
|
52
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
53
|
+
|
54
|
+
{% comment %} Detect prod mode
|
55
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
56
|
+
{% assign production = false %}
|
57
|
+
{% if environment == 'prod' or environment == 'production' %}
|
58
|
+
{% assign production = true %}
|
59
|
+
{% endif %}
|
60
|
+
|
61
|
+
/*
|
62
|
+
# -----------------------------------------------------------------------------
|
63
|
+
# ~/assets/themes/j1/adapter/js/masonry.js
|
64
|
+
# J1 Adapter for the comments module
|
65
|
+
#
|
66
|
+
# Product/Info:
|
67
|
+
# https://jekyll.one
|
68
|
+
#
|
69
|
+
# Copyright (C) 2023, 2024 Juergen Adams
|
70
|
+
#
|
71
|
+
# J1 Template is licensed under the MIT License.
|
72
|
+
# For details, see: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
|
73
|
+
# -----------------------------------------------------------------------------
|
74
|
+
# Adapter generated: {{site.time}}
|
75
|
+
# -----------------------------------------------------------------------------
|
76
|
+
*/
|
77
|
+
|
78
|
+
// -----------------------------------------------------------------------------
|
79
|
+
// ESLint shimming
|
80
|
+
// -----------------------------------------------------------------------------
|
81
|
+
/* eslint indent: "off" */
|
82
|
+
// -----------------------------------------------------------------------------
|
83
|
+
'use strict';
|
84
|
+
j1.adapter.masonry = ((j1, window) => {
|
85
|
+
|
86
|
+
{% comment %} Set global variables
|
87
|
+
------------------------------------------------------------------------------ {% endcomment %}
|
88
|
+
var environment = '{{environment}}';
|
89
|
+
var cookie_names = j1.getCookieNames();
|
90
|
+
var user_state = j1.readCookie(cookie_names.user_state);
|
91
|
+
var viewport_width = $(window).width();
|
92
|
+
var state = 'not_started';
|
93
|
+
|
94
|
+
var masonryDefaults;
|
95
|
+
var masonrySettings;
|
96
|
+
var masonryOptions;
|
97
|
+
|
98
|
+
var themes_allowed;
|
99
|
+
var theme_enabled;
|
100
|
+
var theme;
|
101
|
+
|
102
|
+
var _this;
|
103
|
+
var logger;
|
104
|
+
var logText;
|
105
|
+
|
106
|
+
// date|time
|
107
|
+
var startTime;
|
108
|
+
var endTime;
|
109
|
+
var startTimeModule;
|
110
|
+
var endTimeModule;
|
111
|
+
var timeSeconds;
|
112
|
+
|
113
|
+
// ---------------------------------------------------------------------------
|
114
|
+
// main
|
115
|
+
// ---------------------------------------------------------------------------
|
116
|
+
return {
|
117
|
+
|
118
|
+
// -------------------------------------------------------------------------
|
119
|
+
// adapter initializer
|
120
|
+
// -------------------------------------------------------------------------
|
121
|
+
init: (options) => {
|
122
|
+
var xhrLoadState = 'pending'; // (initial) load state for the HTML portion of the slider
|
123
|
+
var load_dependencies = {};
|
124
|
+
var dependency;
|
125
|
+
|
126
|
+
// -----------------------------------------------------------------------
|
127
|
+
// default module settings
|
128
|
+
// -----------------------------------------------------------------------
|
129
|
+
var settings = $.extend({
|
130
|
+
module_name: 'j1.adapter.masonry',
|
131
|
+
generated: '{{site.time}}'
|
132
|
+
}, options);
|
133
|
+
|
134
|
+
// -----------------------------------------------------------------------
|
135
|
+
// global variable settings
|
136
|
+
// -----------------------------------------------------------------------
|
137
|
+
_this = j1.adapter.masonry;
|
138
|
+
theme = user_state.theme_name;
|
139
|
+
logger = log4javascript.getLogger('j1.adapter.masonry');
|
140
|
+
|
141
|
+
// Load module DEFAULTS|CONFIG
|
142
|
+
masonryDefaults = $.extend({}, {{masonry_defaults | replace: 'nil', 'null' | replace: '=>', ':' }});
|
143
|
+
masonrySettings = $.extend({}, {{masonry_settings | replace: 'nil', 'null' | replace: '=>', ':' }});
|
144
|
+
masonryOptions = $.extend(true, {}, masonryDefaults, masonrySettings);
|
145
|
+
|
146
|
+
// load HTML portion for all grids
|
147
|
+
console.debug('loading HTML portion for all Masonry grids configured');
|
148
|
+
_this.loadGridHTML(masonryOptions, masonryOptions.grids);
|
149
|
+
|
150
|
+
// -----------------------------------------------------------------------
|
151
|
+
// module initializer
|
152
|
+
// -----------------------------------------------------------------------
|
153
|
+
var dependencies_met_page_ready = setInterval (() => {
|
154
|
+
var pageState = $('#content').css("display");
|
155
|
+
var pageVisible = (pageState === 'block') ? true: false;
|
156
|
+
var j1CoreFinished = (j1.getState() === 'finished') ? true : false;
|
157
|
+
|
158
|
+
if (j1CoreFinished && pageVisible) {
|
159
|
+
startTimeModule = Date.now();
|
160
|
+
|
161
|
+
_this.setState('started');
|
162
|
+
logger.debug('\n' + 'state: ' + _this.getState());
|
163
|
+
logger.info('\n' + 'module is being initialized');
|
164
|
+
|
165
|
+
{% for grid in masonry_settings.grids %}
|
166
|
+
{% if grid.enabled %}
|
167
|
+
{% assign grid_id = grid.id %}
|
168
|
+
logger.debug('\n' + 'found masonry grid on id: ' + '{{grid_id}}');
|
169
|
+
|
170
|
+
{% comment %} load default grid options
|
171
|
+
------------------------------------------------------------------ {% endcomment %}
|
172
|
+
{% assign percent_position = masonry_defaults.percentPosition %}
|
173
|
+
{% assign horizontal_order = masonry_defaults.horizontalOrder %}
|
174
|
+
{% assign origin_left = masonry_defaults.originLeft %}
|
175
|
+
{% assign origin_top = masonry_defaults.originTop %}
|
176
|
+
{% assign init_layout = masonry_defaults.initLayout %}
|
177
|
+
{% assign transition_duration = masonry_defaults.transitionDuration %}
|
178
|
+
{% assign stagger_duration = masonry_defaults.stagger %}
|
179
|
+
{% assign gutter_size = masonry_defaults.gutter %}
|
180
|
+
{% assign resize = masonry_defaults.resize %}
|
181
|
+
{% assign itemSelector = masonry_defaults.itemSelector %}
|
182
|
+
{% assign containerStyle = masonry_defaults.containerStyle %}
|
183
|
+
{% assign columnWidth = masonry_defaults.columnWidth %}
|
184
|
+
|
185
|
+
{% comment %} overload defaults by grid element options
|
186
|
+
------------------------------------------------------------------ {% endcomment %}
|
187
|
+
{% if grid.options.percentPosition %} {% assign percent_position = grid.options.percentPosition %} {% endif %}
|
188
|
+
{% if grid.options.horizontalOrder %} {% assign horizontal_order = grid.options.horizontalOrder %} {% endif %}
|
189
|
+
{% if grid.options.originLeft %} {% assign origin_left = grid.options.originLeft %} {% endif %}
|
190
|
+
{% if grid.options.originTop %} {% assign origin_top = grid.options.originTop %} {% endif %}
|
191
|
+
{% if grid.options.initLayout %} {% assign init_layout = grid.options.initLayout %} {% endif %}
|
192
|
+
{% if grid.options.transitionDuration %} {% assign transition_duration = grid.options.transitionDuration %} {% endif %}
|
193
|
+
{% if grid.options.stagger %} {% assign stagger_duration = grid.options.stagger %} {% endif %}
|
194
|
+
{% if grid.options.gutter %} {% assign gutter_size = grid.options.gutter %} {% endif %}
|
195
|
+
{% if grid.options.resize %} {% assign resize = grid.options.resize %} {% endif %}
|
196
|
+
{% if grid.options.itemSelector %} {% assign itemSelector = grid.options.itemSelector %} {% endif %}
|
197
|
+
{% if grid.options.containerStyle %} {% assign containerStyle = grid.options.containerStyle %} {% endif %}
|
198
|
+
{% if grid.options.columnWidth %} {% assign columnWidth = grid.options.columnWidth %} {% endif %}
|
199
|
+
|
200
|
+
// create dynamic loader variable to setup the grid on id {{grid.id}}
|
201
|
+
dependency = 'dependencies_met_html_loaded_{{grid.id}}';
|
202
|
+
load_dependencies[dependency] = '';
|
203
|
+
|
204
|
+
// initialize the grid if HTML portion successfully loaded
|
205
|
+
load_dependencies['dependencies_met_html_loaded_{{grid.id}}'] = setInterval (() => {
|
206
|
+
// check if HTML portion of the grid is loaded successfully
|
207
|
+
xhrLoadState = j1.xhrDOMState['#{{grid.id}}_parent'];
|
208
|
+
if (xhrLoadState === 'success') {
|
209
|
+
setTimeout(() => {
|
210
|
+
var $grid_{{grid_id}} = $('#{{grid_id}}');
|
211
|
+
logger.debug('\n' + 'initialize grid on id: ' + '{{grid_id}}');
|
212
|
+
|
213
|
+
// grid event handler
|
214
|
+
logger.debug('\n' + 'install event handlers for grid on id: ' + '{{grid_id}}');
|
215
|
+
$grid_{{grid_id}}.on('layoutComplete', () => {
|
216
|
+
// initializing (grid layout) completed
|
217
|
+
logger.debug('\n' + 'initializing layout completed for grid on id: ' + '{{grid_id}}');
|
218
|
+
|
219
|
+
// correct position for artice modals (previwes)
|
220
|
+
logger.debug('\n' + 'adjust positions of all modals on id: {{grid_id.id}}');
|
221
|
+
var preview_modals = $("#{{grid_id}} > .article-modal");
|
222
|
+
$.each($(preview_modals), (index, modal) => {
|
223
|
+
$(modal).attr('style', 'left: 0%');
|
224
|
+
}); // END $each
|
225
|
+
}); // ENF on layoutComplete
|
226
|
+
|
227
|
+
// setup grid
|
228
|
+
logger.debug('\n' + 'grid is being setup on id: ' + '{{grid.id}}');
|
229
|
+
var $grid_{{grid_id}} = $grid_{{grid_id}}.masonry({
|
230
|
+
percentPosition: {{percent_position}},
|
231
|
+
horizontalOrder: {{horizontal_order}},
|
232
|
+
originLeft: {{origin_left}},
|
233
|
+
originTop: {{origin_top}},
|
234
|
+
initLayout: {{init_layout}},
|
235
|
+
transitionDuration: "{{transition_duration}}s",
|
236
|
+
stagger: "{{stagger_duration}}s",
|
237
|
+
resize: {{resize}},
|
238
|
+
gutter: {{gutter_size}}
|
239
|
+
});
|
240
|
+
|
241
|
+
// run code after all images are loaded with the grid
|
242
|
+
$grid_{{grid_id}}.imagesLoaded(() => {
|
243
|
+
console.debug("masonry: images loaded on {{grid_id}}");
|
244
|
+
|
245
|
+
{% if grid.lightbox.type == 'lg' %}
|
246
|
+
console.log("masonry: gallery detected on id: {{grid_id}}");
|
247
|
+
|
248
|
+
// setup lightbox
|
249
|
+
var lg = document.getElementById("{{grid_id}}");
|
250
|
+
var gallery = lightGallery(lg, {
|
251
|
+
"plugins": [{{grid.lightGallery.plugins}}],
|
252
|
+
"selector": '.lg-item',
|
253
|
+
{% for option in grid.lightGallery.options %}
|
254
|
+
{{option[0] | json}}: {{option[1] | json}},
|
255
|
+
{% endfor %}
|
256
|
+
{% if grid.videojs.enabled %}
|
257
|
+
{% if grid.videojs.player.vimeoPlayer.enabled %}
|
258
|
+
// vimeo player options
|
259
|
+
//
|
260
|
+
vimeoPlayerParams: {
|
261
|
+
{% for option in grid.videojs.player.vimeoPlayer.options %}
|
262
|
+
{{option[0] | json}}: {{option[1] | json}}{% if forloop.last %}{% else %},{% endif %}
|
263
|
+
{% endfor %}
|
264
|
+
{% endif %}
|
265
|
+
},
|
266
|
+
{% if grid.videojs.player.wistiaPlayer.enabled %}
|
267
|
+
// wistia player options
|
268
|
+
//
|
269
|
+
wistiaPlayerParams: {
|
270
|
+
{% for option in grid.videojs.player.wistiaPlayer.options %}
|
271
|
+
{{option[0] | json}}: {{option[1] | json}}{% if forloop.last %}{% else %},{% endif %}
|
272
|
+
{% endfor %}
|
273
|
+
{% endif %}
|
274
|
+
},
|
275
|
+
// youtube player options
|
276
|
+
//
|
277
|
+
{% if grid.videojs.player.youTubePlayer.enabled %}
|
278
|
+
youTubePlayerParams: {
|
279
|
+
{% for option in grid.videojs.player.youTubePlayer.options %}
|
280
|
+
{{option[0] | json}}: {{option[1] | json}}{% if forloop.last %}{% else %},{% endif %}
|
281
|
+
{% endfor %}
|
282
|
+
{% endif %}
|
283
|
+
},
|
284
|
+
{% endif %}
|
285
|
+
{% if grid.videojs.enabled %}
|
286
|
+
// videojs player options
|
287
|
+
//
|
288
|
+
videojs: {{grid.videojs.enabled}},
|
289
|
+
videojsTheme: "vjs-theme-{{grid.videojs.theme}}",
|
290
|
+
videojsOptions: {
|
291
|
+
{% for option in grid.lightGallery.player.videojsPlayer.options %}
|
292
|
+
{% if option == 'playbackRates' %}
|
293
|
+
playbackRates: [{{option[1]}}],
|
294
|
+
{% continue %}
|
295
|
+
{% endif %}
|
296
|
+
{{option[0] | json}}: {{option[1] | json}},
|
297
|
+
{% endfor %}
|
298
|
+
"controls": {{grid.videojs.player.videojsPlayer.controls}},
|
299
|
+
"controlBar": {
|
300
|
+
{% for option in grid.videojs.player.videojsPlayer.controlBar %}
|
301
|
+
{{option[0] | json}}: {{option[1] | json}}{% if forloop.last %}{% else %},{% endif %}
|
302
|
+
{% endfor %}
|
303
|
+
} // END controlBar
|
304
|
+
} // END videojsOptions
|
305
|
+
{% endif %}
|
306
|
+
}); // END lightGallery
|
307
|
+
{% endif %}
|
308
|
+
}); // END grid|imagesLoaded
|
309
|
+
|
310
|
+
}, masonryOptions.initTimeout);
|
311
|
+
}
|
312
|
+
clearInterval(load_dependencies['dependencies_met_html_loaded_{{grid.id}}']);
|
313
|
+
}, 10); // END dependencies_met_html_loaded
|
314
|
+
|
315
|
+
{% else %}
|
316
|
+
|
317
|
+
logger.info('\n' + 'found grid disabled on id: {{grid.id}}');
|
318
|
+
{% if masonryOptions.hideDisabled %}
|
319
|
+
// hide a grid if disabled
|
320
|
+
logger.debug('\n' + 'hide grid disabled on id: {{grid.id}}');
|
321
|
+
$('#{{grid.id}}').hide();
|
322
|
+
{% endif %}
|
323
|
+
{% endif %} // ENDIF grid enabled
|
324
|
+
|
325
|
+
{% endfor %} // ENDFOR (all) grids
|
326
|
+
|
327
|
+
_this.setState('finished');
|
328
|
+
logger.debug('\n' + 'state: ' + _this.getState());
|
329
|
+
logger.info('\n' + 'initializing module: finished');
|
330
|
+
|
331
|
+
endTimeModule = Date.now();
|
332
|
+
logger.info('\n' + 'module initializing time: ' + (endTimeModule-startTimeModule) + 'ms');
|
333
|
+
|
334
|
+
clearInterval(dependencies_met_page_ready);
|
335
|
+
} // END if pageVisible
|
336
|
+
}, 10); // END dependencies_met_page_ready
|
337
|
+
}, // END init
|
338
|
+
|
339
|
+
// -------------------------------------------------------------------------
|
340
|
+
// loadGridHTML()
|
341
|
+
// loads the HTML portion via AJAX (j1.loadHTML) for all grids configured.
|
342
|
+
// NOTE: Make sure the placeholder DIV is available in the content
|
343
|
+
// page e.g. using the asciidoc extension masonry::
|
344
|
+
// -------------------------------------------------------------------------
|
345
|
+
loadGridHTML: (options, grid) => {
|
346
|
+
var numGrids = Object.keys(grid).length;
|
347
|
+
var active_grids = numGrids;
|
348
|
+
var xhr_data_path = options.xhr_data_path + '/index.html';
|
349
|
+
var xhr_container_id;
|
350
|
+
|
351
|
+
console.debug('number of grids found: ' + numGrids);
|
352
|
+
|
353
|
+
_this.setState('load_data');
|
354
|
+
Object.keys(grid).forEach((key) => {
|
355
|
+
if (grid[key].enabled) {
|
356
|
+
xhr_container_id = grid[key].id + '_parent';
|
357
|
+
|
358
|
+
console.debug('load HTML portion on grid id: ' + grid[key].id);
|
359
|
+
j1.loadHTML({
|
360
|
+
xhr_container_id: xhr_container_id,
|
361
|
+
xhr_data_path: xhr_data_path,
|
362
|
+
xhr_data_element: grid[key].id
|
363
|
+
});
|
364
|
+
} else {
|
365
|
+
console.debug('grid found disabled on id: ' + grid[key].id);
|
366
|
+
active_grids--;
|
367
|
+
}
|
368
|
+
});
|
369
|
+
console.debug('grids loaded in page enabled|all: ' + active_grids + '|' + numGrids);
|
370
|
+
_this.setState('data_loaded');
|
371
|
+
}, // END loadSliderHTML
|
372
|
+
|
373
|
+
// -------------------------------------------------------------------------
|
374
|
+
// messageHandler()
|
375
|
+
// manage messages send from other J1 modules
|
376
|
+
// -------------------------------------------------------------------------
|
377
|
+
messageHandler: (sender, message) => {
|
378
|
+
var json_message = JSON.stringify(message, undefined, 2);
|
379
|
+
|
380
|
+
logText = '\n' + 'received message from ' + sender + ': ' + json_message;
|
381
|
+
logger.debug(logText);
|
382
|
+
|
383
|
+
// -----------------------------------------------------------------------
|
384
|
+
// process commands|actions
|
385
|
+
// -----------------------------------------------------------------------
|
386
|
+
if (message.type === 'command' && message.action === 'module_initialized') {
|
387
|
+
|
388
|
+
//
|
389
|
+
// place handling of command|action here
|
390
|
+
//
|
391
|
+
|
392
|
+
logger.info('\n' + message.text);
|
393
|
+
}
|
394
|
+
|
395
|
+
//
|
396
|
+
// place handling of other command|action here
|
397
|
+
//
|
398
|
+
|
399
|
+
return true;
|
400
|
+
}, // END messageHandler
|
401
|
+
|
402
|
+
// -------------------------------------------------------------------------
|
403
|
+
// setState()
|
404
|
+
// sets the current (processing) state of the module
|
405
|
+
// -------------------------------------------------------------------------
|
406
|
+
setState: (stat) => {
|
407
|
+
_this.state = stat;
|
408
|
+
}, // END setState
|
409
|
+
|
410
|
+
// -------------------------------------------------------------------------
|
411
|
+
// getState()
|
412
|
+
// Returns the current (processing) state of the module
|
413
|
+
// -------------------------------------------------------------------------
|
414
|
+
getState: () => {
|
415
|
+
return _this.state;
|
416
|
+
} // END getState
|
417
|
+
|
418
|
+
}; // END main (return)
|
419
|
+
})(j1, window);
|
420
|
+
|
421
|
+
{% endcapture %}
|
422
|
+
{% if production %}
|
423
|
+
{{ cache | minifyJS }}
|
424
|
+
{% else %}
|
425
|
+
{{ cache | strip_empty_lines }}
|
426
|
+
{% endif %}
|
427
|
+
{% assign cache = nil %}
|