blueimp-gallery 1.0.0 → 2.9.0.0
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/CHANGELOG.md +13 -2
- data/README.md +2 -2
- data/lib/blueimp/gallery/version.rb +1 -1
- data/vendor/assets/javascripts/blueimp-gallery-fullscreen.js +4 -4
- data/vendor/assets/javascripts/blueimp-gallery-indicator.js +4 -4
- data/vendor/assets/javascripts/blueimp-gallery.js +114 -35
- data/vendor/assets/javascripts/jquery.blueimp-gallery.js +10 -4
- data/vendor/assets/stylesheets/blueimp-gallery-all.css +1 -1
- data/vendor/assets/stylesheets/blueimp-gallery.css +1 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0c0f2d3a96cd4e89bf3dc0c07fff124920a5c2fb
|
4
|
+
data.tar.gz: 9e5b449ae6e2afa6b43ee434c47b4218b36548fa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ab9c8954b0d0e7a8c1f5ea2d44952c21d8729cbfb798fa3de175338da3832206f7a94fe1bb45e5a5128a29f280ca7697b605533bca333e08791340453b563d34
|
7
|
+
data.tar.gz: 61076c99936568278d2827d69d3e5a55cb32c31e219b85a8898c824d13df169e8a6e963a9a1e0312f21a766cdc055f1c862c94b9652e0aaa712d202300738a9f
|
data/CHANGELOG.md
CHANGED
@@ -1,7 +1,18 @@
|
|
1
|
+
## v2.9.0.0
|
2
|
+
|
3
|
+
* Change the versioning scheme.
|
4
|
+
* Update to Blueimp Gallery 2.9.0.
|
5
|
+
|
6
|
+
## v1.0.0
|
7
|
+
|
8
|
+
* Stable version.
|
9
|
+
* Tests added.
|
10
|
+
* Assets paths fixed.
|
11
|
+
|
1
12
|
## v0.0.2
|
2
13
|
|
3
|
-
* Fixing spec folder bugs
|
14
|
+
* Fixing spec folder bugs.
|
4
15
|
|
5
16
|
## v0.0.1
|
6
17
|
|
7
|
-
* Initial release
|
18
|
+
* Initial release.
|
data/README.md
CHANGED
@@ -41,7 +41,7 @@ Add this line to your `app/assets/stylesheets/application.css`
|
|
41
41
|
|
42
42
|
In case you want a minimal version and you already understand how the plugin works, you can add the necessary assets.
|
43
43
|
|
44
|
-
*= require blueimp-gallery
|
44
|
+
*= require blueimp-gallery
|
45
45
|
*= require blueimp-gallery-indicator
|
46
46
|
*= require blueimp-gallery-video
|
47
47
|
|
@@ -147,7 +147,7 @@ or CoffeeScript if you want to add the script as an asset:
|
|
147
147
|
blueimp.Gallery document.getElementById("links").getElementsByTagName("a"),
|
148
148
|
container: "#blueimp-gallery-carousel"
|
149
149
|
carousel: true
|
150
|
-
|
150
|
+
```
|
151
151
|
|
152
152
|
## More Features
|
153
153
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*
|
2
|
-
* blueimp Gallery Fullscreen JS 1.
|
2
|
+
* blueimp Gallery Fullscreen JS 1.1.0
|
3
3
|
* https://github.com/blueimp/Gallery
|
4
4
|
*
|
5
5
|
* Copyright 2013, Sebastian Tschan
|
@@ -35,7 +35,7 @@
|
|
35
35
|
});
|
36
36
|
|
37
37
|
var initialize = Gallery.prototype.initialize,
|
38
|
-
|
38
|
+
handleClose = Gallery.prototype.handleClose;
|
39
39
|
|
40
40
|
$.extend(Gallery.prototype, {
|
41
41
|
|
@@ -72,11 +72,11 @@
|
|
72
72
|
}
|
73
73
|
},
|
74
74
|
|
75
|
-
|
75
|
+
handleClose: function () {
|
76
76
|
if (this.getFullScreenElement() === this.container[0]) {
|
77
77
|
this.exitFullScreen();
|
78
78
|
}
|
79
|
-
|
79
|
+
handleClose.call(this);
|
80
80
|
}
|
81
81
|
|
82
82
|
});
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*
|
2
|
-
* blueimp Gallery Indicator JS 1.
|
2
|
+
* blueimp Gallery Indicator JS 1.1.0
|
3
3
|
* https://github.com/blueimp/Gallery
|
4
4
|
*
|
5
5
|
* Copyright 2013, Sebastian Tschan
|
@@ -46,7 +46,7 @@
|
|
46
46
|
resetSlides = Gallery.prototype.resetSlides,
|
47
47
|
handleClick = Gallery.prototype.handleClick,
|
48
48
|
handleSlide = Gallery.prototype.handleSlide,
|
49
|
-
|
49
|
+
handleClose = Gallery.prototype.handleClose;
|
50
50
|
|
51
51
|
$.extend(Gallery.prototype, {
|
52
52
|
|
@@ -139,12 +139,12 @@
|
|
139
139
|
this.setActiveIndicator(index);
|
140
140
|
},
|
141
141
|
|
142
|
-
|
142
|
+
handleClose: function () {
|
143
143
|
if (this.activeIndicator) {
|
144
144
|
this.activeIndicator
|
145
145
|
.removeClass(this.options.activeIndicatorClass);
|
146
146
|
}
|
147
|
-
|
147
|
+
handleClose.call(this);
|
148
148
|
}
|
149
149
|
|
150
150
|
});
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*
|
2
|
-
* blueimp Gallery JS 2.
|
2
|
+
* blueimp Gallery JS 2.9.0
|
3
3
|
* https://github.com/blueimp/Gallery
|
4
4
|
*
|
5
5
|
* Copyright 2013, Sebastian Tschan
|
@@ -91,6 +91,9 @@
|
|
91
91
|
titleProperty: 'title',
|
92
92
|
// The list object property (or data attribute) with the object URL:
|
93
93
|
urlProperty: 'href',
|
94
|
+
// The gallery listens for transitionend events before triggering the
|
95
|
+
// opened and closed events, unless the following option is set to false:
|
96
|
+
displayTransition: true,
|
94
97
|
// Defines if the gallery slides are cleared from the gallery modal,
|
95
98
|
// or reused for the next gallery initialization:
|
96
99
|
clearSlides: true,
|
@@ -144,6 +147,10 @@
|
|
144
147
|
// Callback function executed when the Gallery is initialized.
|
145
148
|
// Is called with the gallery instance as "this" object:
|
146
149
|
onopen: undefined,
|
150
|
+
// Callback function executed when the Gallery has been initialized
|
151
|
+
// and the initialization transition has been completed.
|
152
|
+
// Is called with the gallery instance as "this" object:
|
153
|
+
onopened: undefined,
|
147
154
|
// Callback function executed on slide change.
|
148
155
|
// Is called with the gallery instance as "this" object and the
|
149
156
|
// current index and slide as arguments:
|
@@ -156,9 +163,13 @@
|
|
156
163
|
// Is called with the gallery instance as "this" object and the
|
157
164
|
// slide index and slide element as arguments:
|
158
165
|
onslidecomplete: undefined,
|
159
|
-
// Callback function executed when the Gallery is closed.
|
166
|
+
// Callback function executed when the Gallery is about to be closed.
|
167
|
+
// Is called with the gallery instance as "this" object:
|
168
|
+
onclose: undefined,
|
169
|
+
// Callback function executed when the Gallery has been closed
|
170
|
+
// and the closing transition has been completed.
|
160
171
|
// Is called with the gallery instance as "this" object:
|
161
|
-
|
172
|
+
onclosed: undefined
|
162
173
|
},
|
163
174
|
|
164
175
|
carouselOptions: {
|
@@ -199,7 +210,32 @@
|
|
199
210
|
},
|
200
211
|
prop,
|
201
212
|
transition,
|
202
|
-
translateZ
|
213
|
+
translateZ,
|
214
|
+
elementTests = function () {
|
215
|
+
document.body.appendChild(element);
|
216
|
+
if (transition) {
|
217
|
+
prop = transition.name.slice(0, -9) + 'ransform';
|
218
|
+
if (element.style[prop] !== undefined) {
|
219
|
+
element.style[prop] = 'translateZ(0)';
|
220
|
+
translateZ = window.getComputedStyle(element)
|
221
|
+
.getPropertyValue(transition.prefix + 'transform');
|
222
|
+
support.transform = {
|
223
|
+
prefix: transition.prefix,
|
224
|
+
name: prop,
|
225
|
+
translate: true,
|
226
|
+
translateZ: !!translateZ && translateZ !== 'none'
|
227
|
+
};
|
228
|
+
}
|
229
|
+
}
|
230
|
+
if (element.style.backgroundSize !== undefined) {
|
231
|
+
element.style.backgroundSize = 'contain';
|
232
|
+
support.backgroundSize = {
|
233
|
+
contain: window.getComputedStyle(element)
|
234
|
+
.getPropertyValue('background-size') === 'contain'
|
235
|
+
};
|
236
|
+
}
|
237
|
+
document.body.removeChild(element);
|
238
|
+
};
|
203
239
|
for (prop in transitions) {
|
204
240
|
if (transitions.hasOwnProperty(prop) &&
|
205
241
|
element.style[prop] !== undefined) {
|
@@ -209,43 +245,26 @@
|
|
209
245
|
break;
|
210
246
|
}
|
211
247
|
}
|
212
|
-
document.body
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
element.style[prop] = 'translateZ(0)';
|
217
|
-
translateZ = window.getComputedStyle(element)
|
218
|
-
.getPropertyValue(transition.prefix + 'transform');
|
219
|
-
support.transform = {
|
220
|
-
prefix: transition.prefix,
|
221
|
-
name: prop,
|
222
|
-
translate: true,
|
223
|
-
translateZ: translateZ && translateZ !== 'none'
|
224
|
-
};
|
225
|
-
}
|
226
|
-
}
|
227
|
-
if (element.style.backgroundSize !== undefined) {
|
228
|
-
element.style.backgroundSize = 'contain';
|
229
|
-
support.backgroundSize = {
|
230
|
-
contain: window.getComputedStyle(element)
|
231
|
-
.getPropertyValue('background-size') === 'contain'
|
232
|
-
};
|
248
|
+
if (document.body) {
|
249
|
+
elementTests();
|
250
|
+
} else {
|
251
|
+
$(document).on('DOMContentLoaded', elementTests);
|
233
252
|
}
|
234
|
-
document.body.removeChild(element);
|
235
253
|
return support;
|
236
254
|
// Test element, has to be standard HTML and must not be hidden
|
237
|
-
// for the CSS3
|
255
|
+
// for the CSS3 tests using window.getComputedStyle to be applicable:
|
238
256
|
}(document.createElement('div'))),
|
239
257
|
|
258
|
+
requestAnimationFrame: window.requestAnimationFrame ||
|
259
|
+
window.webkitRequestAnimationFrame ||
|
260
|
+
window.mozRequestAnimationFrame,
|
261
|
+
|
240
262
|
initialize: function () {
|
241
263
|
this.initStartIndex();
|
242
264
|
if (this.initWidget() === false) {
|
243
265
|
return false;
|
244
266
|
}
|
245
267
|
this.initEventListeners();
|
246
|
-
if (this.options.onopen) {
|
247
|
-
this.options.onopen.call(this);
|
248
|
-
}
|
249
268
|
// Load the slide at the given index:
|
250
269
|
this.onslide(this.index);
|
251
270
|
// Manually trigger the slideend event for the initial slide:
|
@@ -332,11 +351,19 @@
|
|
332
351
|
},
|
333
352
|
|
334
353
|
play: function (time) {
|
354
|
+
var that = this;
|
335
355
|
window.clearTimeout(this.timeout);
|
336
356
|
this.interval = time || this.options.slideshowInterval;
|
337
357
|
if (this.elements[this.index] > 1) {
|
338
358
|
this.timeout = this.setTimeout(
|
339
|
-
this.slide,
|
359
|
+
(!this.requestAnimationFrame && this.slide) || function (to, speed) {
|
360
|
+
that.animationFrameId = that.requestAnimationFrame.call(
|
361
|
+
window,
|
362
|
+
function () {
|
363
|
+
that.slide(to, speed);
|
364
|
+
}
|
365
|
+
);
|
366
|
+
},
|
340
367
|
[this.index + 1, this.options.slideshowTransitionSpeed],
|
341
368
|
this.interval
|
342
369
|
);
|
@@ -374,7 +401,7 @@
|
|
374
401
|
this.slides = [];
|
375
402
|
},
|
376
403
|
|
377
|
-
|
404
|
+
handleClose: function () {
|
378
405
|
var options = this.options;
|
379
406
|
this.destroyEventListeners();
|
380
407
|
// Cancel the slideshow:
|
@@ -391,9 +418,34 @@
|
|
391
418
|
if (this.options.clearSlides) {
|
392
419
|
this.resetSlides();
|
393
420
|
}
|
421
|
+
if (this.options.onclosed) {
|
422
|
+
this.options.onclosed.call(this);
|
423
|
+
}
|
424
|
+
},
|
425
|
+
|
426
|
+
close: function () {
|
427
|
+
var that = this,
|
428
|
+
closeHandler = function (event) {
|
429
|
+
if (event.target === that.container[0]) {
|
430
|
+
that.container.off(
|
431
|
+
that.support.transition.end,
|
432
|
+
closeHandler
|
433
|
+
);
|
434
|
+
that.handleClose();
|
435
|
+
}
|
436
|
+
};
|
394
437
|
if (this.options.onclose) {
|
395
438
|
this.options.onclose.call(this);
|
396
439
|
}
|
440
|
+
if (this.support.transition && this.options.displayTransition) {
|
441
|
+
this.container.on(
|
442
|
+
this.support.transition.end,
|
443
|
+
closeHandler
|
444
|
+
);
|
445
|
+
this.container.removeClass(this.options.displayClass);
|
446
|
+
} else {
|
447
|
+
this.handleClose();
|
448
|
+
}
|
397
449
|
},
|
398
450
|
|
399
451
|
circle: function (index) {
|
@@ -1120,7 +1172,23 @@
|
|
1120
1172
|
}
|
1121
1173
|
},
|
1122
1174
|
|
1175
|
+
handleOpen: function () {
|
1176
|
+
if (this.options.onopened) {
|
1177
|
+
this.options.onopened.call(this);
|
1178
|
+
}
|
1179
|
+
},
|
1180
|
+
|
1123
1181
|
initWidget: function () {
|
1182
|
+
var that = this,
|
1183
|
+
openHandler = function (event) {
|
1184
|
+
if (event.target === that.container[0]) {
|
1185
|
+
that.container.off(
|
1186
|
+
that.support.transition.end,
|
1187
|
+
openHandler
|
1188
|
+
);
|
1189
|
+
that.handleOpen();
|
1190
|
+
}
|
1191
|
+
};
|
1124
1192
|
this.container = $(this.options.container);
|
1125
1193
|
if (!this.container.length) {
|
1126
1194
|
return false;
|
@@ -1134,14 +1202,25 @@
|
|
1134
1202
|
this.titleElement = this.container.find(
|
1135
1203
|
this.options.titleElement
|
1136
1204
|
);
|
1205
|
+
if (this.num === 1) {
|
1206
|
+
this.container.addClass(this.options.singleClass);
|
1207
|
+
}
|
1208
|
+
if (this.options.onopen) {
|
1209
|
+
this.options.onopen.call(this);
|
1210
|
+
}
|
1211
|
+
if (this.support.transition && this.options.displayTransition) {
|
1212
|
+
this.container.on(
|
1213
|
+
this.support.transition.end,
|
1214
|
+
openHandler
|
1215
|
+
);
|
1216
|
+
} else {
|
1217
|
+
this.handleOpen();
|
1218
|
+
}
|
1137
1219
|
if (this.options.hidePageScrollbars) {
|
1138
1220
|
// Hide the page scrollbars:
|
1139
1221
|
this.bodyOverflowStyle = document.body.style.overflow;
|
1140
1222
|
document.body.style.overflow = 'hidden';
|
1141
1223
|
}
|
1142
|
-
if (this.num === 1) {
|
1143
|
-
this.container.addClass(this.options.singleClass);
|
1144
|
-
}
|
1145
1224
|
this.container[0].style.display = 'block';
|
1146
1225
|
this.initSlides();
|
1147
1226
|
this.container.addClass(this.options.displayClass);
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*
|
2
|
-
* blueimp Gallery jQuery plugin 1.
|
2
|
+
* blueimp Gallery jQuery plugin 1.2.0
|
3
3
|
* https://github.com/blueimp/Gallery
|
4
4
|
*
|
5
5
|
* Copyright 2013, Sebastian Tschan
|
@@ -29,7 +29,7 @@
|
|
29
29
|
|
30
30
|
// Global click handler to open links with data-gallery attribute
|
31
31
|
// in the Gallery lightbox:
|
32
|
-
$(document
|
32
|
+
$(document).on('click', '[data-gallery]', function (event) {
|
33
33
|
// Get the container id from the data-gallery attribute:
|
34
34
|
var id = $(this).data('gallery'),
|
35
35
|
widget = $(id),
|
@@ -46,7 +46,10 @@
|
|
46
46
|
onopen: function () {
|
47
47
|
container
|
48
48
|
.data('gallery', this)
|
49
|
-
.trigger('open'
|
49
|
+
.trigger('open');
|
50
|
+
},
|
51
|
+
onopened: function () {
|
52
|
+
container.trigger('opened');
|
50
53
|
},
|
51
54
|
onslide: function () {
|
52
55
|
container.trigger('slide', arguments);
|
@@ -58,8 +61,11 @@
|
|
58
61
|
container.trigger('slidecomplete', arguments);
|
59
62
|
},
|
60
63
|
onclose: function () {
|
64
|
+
container.trigger('close');
|
65
|
+
},
|
66
|
+
onclosed: function () {
|
61
67
|
container
|
62
|
-
.trigger('
|
68
|
+
.trigger('closed')
|
63
69
|
.removeData('gallery');
|
64
70
|
}
|
65
71
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
@charset 'UTF-8';
|
2
2
|
/*
|
3
|
-
* blueimp Gallery CSS 2.
|
3
|
+
* blueimp Gallery CSS 2.9.0
|
4
4
|
* https://github.com/blueimp/Gallery
|
5
5
|
*
|
6
6
|
* Copyright 2013, Sebastian Tschan
|
@@ -33,7 +33,6 @@
|
|
33
33
|
background: #000;
|
34
34
|
background: rgba(0, 0, 0, 0.9);
|
35
35
|
opacity: 0;
|
36
|
-
visibility: hidden;
|
37
36
|
display: none;
|
38
37
|
direction: ltr;
|
39
38
|
-ms-touch-action: none;
|
@@ -48,7 +47,6 @@
|
|
48
47
|
}
|
49
48
|
.blueimp-gallery-display {
|
50
49
|
display: block;
|
51
|
-
visibility: visible;
|
52
50
|
opacity: 1;
|
53
51
|
}
|
54
52
|
.blueimp-gallery > .slides {
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: blueimp-gallery
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.9.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christopher Fernández
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-09-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|