j1-template 2021.1.4 → 2021.1.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (156) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/layout_metadata_generator.html +4 -4
  3. data/_includes/themes/j1/modules/connectors/ad/google-adsense.html +7 -15
  4. data/_includes/themes/j1/modules/connectors/ads +18 -7
  5. data/_includes/themes/j1/modules/connectors/analytic/google-analytics.html +7 -3
  6. data/_includes/themes/j1/modules/connectors/analytics +17 -3
  7. data/_includes/themes/j1/modules/connectors/comments +22 -8
  8. data/_includes/themes/j1/modules/connectors/translator +20 -6
  9. data/_includes/themes/j1/modules/navigator/generator.html +2 -2
  10. data/_includes/themes/j1/procedures/global/select_location.proc +3 -3
  11. data/_layouts/default.html +4 -7
  12. data/assets/data/cookieconsent.html +249 -0
  13. data/assets/data/quicklinks.html +18 -16
  14. data/assets/data/themes.json +6 -6
  15. data/assets/error_pages/HTTP204.html +30 -10
  16. data/assets/error_pages/HTTP400.html +29 -8
  17. data/assets/error_pages/HTTP401.html +29 -9
  18. data/assets/error_pages/HTTP403.html +29 -8
  19. data/assets/error_pages/HTTP404.html +29 -8
  20. data/assets/error_pages/HTTP500.html +29 -8
  21. data/assets/error_pages/HTTP501.html +29 -8
  22. data/assets/error_pages/HTTP502.html +29 -8
  23. data/assets/error_pages/HTTP503.html +30 -8
  24. data/assets/themes/j1/adapter/js/cookieConsent.js +290 -0
  25. data/assets/themes/j1/adapter/js/fam.js +2 -1
  26. data/assets/themes/j1/adapter/js/j1.js +154 -153
  27. data/assets/themes/j1/adapter/js/navigator.js +157 -200
  28. data/assets/themes/j1/adapter/js/themer.1.js +326 -0
  29. data/assets/themes/j1/adapter/js/themer.js +41 -57
  30. data/assets/themes/j1/adapter/js/toccer.js +4 -45
  31. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +2 -2
  32. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +1 -1
  33. data/assets/themes/j1/core/js/template.js +3 -9
  34. data/assets/themes/j1/core/js/template.js.map +1 -1
  35. data/assets/themes/j1/core/js/template.min.js +3 -9
  36. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  37. data/assets/themes/j1/modules/cookieConsent/LICENSE +21 -0
  38. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.js +301 -0
  39. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.min.js +301 -0
  40. data/assets/themes/j1/modules/fam/css/{uno → theme/uno}/fam.css +0 -0
  41. data/assets/themes/j1/modules/fam/css/theme/uno/fam.min.css +15 -0
  42. data/assets/themes/j1/modules/fam/js/fam.js +1 -6
  43. data/assets/themes/j1/modules/iframeResizer/examples/frame.absolute.html +4 -2
  44. data/assets/themes/j1/modules/iframeResizer/examples/frame.content.html +4 -3
  45. data/assets/themes/j1/modules/iframeResizer/examples/frame.hover.html +4 -2
  46. data/assets/themes/j1/modules/iframeResizer/examples/frame.nested.html +4 -2
  47. data/assets/themes/j1/modules/iframeResizer/examples/frame.textarea.html +4 -2
  48. data/assets/themes/j1/modules/iframeResizer/examples/frame.tolerance.html +4 -2
  49. data/assets/themes/j1/modules/iframeResizer/examples/index.html +2 -0
  50. data/assets/themes/j1/modules/iframeResizer/examples/two.html +4 -2
  51. data/assets/themes/j1/modules/mmenuLight/css/{mmenu.css → mmenu-light.css} +0 -0
  52. data/assets/themes/j1/modules/mmenuLight/css/{mmenu.min.css → mmenu-light.min.css} +0 -0
  53. data/assets/themes/j1/modules/mmenuLight/css/theme/{uno.css → uno/mmenu.css} +0 -0
  54. data/assets/themes/j1/modules/mmenuLight/css/theme/{uno.min.css → uno/mmenu.min.css} +0 -0
  55. data/assets/themes/j1/modules/rtable/css/theme/{uno.css → uno/rtable.css} +0 -0
  56. data/assets/themes/j1/modules/rtable/css/theme/{uno.min.css → uno/rtable.min.css} +0 -0
  57. data/assets/themes/j1/modules/themeSwitcher/js/switcher.js +34 -49
  58. data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +410 -2
  59. data/assets/themes/j1/modules/util/js/domready.js +146 -0
  60. data/assets/themes/j1/modules/util/js/gtag-opt-in.js +1 -0
  61. data/lib/j1/version.rb +3 -3
  62. data/lib/j1_app/j1_auth_manager/auth_manager.rb +2 -3
  63. data/lib/starter_web/Gemfile +1 -1
  64. data/lib/starter_web/_config.yml +19 -10
  65. data/lib/starter_web/_data/_defaults/resources.yml +11 -8
  66. data/lib/starter_web/_data/j1_config.yml +21 -18
  67. data/lib/starter_web/_data/modules/{cookiebar.yml → cookieconsent.yml} +5 -4
  68. data/lib/starter_web/_data/modules/defaults/cookieconsent.yml +136 -0
  69. data/lib/starter_web/_data/modules/defaults/themer.yml +2 -1
  70. data/lib/starter_web/_data/pages/builder.yml +7 -7
  71. data/lib/starter_web/_data/private.default.yml +119 -0
  72. data/lib/starter_web/_data/private.yml +6 -6
  73. data/lib/starter_web/_data/resources.yml +15 -14
  74. data/lib/starter_web/_includes/attributes.asciidoc +10 -1
  75. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  76. data/lib/starter_web/assets/images/modules/attics/{cookies-1920x1200-bw.jpg → cookies-1920x1200.jpg} +0 -0
  77. data/lib/starter_web/assets/images/modules/attics/lianhao-1920x1280.jpg +0 -0
  78. data/lib/starter_web/collections/posts/public/featured/_posts/2020-01-01-about-cookies.adoc +2 -2
  79. data/lib/starter_web/dot.gitignore +1 -1
  80. data/lib/starter_web/index.html +3 -3
  81. data/lib/starter_web/package.json +2 -2
  82. data/lib/starter_web/pages/public/blog/navigator/archive.html +5 -3
  83. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +3 -2
  84. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +6 -4
  85. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +23 -5
  86. data/lib/starter_web/pages/public/cookieConsent.adoc +93 -0
  87. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +2 -1
  88. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +111 -213
  89. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  90. data/lib/starter_web/utilsrv/package.json +1 -1
  91. metadata +24 -76
  92. data/_includes/themes/j1/modules/navigator/generator.org.html +0 -232
  93. data/assets/data/cookiebar.html +0 -288
  94. data/assets/data/footer.new.1.html +0 -256
  95. data/assets/data/footer.new.2.html +0 -256
  96. data/assets/data/footer.org.html +0 -249
  97. data/assets/error_pages/HTTP520.html +0 -68
  98. data/assets/error_pages/HTTP521.html +0 -68
  99. data/assets/error_pages/HTTP533.html +0 -68
  100. data/assets/themes/j1/adapter/js/cookiebar.js +0 -212
  101. data/assets/themes/j1/adapter/js/j1.new.js +0 -1878
  102. data/assets/themes/j1/adapter/js/j1.org.js +0 -1874
  103. data/assets/themes/j1/modules/_lightGallery/css/core/lg-fb-comment-box.css +0 -58
  104. data/assets/themes/j1/modules/_lightGallery/css/core/lg-fb-comment-box.min.css +0 -5
  105. data/assets/themes/j1/modules/_lightGallery/css/core/lg-transitions.css +0 -778
  106. data/assets/themes/j1/modules/_lightGallery/css/core/lg-transitions.min.css +0 -5
  107. data/assets/themes/j1/modules/_lightGallery/css/core/lightgallery.css +0 -981
  108. data/assets/themes/j1/modules/_lightGallery/css/core/lightgallery.min.css +0 -5
  109. data/assets/themes/j1/modules/_lightGallery/css/fonts/lg.eot +0 -0
  110. data/assets/themes/j1/modules/_lightGallery/css/fonts/lg.svg +0 -47
  111. data/assets/themes/j1/modules/_lightGallery/css/fonts/lg.ttf +0 -0
  112. data/assets/themes/j1/modules/_lightGallery/css/fonts/lg.woff +0 -0
  113. data/assets/themes/j1/modules/_lightGallery/css/img/loading.gif +0 -0
  114. data/assets/themes/j1/modules/_lightGallery/css/img/video-play.png +0 -0
  115. data/assets/themes/j1/modules/_lightGallery/css/img/vimeo-play.png +0 -0
  116. data/assets/themes/j1/modules/_lightGallery/css/img/youtube-play.png +0 -0
  117. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/animation-w.png +0 -0
  118. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/customize-w.png +0 -0
  119. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/dynamic-w.png +0 -0
  120. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/facebook-icon.svg +0 -10
  121. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/googleplus-icon.svg +0 -30
  122. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/html5-w.png +0 -0
  123. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/linked-in.png +0 -0
  124. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/module-w.png +0 -0
  125. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/play-button.png +0 -0
  126. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/responsive-w.png +0 -0
  127. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/thumb-w.png +0 -0
  128. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/touch-w.png +0 -0
  129. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/twitter-icon.svg +0 -15
  130. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/twitter.png +0 -0
  131. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/video1-w.png +0 -0
  132. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/zoom-w.png +0 -0
  133. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/zoom.png +0 -0
  134. data/assets/themes/j1/modules/_lightGallery/css/themes/uno.css +0 -262
  135. data/assets/themes/j1/modules/_lightGallery/css/themes/uno.min.css +0 -15
  136. data/assets/themes/j1/modules/_lightGallery/js/core/lightgallery.js +0 -1362
  137. data/assets/themes/j1/modules/_lightGallery/js/core/lightgallery.min.js +0 -4
  138. data/assets/themes/j1/modules/_lightGallery/js/modules/j1/j1-video.js +0 -402
  139. data/assets/themes/j1/modules/_lightGallery/js/modules/j1/j1-video.min.js +0 -8
  140. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-autoplay.js +0 -206
  141. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-autoplay.min.js +0 -5
  142. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-fullscreen.js +0 -126
  143. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-fullscreen.min.js +0 -5
  144. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-hash.js +0 -101
  145. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-hash.min.js +0 -5
  146. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-pager.js +0 -105
  147. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-pager.min.js +0 -5
  148. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-share.js +0 -107
  149. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-share.min.js +0 -5
  150. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-thumbnail.js +0 -478
  151. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-thumbnail.min.js +0 -5
  152. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-video.js +0 -342
  153. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-video.min.js +0 -5
  154. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-zoom.js +0 -527
  155. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-zoom.min.js +0 -5
  156. data/lib/starter_web/_data/modules/defaults/cookiebar.yml +0 -133
@@ -1,5 +0,0 @@
1
- /*! lg-share - v1.1.0 - 2017-10-03
2
- * http://sachinchoolur.github.io/lightGallery
3
- * Copyright (c) 2017 Sachin N; Licensed GPLv3 */
4
-
5
- !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(){"use strict";var b={share:!0,facebook:!0,facebookDropdownText:"Facebook",twitter:!0,twitterDropdownText:"Twitter",googlePlus:!0,googlePlusDropdownText:"GooglePlus",pinterest:!0,pinterestDropdownText:"Pinterest"},c=function(c){return this.core=a(c).data("lightGallery"),this.core.s=a.extend({},b,this.core.s),this.core.s.share&&this.init(),this};c.prototype.init=function(){var b=this,c='<span id="lg-share" class="lg-icon"><ul class="lg-dropdown" style="position: absolute;">';c+=b.core.s.facebook?'<li><a id="lg-share-facebook" target="_blank"><span class="lg-icon"></span><span class="lg-dropdown-text">'+this.core.s.facebookDropdownText+"</span></a></li>":"",c+=b.core.s.twitter?'<li><a id="lg-share-twitter" target="_blank"><span class="lg-icon"></span><span class="lg-dropdown-text">'+this.core.s.twitterDropdownText+"</span></a></li>":"",c+=b.core.s.googlePlus?'<li><a id="lg-share-googleplus" target="_blank"><span class="lg-icon"></span><span class="lg-dropdown-text">'+this.core.s.googlePlusDropdownText+"</span></a></li>":"",c+=b.core.s.pinterest?'<li><a id="lg-share-pinterest" target="_blank"><span class="lg-icon"></span><span class="lg-dropdown-text">'+this.core.s.pinterestDropdownText+"</span></a></li>":"",c+="</ul></span>",this.core.$outer.find(".lg-toolbar").append(c),this.core.$outer.find(".lg").append('<div id="lg-dropdown-overlay"></div>'),a("#lg-share").on("click.lg",function(){b.core.$outer.toggleClass("lg-dropdown-active")}),a("#lg-dropdown-overlay").on("click.lg",function(){b.core.$outer.removeClass("lg-dropdown-active")}),b.core.$el.on("onAfterSlide.lg.tm",function(c,d,e){setTimeout(function(){a("#lg-share-facebook").attr("href","https://www.facebook.com/sharer/sharer.php?u="+encodeURIComponent(b.getSahreProps(e,"facebookShareUrl")||window.location.href)),a("#lg-share-twitter").attr("href","https://twitter.com/intent/tweet?text="+b.getSahreProps(e,"tweetText")+"&url="+encodeURIComponent(b.getSahreProps(e,"twitterShareUrl")||window.location.href)),a("#lg-share-googleplus").attr("href","https://plus.google.com/share?url="+encodeURIComponent(b.getSahreProps(e,"googleplusShareUrl")||window.location.href)),a("#lg-share-pinterest").attr("href","http://www.pinterest.com/pin/create/button/?url="+encodeURIComponent(b.getSahreProps(e,"pinterestShareUrl")||window.location.href)+"&media="+encodeURIComponent(b.getSahreProps(e,"src"))+"&description="+b.getSahreProps(e,"pinterestText"))},100)})},c.prototype.getSahreProps=function(a,b){var c="";if(this.core.s.dynamic)c=this.core.s.dynamicEl[a][b];else{var d=this.core.$items.eq(a).attr("href"),e=this.core.$items.eq(a).data(b);c="src"===b?d||e:e}return c},c.prototype.destroy=function(){},a.fn.lightGallery.modules.share=c}()});
@@ -1,478 +0,0 @@
1
- /*! lg-thumbnail - v1.1.0 - 2017-08-08
2
- * http://sachinchoolur.github.io/lightGallery
3
- * Copyright (c) 2017 Sachin N; Licensed GPLv3 */
4
-
5
- (function (root, factory) {
6
- if (typeof define === 'function' && define.amd) {
7
- // AMD. Register as an anonymous module unless amdModuleId is set
8
- define(['jquery'], function (a0) {
9
- return (factory(a0));
10
- });
11
- } else if (typeof exports === 'object') {
12
- // Node. Does not work with strict CommonJS, but
13
- // only CommonJS-like environments that support module.exports,
14
- // like Node.
15
- module.exports = factory(require('jquery'));
16
- } else {
17
- factory(jQuery);
18
- }
19
- }(this, function ($) {
20
-
21
- (function() {
22
-
23
- 'use strict';
24
-
25
- var defaults = {
26
- thumbnail: true,
27
-
28
- animateThumb: true,
29
- currentPagerPosition: 'middle',
30
-
31
- thumbWidth: 100,
32
- thumbHeight: '80px',
33
- thumbContHeight: 100,
34
- thumbMargin: 5,
35
-
36
- exThumbImage: false,
37
- showThumbByDefault: true,
38
- toogleThumb: true,
39
- pullCaptionUp: true,
40
-
41
- enableThumbDrag: true,
42
- enableThumbSwipe: true,
43
- swipeThreshold: 50,
44
-
45
- loadYoutubeThumbnail: true,
46
- youtubeThumbSize: 1,
47
-
48
- loadVimeoThumbnail: true,
49
- vimeoThumbSize: 'thumbnail_small',
50
-
51
- loadDailymotionThumbnail: true
52
- };
53
-
54
- var Thumbnail = function(element) {
55
-
56
- // get lightGallery core plugin data
57
- this.core = $(element).data('lightGallery');
58
-
59
- // extend module default settings with lightGallery core settings
60
- this.core.s = $.extend({}, defaults, this.core.s);
61
-
62
- this.$el = $(element);
63
- this.$thumbOuter = null;
64
- this.thumbOuterWidth = 0;
65
- this.thumbTotalWidth = (this.core.$items.length * (this.core.s.thumbWidth + this.core.s.thumbMargin));
66
- this.thumbIndex = this.core.index;
67
-
68
- if (this.core.s.animateThumb) {
69
- this.core.s.thumbHeight = '100%';
70
- }
71
-
72
- // Thumbnail animation value
73
- this.left = 0;
74
-
75
- this.init();
76
-
77
- return this;
78
- };
79
-
80
- Thumbnail.prototype.init = function() {
81
- var _this = this;
82
- if (this.core.s.thumbnail && this.core.$items.length > 1) {
83
- if (this.core.s.showThumbByDefault) {
84
- setTimeout(function(){
85
- _this.core.$outer.addClass('lg-thumb-open');
86
- }, 700);
87
- }
88
-
89
- if (this.core.s.pullCaptionUp) {
90
- this.core.$outer.addClass('lg-pull-caption-up');
91
- }
92
-
93
- this.build();
94
- if (this.core.s.animateThumb && this.core.doCss()) {
95
- if (this.core.s.enableThumbDrag) {
96
- this.enableThumbDrag();
97
- }
98
-
99
- if (this.core.s.enableThumbSwipe) {
100
- this.enableThumbSwipe();
101
- }
102
-
103
- this.thumbClickable = false;
104
- } else {
105
- this.thumbClickable = true;
106
- }
107
-
108
- this.toogle();
109
- this.thumbkeyPress();
110
- }
111
- };
112
-
113
- Thumbnail.prototype.build = function() {
114
- var _this = this;
115
- var thumbList = '';
116
- var vimeoErrorThumbSize = '';
117
- var $thumb;
118
- var html = '<div class="lg-thumb-outer">' +
119
- '<div class="lg-thumb lg-group">' +
120
- '</div>' +
121
- '</div>';
122
-
123
- switch (this.core.s.vimeoThumbSize) {
124
- case 'thumbnail_large':
125
- vimeoErrorThumbSize = '640';
126
- break;
127
- case 'thumbnail_medium':
128
- vimeoErrorThumbSize = '200x150';
129
- break;
130
- case 'thumbnail_small':
131
- vimeoErrorThumbSize = '100x75';
132
- }
133
-
134
- _this.core.$outer.addClass('lg-has-thumb');
135
-
136
- _this.core.$outer.find('.lg').append(html);
137
-
138
- _this.$thumbOuter = _this.core.$outer.find('.lg-thumb-outer');
139
- _this.thumbOuterWidth = _this.$thumbOuter.width();
140
-
141
- if (_this.core.s.animateThumb) {
142
- _this.core.$outer.find('.lg-thumb').css({
143
- width: _this.thumbTotalWidth + 'px',
144
- position: 'relative'
145
- });
146
- }
147
-
148
- if (this.core.s.animateThumb) {
149
- _this.$thumbOuter.css('height', _this.core.s.thumbContHeight + 'px');
150
- }
151
-
152
- function getThumb(src, thumb, index) {
153
- var isVideo = _this.core.isVideo(src, index) || {};
154
- var thumbImg;
155
- var vimeoId = '';
156
-
157
- if (isVideo.youtube || isVideo.vimeo || isVideo.dailymotion) {
158
- if (isVideo.youtube) {
159
- if (_this.core.s.loadYoutubeThumbnail) {
160
- thumbImg = '//img.youtube.com/vi/' + isVideo.youtube[1] + '/' + _this.core.s.youtubeThumbSize + '.jpg';
161
- } else {
162
- thumbImg = thumb;
163
- }
164
- } else if (isVideo.vimeo) {
165
- if (_this.core.s.loadVimeoThumbnail) {
166
- thumbImg = '//i.vimeocdn.com/video/error_' + vimeoErrorThumbSize + '.jpg';
167
- vimeoId = isVideo.vimeo[1];
168
- } else {
169
- thumbImg = thumb;
170
- }
171
- } else if (isVideo.dailymotion) {
172
- if (_this.core.s.loadDailymotionThumbnail) {
173
- thumbImg = '//www.dailymotion.com/thumbnail/video/' + isVideo.dailymotion[1];
174
- } else {
175
- thumbImg = thumb;
176
- }
177
- }
178
- } else {
179
- thumbImg = thumb;
180
- }
181
-
182
- thumbList += '<div data-vimeo-id="' + vimeoId + '" class="lg-thumb-item" style="width:' + _this.core.s.thumbWidth + 'px; height: ' + _this.core.s.thumbHeight + '; margin-right: ' + _this.core.s.thumbMargin + 'px"><img src="' + thumbImg + '" /></div>';
183
- vimeoId = '';
184
- }
185
-
186
- if (_this.core.s.dynamic) {
187
- for (var i = 0; i < _this.core.s.dynamicEl.length; i++) {
188
- getThumb(_this.core.s.dynamicEl[i].src, _this.core.s.dynamicEl[i].thumb, i);
189
- }
190
- } else {
191
- _this.core.$items.each(function(i) {
192
-
193
- if (!_this.core.s.exThumbImage) {
194
- getThumb($(this).attr('href') || $(this).attr('data-src'), $(this).find('img').attr('src'), i);
195
- } else {
196
- getThumb($(this).attr('href') || $(this).attr('data-src'), $(this).attr(_this.core.s.exThumbImage), i);
197
- }
198
-
199
- });
200
- }
201
-
202
- _this.core.$outer.find('.lg-thumb').html(thumbList);
203
-
204
- $thumb = _this.core.$outer.find('.lg-thumb-item');
205
-
206
- // Load vimeo thumbnails
207
- $thumb.each(function() {
208
- var $this = $(this);
209
- var vimeoVideoId = $this.attr('data-vimeo-id');
210
-
211
- if (vimeoVideoId) {
212
- $.getJSON('//www.vimeo.com/api/v2/video/' + vimeoVideoId + '.json?callback=?', {
213
- format: 'json'
214
- }, function(data) {
215
- $this.find('img').attr('src', data[0][_this.core.s.vimeoThumbSize]);
216
- });
217
- }
218
- });
219
-
220
- // manage active class for thumbnail
221
- $thumb.eq(_this.core.index).addClass('active');
222
- _this.core.$el.on('onBeforeSlide.lg.tm', function() {
223
- $thumb.removeClass('active');
224
- $thumb.eq(_this.core.index).addClass('active');
225
- });
226
-
227
- $thumb.on('click.lg touchend.lg', function() {
228
- var _$this = $(this);
229
- setTimeout(function() {
230
-
231
- // In IE9 and bellow touch does not support
232
- // Go to slide if browser does not support css transitions
233
- if ((_this.thumbClickable && !_this.core.lgBusy) || !_this.core.doCss()) {
234
- _this.core.index = _$this.index();
235
- _this.core.slide(_this.core.index, false, true, false);
236
- }
237
- }, 50);
238
- });
239
-
240
- _this.core.$el.on('onBeforeSlide.lg.tm', function() {
241
- _this.animateThumb(_this.core.index);
242
- });
243
-
244
- $(window).on('resize.lg.thumb orientationchange.lg.thumb', function() {
245
- setTimeout(function() {
246
- _this.animateThumb(_this.core.index);
247
- _this.thumbOuterWidth = _this.$thumbOuter.width();
248
- }, 200);
249
- });
250
-
251
- };
252
-
253
- Thumbnail.prototype.setTranslate = function(value) {
254
- // jQuery supports Automatic CSS prefixing since jQuery 1.8.0
255
- this.core.$outer.find('.lg-thumb').css({
256
- transform: 'translate3d(-' + (value) + 'px, 0px, 0px)'
257
- });
258
- };
259
-
260
- Thumbnail.prototype.animateThumb = function(index) {
261
- var $thumb = this.core.$outer.find('.lg-thumb');
262
- if (this.core.s.animateThumb) {
263
- var position;
264
- switch (this.core.s.currentPagerPosition) {
265
- case 'left':
266
- position = 0;
267
- break;
268
- case 'middle':
269
- position = (this.thumbOuterWidth / 2) - (this.core.s.thumbWidth / 2);
270
- break;
271
- case 'right':
272
- position = this.thumbOuterWidth - this.core.s.thumbWidth;
273
- }
274
- this.left = ((this.core.s.thumbWidth + this.core.s.thumbMargin) * index - 1) - position;
275
- if (this.left > (this.thumbTotalWidth - this.thumbOuterWidth)) {
276
- this.left = this.thumbTotalWidth - this.thumbOuterWidth;
277
- }
278
-
279
- if (this.left < 0) {
280
- this.left = 0;
281
- }
282
-
283
- if (this.core.lGalleryOn) {
284
- if (!$thumb.hasClass('on')) {
285
- this.core.$outer.find('.lg-thumb').css('transition-duration', this.core.s.speed + 'ms');
286
- }
287
-
288
- if (!this.core.doCss()) {
289
- $thumb.animate({
290
- left: -this.left + 'px'
291
- }, this.core.s.speed);
292
- }
293
- } else {
294
- if (!this.core.doCss()) {
295
- $thumb.css('left', -this.left + 'px');
296
- }
297
- }
298
-
299
- this.setTranslate(this.left);
300
-
301
- }
302
- };
303
-
304
- // Enable thumbnail dragging and swiping
305
- Thumbnail.prototype.enableThumbDrag = function() {
306
-
307
- var _this = this;
308
- var startCoords = 0;
309
- var endCoords = 0;
310
- var isDraging = false;
311
- var isMoved = false;
312
- var tempLeft = 0;
313
-
314
- _this.$thumbOuter.addClass('lg-grab');
315
-
316
- _this.core.$outer.find('.lg-thumb').on('mousedown.lg.thumb', function(e) {
317
- if (_this.thumbTotalWidth > _this.thumbOuterWidth) {
318
- // execute only on .lg-object
319
- e.preventDefault();
320
- startCoords = e.pageX;
321
- isDraging = true;
322
-
323
- // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723
324
- _this.core.$outer.scrollLeft += 1;
325
- _this.core.$outer.scrollLeft -= 1;
326
-
327
- // *
328
- _this.thumbClickable = false;
329
- _this.$thumbOuter.removeClass('lg-grab').addClass('lg-grabbing');
330
- }
331
- });
332
-
333
- $(window).on('mousemove.lg.thumb', function(e) {
334
- if (isDraging) {
335
- tempLeft = _this.left;
336
- isMoved = true;
337
- endCoords = e.pageX;
338
-
339
- _this.$thumbOuter.addClass('lg-dragging');
340
-
341
- tempLeft = tempLeft - (endCoords - startCoords);
342
-
343
- if (tempLeft > (_this.thumbTotalWidth - _this.thumbOuterWidth)) {
344
- tempLeft = _this.thumbTotalWidth - _this.thumbOuterWidth;
345
- }
346
-
347
- if (tempLeft < 0) {
348
- tempLeft = 0;
349
- }
350
-
351
- // move current slide
352
- _this.setTranslate(tempLeft);
353
-
354
- }
355
- });
356
-
357
- $(window).on('mouseup.lg.thumb', function() {
358
- if (isMoved) {
359
- isMoved = false;
360
- _this.$thumbOuter.removeClass('lg-dragging');
361
-
362
- _this.left = tempLeft;
363
-
364
- if (Math.abs(endCoords - startCoords) < _this.core.s.swipeThreshold) {
365
- _this.thumbClickable = true;
366
- }
367
-
368
- } else {
369
- _this.thumbClickable = true;
370
- }
371
-
372
- if (isDraging) {
373
- isDraging = false;
374
- _this.$thumbOuter.removeClass('lg-grabbing').addClass('lg-grab');
375
- }
376
- });
377
-
378
- };
379
-
380
- Thumbnail.prototype.enableThumbSwipe = function() {
381
- var _this = this;
382
- var startCoords = 0;
383
- var endCoords = 0;
384
- var isMoved = false;
385
- var tempLeft = 0;
386
-
387
- _this.core.$outer.find('.lg-thumb').on('touchstart.lg', function(e) {
388
- if (_this.thumbTotalWidth > _this.thumbOuterWidth) {
389
- e.preventDefault();
390
- startCoords = e.originalEvent.targetTouches[0].pageX;
391
- _this.thumbClickable = false;
392
- }
393
- });
394
-
395
- _this.core.$outer.find('.lg-thumb').on('touchmove.lg', function(e) {
396
- if (_this.thumbTotalWidth > _this.thumbOuterWidth) {
397
- e.preventDefault();
398
- endCoords = e.originalEvent.targetTouches[0].pageX;
399
- isMoved = true;
400
-
401
- _this.$thumbOuter.addClass('lg-dragging');
402
-
403
- tempLeft = _this.left;
404
-
405
- tempLeft = tempLeft - (endCoords - startCoords);
406
-
407
- if (tempLeft > (_this.thumbTotalWidth - _this.thumbOuterWidth)) {
408
- tempLeft = _this.thumbTotalWidth - _this.thumbOuterWidth;
409
- }
410
-
411
- if (tempLeft < 0) {
412
- tempLeft = 0;
413
- }
414
-
415
- // move current slide
416
- _this.setTranslate(tempLeft);
417
-
418
- }
419
- });
420
-
421
- _this.core.$outer.find('.lg-thumb').on('touchend.lg', function() {
422
- if (_this.thumbTotalWidth > _this.thumbOuterWidth) {
423
-
424
- if (isMoved) {
425
- isMoved = false;
426
- _this.$thumbOuter.removeClass('lg-dragging');
427
- if (Math.abs(endCoords - startCoords) < _this.core.s.swipeThreshold) {
428
- _this.thumbClickable = true;
429
- }
430
-
431
- _this.left = tempLeft;
432
- } else {
433
- _this.thumbClickable = true;
434
- }
435
- } else {
436
- _this.thumbClickable = true;
437
- }
438
- });
439
-
440
- };
441
-
442
- Thumbnail.prototype.toogle = function() {
443
- var _this = this;
444
- if (_this.core.s.toogleThumb) {
445
- _this.core.$outer.addClass('lg-can-toggle');
446
- _this.$thumbOuter.append('<span class="lg-toogle-thumb lg-icon"></span>');
447
- _this.core.$outer.find('.lg-toogle-thumb').on('click.lg', function() {
448
- _this.core.$outer.toggleClass('lg-thumb-open');
449
- });
450
- }
451
- };
452
-
453
- Thumbnail.prototype.thumbkeyPress = function() {
454
- var _this = this;
455
- $(window).on('keydown.lg.thumb', function(e) {
456
- if (e.keyCode === 38) {
457
- e.preventDefault();
458
- _this.core.$outer.addClass('lg-thumb-open');
459
- } else if (e.keyCode === 40) {
460
- e.preventDefault();
461
- _this.core.$outer.removeClass('lg-thumb-open');
462
- }
463
- });
464
- };
465
-
466
- Thumbnail.prototype.destroy = function() {
467
- if (this.core.s.thumbnail && this.core.$items.length > 1) {
468
- $(window).off('resize.lg.thumb orientationchange.lg.thumb keydown.lg.thumb');
469
- this.$thumbOuter.remove();
470
- this.core.$outer.removeClass('lg-has-thumb');
471
- }
472
- };
473
-
474
- $.fn.lightGallery.modules.Thumbnail = Thumbnail;
475
-
476
- })();
477
-
478
- }));