fotoramajs 4.5.2 → 4.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +1 -1
- data/lib/fotoramajs/version.rb +1 -1
- data/vendor/assets/javascripts/fotorama.js +155 -121
- data/vendor/assets/stylesheets/fotorama.css.scss +6 -18
- 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: 5b0207c19b7c301a3da409bb7c89feb4f8c6fdff
|
4
|
+
data.tar.gz: 82d0f887b3963ebd1d757271b44303311e6a6124
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 39446b490a9a15d3708cd1c9647336918ab11057f2b56a7f3c63669792136e22a48caa6b797b95959a0a7bc3cb4bc80a0ad34b48688121af24023954ca491ddc
|
7
|
+
data.tar.gz: 2d954bb8f1aa80e594e9eabea0d4d1b32585f199fc73c066f14255968ca5698ede8437594ca5411b506260fd6bfd860df8fac58a942764cf773d12c296872415
|
data/Rakefile
CHANGED
@@ -39,7 +39,7 @@ task :update do
|
|
39
39
|
def fetch(tag)
|
40
40
|
cdn = "http://fotorama.s3.amazonaws.com/#{tag}"
|
41
41
|
%w(fotorama.js fotorama.css fotorama.png fotorama@2x.png).each do |file|
|
42
|
-
from = "#{cdn}/#{file}".sub(/(.css|.js)$/, '.
|
42
|
+
from = "#{cdn}/#{file}".sub(/(.css|.js)$/, '.dev\\1')
|
43
43
|
get from, asset(file)
|
44
44
|
end
|
45
45
|
end
|
data/lib/fotoramajs/version.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
/*!
|
2
|
-
* Fotorama 4.
|
2
|
+
* Fotorama 4.6.0 | http://fotorama.io/license/
|
3
3
|
*/
|
4
|
+
fotoramaVersion = '4.6.0';
|
4
5
|
(function (window, document, location, $, undefined) {
|
5
6
|
"use strict";
|
6
7
|
var _fotoramaClass = 'fotorama',
|
@@ -93,7 +94,6 @@ if (!JQUERY_VERSION
|
|
93
94
|
|| JQUERY_VERSION[0] < 1
|
94
95
|
|| (JQUERY_VERSION[0] == 1 && JQUERY_VERSION[1] < 8)) {
|
95
96
|
throw 'Fotorama requires jQuery 1.8 or later and will not run without it.';
|
96
|
-
return;
|
97
97
|
}
|
98
98
|
// My Underscore :-)
|
99
99
|
var _ = {};
|
@@ -875,6 +875,8 @@ var $WINDOW = $(window),
|
|
875
875
|
|
876
876
|
MAX_WIDTH = 99999,
|
877
877
|
|
878
|
+
FIFTYFIFTY = '50%',
|
879
|
+
|
878
880
|
OPTIONS = {
|
879
881
|
// dimensions
|
880
882
|
width: null, // 500 || '100%'
|
@@ -891,6 +893,9 @@ var $WINDOW = $(window),
|
|
891
893
|
|
892
894
|
fit: 'contain', // 'cover' || 'scaledown' || 'none'
|
893
895
|
|
896
|
+
position: FIFTYFIFTY,
|
897
|
+
thumbposition: FIFTYFIFTY,
|
898
|
+
|
894
899
|
// navigation, thumbs
|
895
900
|
nav: 'dots', // 'thumbs' || false
|
896
901
|
navposition: 'bottom', // 'top'
|
@@ -976,11 +981,12 @@ function getDuration (time) {
|
|
976
981
|
}
|
977
982
|
|
978
983
|
function numberFromMeasure (value, measure) {
|
979
|
-
|
984
|
+
value = +String(value).replace(measure || 'px', '');
|
985
|
+
return isNaN(value) ? undefined : value;
|
980
986
|
}
|
981
987
|
|
982
988
|
function numberFromPercent (value) {
|
983
|
-
return /%$/.test(value)
|
989
|
+
return /%$/.test(value) ? numberFromMeasure(value, '%') : undefined;
|
984
990
|
}
|
985
991
|
|
986
992
|
function numberFromWhatever (value, whole) {
|
@@ -988,12 +994,12 @@ function numberFromWhatever (value, whole) {
|
|
988
994
|
}
|
989
995
|
|
990
996
|
function measureIsValid (value) {
|
991
|
-
return (
|
997
|
+
return (!isNaN(numberFromMeasure(value)) || !isNaN(numberFromMeasure(value, '%'))) && value;
|
992
998
|
}
|
993
999
|
|
994
1000
|
function getPosByIndex (index, side, margin, baseIndex) {
|
995
|
-
|
996
|
-
|
1001
|
+
////console.log('getPosByIndex', index, side, margin, baseIndex);
|
1002
|
+
////console.log((index - (baseIndex || 0)) * (side + (margin || 0)));
|
997
1003
|
|
998
1004
|
return (index - (baseIndex || 0)) * (side + (margin || 0));
|
999
1005
|
}
|
@@ -1242,17 +1248,17 @@ function waitFor (test, fn, timeout) {
|
|
1242
1248
|
}
|
1243
1249
|
|
1244
1250
|
function setHash (hash) {
|
1245
|
-
|
1251
|
+
//////console.time('setHash ' + hash);
|
1246
1252
|
location.replace(location.protocol
|
1247
1253
|
+ '//'
|
1248
1254
|
+ location.host
|
1249
1255
|
+ location.pathname.replace(/^\/?/, '/')
|
1250
1256
|
+ location.search
|
1251
1257
|
+ '#' + hash);
|
1252
|
-
|
1258
|
+
//////console.timeEnd('setHash ' + hash);
|
1253
1259
|
}
|
1254
1260
|
|
1255
|
-
function fit ($el, measuresToFit, method) {
|
1261
|
+
function fit ($el, measuresToFit, method, position) {
|
1256
1262
|
var elData = $el.data(),
|
1257
1263
|
measures = elData.measures;
|
1258
1264
|
|
@@ -1262,14 +1268,16 @@ function fit ($el, measuresToFit, method) {
|
|
1262
1268
|
elData.l.r !== measures.ratio ||
|
1263
1269
|
elData.l.w !== measuresToFit.w ||
|
1264
1270
|
elData.l.h !== measuresToFit.h ||
|
1265
|
-
elData.l.m !== method
|
1271
|
+
elData.l.m !== method ||
|
1272
|
+
elData.l.p !== position)) {
|
1266
1273
|
var width = measures.width,
|
1267
1274
|
height = measures.height,
|
1268
1275
|
ratio = measuresToFit.w / measuresToFit.h,
|
1269
1276
|
biggerRatioFLAG = measures.ratio >= ratio,
|
1270
1277
|
fitFLAG = method === 'scaledown',
|
1271
1278
|
containFLAG = method === 'contain',
|
1272
|
-
coverFLAG = method === 'cover'
|
1279
|
+
coverFLAG = method === 'cover',
|
1280
|
+
pos = parsePosition(position);
|
1273
1281
|
|
1274
1282
|
if (biggerRatioFLAG && (fitFLAG || containFLAG) || !biggerRatioFLAG && coverFLAG) {
|
1275
1283
|
width = minMaxLimit(measuresToFit.w, 0, fitFLAG ? width : Infinity);
|
@@ -1282,8 +1290,8 @@ function fit ($el, measuresToFit, method) {
|
|
1282
1290
|
$el.css({
|
1283
1291
|
width: Math.ceil(width),
|
1284
1292
|
height: Math.ceil(height),
|
1285
|
-
left: Math.floor(measuresToFit.w
|
1286
|
-
top: Math.floor(measuresToFit.h
|
1293
|
+
left: Math.floor(numberFromWhatever(pos.x, measuresToFit.w - width)),
|
1294
|
+
top: Math.floor(numberFromWhatever(pos.y, measuresToFit.h- height))
|
1287
1295
|
});
|
1288
1296
|
|
1289
1297
|
elData.l = {
|
@@ -1292,7 +1300,8 @@ function fit ($el, measuresToFit, method) {
|
|
1292
1300
|
r: measures.ratio,
|
1293
1301
|
w: measuresToFit.w,
|
1294
1302
|
h: measuresToFit.h,
|
1295
|
-
m: method
|
1303
|
+
m: method,
|
1304
|
+
p: position
|
1296
1305
|
};
|
1297
1306
|
}
|
1298
1307
|
|
@@ -1350,7 +1359,7 @@ function smartClick ($el, fn, _options) {
|
|
1350
1359
|
onMove: _options.onMove || noop,
|
1351
1360
|
onTouchEnd: _options.onTouchEnd || noop,
|
1352
1361
|
onEnd: function (result) {
|
1353
|
-
|
1362
|
+
////console.log('smartClick → result.moved', result.moved);
|
1354
1363
|
if (result.moved) return;
|
1355
1364
|
fn.call(this, startEvent);
|
1356
1365
|
}
|
@@ -1442,13 +1451,20 @@ function addFocus (el, fn) {
|
|
1442
1451
|
|
1443
1452
|
function stopEvent (e, stopPropagation) {
|
1444
1453
|
e.preventDefault ? e.preventDefault() : (e.returnValue = false);
|
1445
|
-
stopPropagation && e.stopPropagation();
|
1454
|
+
stopPropagation && e.stopPropagation && e.stopPropagation();
|
1446
1455
|
}
|
1447
1456
|
|
1448
1457
|
function getDirectionSign (forward) {
|
1449
1458
|
return forward ? '>' : '<';
|
1450
1459
|
}
|
1451
1460
|
|
1461
|
+
function parsePosition (rule) {
|
1462
|
+
rule = (rule + '').split(/\s+/);
|
1463
|
+
return {
|
1464
|
+
x: measureIsValid(rule[0]) || FIFTYFIFTY,
|
1465
|
+
y: measureIsValid(rule[1]) || FIFTYFIFTY
|
1466
|
+
}
|
1467
|
+
}
|
1452
1468
|
function slide ($el, options) {
|
1453
1469
|
var elData = $el.data(),
|
1454
1470
|
elPos = Math.round(options.pos),
|
@@ -1464,18 +1480,18 @@ function slide ($el, options) {
|
|
1464
1480
|
};
|
1465
1481
|
}
|
1466
1482
|
|
1467
|
-
|
1483
|
+
////////console.time('var translate = $.extend');
|
1468
1484
|
var translate = $.extend(getTranslate(elPos/*, options._001*/), options.width && {width: options.width});
|
1469
|
-
|
1485
|
+
////////console.timeEnd('var translate = $.extend');
|
1470
1486
|
|
1471
1487
|
elData.sliding = true;
|
1472
1488
|
|
1473
1489
|
if (CSS3) {
|
1474
1490
|
$el.css($.extend(getDuration(options.time), translate));
|
1475
1491
|
if (options.time > 10) {
|
1476
|
-
|
1492
|
+
////////console.time('afterTransition');
|
1477
1493
|
afterTransition($el, 'transform', onEndFn, options.time);
|
1478
|
-
|
1494
|
+
////////console.timeEnd('afterTransition');
|
1479
1495
|
} else {
|
1480
1496
|
onEndFn();
|
1481
1497
|
}
|
@@ -1601,7 +1617,7 @@ function touch ($el, options) {
|
|
1601
1617
|
stopEvent(e);
|
1602
1618
|
}
|
1603
1619
|
} else {
|
1604
|
-
|
1620
|
+
////console.log('onMove e.preventDefault');
|
1605
1621
|
stopEvent(e);
|
1606
1622
|
(options.onMove || noop).call(el, e, {touch: touchFLAG});
|
1607
1623
|
}
|
@@ -1614,7 +1630,7 @@ function touch ($el, options) {
|
|
1614
1630
|
}
|
1615
1631
|
|
1616
1632
|
function onEnd (e) {
|
1617
|
-
|
1633
|
+
//////console.time('touch.js onEnd');
|
1618
1634
|
|
1619
1635
|
(options.onTouchEnd || noop)();
|
1620
1636
|
|
@@ -1636,7 +1652,7 @@ function touch ($el, options) {
|
|
1636
1652
|
}, 1000);
|
1637
1653
|
|
1638
1654
|
(options.onEnd || noop).call(el, {moved: moved, $target: $target, control: controlTouch, touch: touchFLAG, startEvent: startEvent, aborted: !e || e.type === 'MSPointerCancel'});
|
1639
|
-
|
1655
|
+
//////console.timeEnd('touch.js onEnd');
|
1640
1656
|
}
|
1641
1657
|
|
1642
1658
|
function onOtherStart () {
|
@@ -1667,11 +1683,12 @@ function touch ($el, options) {
|
|
1667
1683
|
addEvent(document, 'touchend', onOtherEnd);
|
1668
1684
|
addEvent(document, 'touchcancel', onOtherEnd);
|
1669
1685
|
|
1670
|
-
|
1686
|
+
$WINDOW.on('scroll', onOtherEnd);
|
1671
1687
|
|
1672
|
-
|
1673
|
-
|
1674
|
-
|
1688
|
+
$el.on('mousedown', onStart);
|
1689
|
+
$DOCUMENT
|
1690
|
+
.on('mousemove', onMove)
|
1691
|
+
.on('mouseup', onEnd);
|
1675
1692
|
}
|
1676
1693
|
|
1677
1694
|
$el.on('click', 'a', function (e) {
|
@@ -1764,14 +1781,14 @@ function moveOnTouch ($el, options) {
|
|
1764
1781
|
}
|
1765
1782
|
|
1766
1783
|
function onEnd (result) {
|
1767
|
-
|
1784
|
+
//////console.time('moveontouch.js onEnd');
|
1768
1785
|
if (tail.noSwipe && result.moved) return;
|
1769
1786
|
|
1770
1787
|
if (!tracked) {
|
1771
1788
|
startTracking(result.startEvent, true);
|
1772
1789
|
}
|
1773
1790
|
|
1774
|
-
|
1791
|
+
////console.log('onEnd');
|
1775
1792
|
|
1776
1793
|
result.touch || MS_POINTER || $el.removeClass(grabbingClass);
|
1777
1794
|
|
@@ -2159,16 +2176,16 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
2159
2176
|
classes[FLAG ? 'add' : 'remove'].push(value);
|
2160
2177
|
}
|
2161
2178
|
|
2162
|
-
if (size > 1) {
|
2179
|
+
//if (size > 1) { // TODO: need special option for that (disableIfSinglePhoto, типа)
|
2163
2180
|
o_nav = opts.nav;
|
2164
2181
|
o_navTop = opts.navposition === 'top';
|
2165
2182
|
classes.remove.push(selectClass);
|
2166
2183
|
|
2167
2184
|
$arrs.toggle(!!opts.arrows);
|
2168
|
-
} else {
|
2169
|
-
o_nav = false;
|
2170
|
-
$arrs.hide();
|
2171
|
-
}
|
2185
|
+
// } else {
|
2186
|
+
// o_nav = false;
|
2187
|
+
// $arrs.hide();
|
2188
|
+
// }
|
2172
2189
|
|
2173
2190
|
spinnerStop();
|
2174
2191
|
spinner = new Spinner($.extend(spinnerDefaults, opts.spinner, spinnerOverride, {direction: o_rtl ? -1 : 1}));
|
@@ -2277,7 +2294,7 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
2277
2294
|
}
|
2278
2295
|
|
2279
2296
|
function setNavShaftMinMax () {
|
2280
|
-
|
2297
|
+
////////console.log('setNavShaftMinMax', measures.nw);
|
2281
2298
|
navShaftTouchTail.min = Math.min(0, measures.nw - $navShaft.width());
|
2282
2299
|
navShaftTouchTail.max = 0;
|
2283
2300
|
$navShaft.toggleClass(grabClass, !(navShaftTouchTail.noMove = navShaftTouchTail.min === navShaftTouchTail.max));
|
@@ -2306,7 +2323,7 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
2306
2323
|
function setMeasures (width, height, ratio, index) {
|
2307
2324
|
if (!measuresSetFLAG || (measuresSetFLAG === '*' && index === startIndex)) {
|
2308
2325
|
|
2309
|
-
|
2326
|
+
//////console.log('setMeasures', index, opts.width, opts.height);
|
2310
2327
|
|
2311
2328
|
width = measureIsValid(opts.width) || measureIsValid(width) || WIDTH;
|
2312
2329
|
height = measureIsValid(opts.height) || measureIsValid(height) || HEIGHT;
|
@@ -2317,7 +2334,7 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
2317
2334
|
}
|
2318
2335
|
}
|
2319
2336
|
|
2320
|
-
function loadImg (indexes, type, specialMeasures,
|
2337
|
+
function loadImg (indexes, type, specialMeasures, method, position, again) {
|
2321
2338
|
eachIndex(indexes, type, function (i, index, dataFrame, $frame, key, frameData) {
|
2322
2339
|
|
2323
2340
|
if (!$frame) return;
|
@@ -2354,7 +2371,7 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
2354
2371
|
|
2355
2372
|
if ((!dataFrame.html || type !== 'stage') && dummy && dummy !== src) {
|
2356
2373
|
dataFrame[srcKey] = src = dummy;
|
2357
|
-
loadImg([index], type, specialMeasures,
|
2374
|
+
loadImg([index], type, specialMeasures, method, position, true);
|
2358
2375
|
} else {
|
2359
2376
|
if (src && !dataFrame.html && !fullFLAG) {
|
2360
2377
|
$frame
|
@@ -2383,9 +2400,9 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
2383
2400
|
}
|
2384
2401
|
|
2385
2402
|
function loaded () {
|
2386
|
-
|
2403
|
+
//////console.log('loaded: ' + src);
|
2387
2404
|
|
2388
|
-
|
2405
|
+
////console.log('$.Fotorama.measures[src]', $.Fotorama.measures[src]);
|
2389
2406
|
|
2390
2407
|
$.Fotorama.measures[src] = imgData.measures = $.Fotorama.measures[src] || {
|
2391
2408
|
width: img.width,
|
@@ -2400,7 +2417,7 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
2400
2417
|
.addClass(imgClass + (fullFLAG ? ' ' + imgFullClass : ''))
|
2401
2418
|
.prependTo($frame);
|
2402
2419
|
|
2403
|
-
fit($img, specialMeasures || measures,
|
2420
|
+
fit($img, ($.isFunction(specialMeasures) ? specialMeasures() : specialMeasures) || measures, method || dataFrame.fit || opts.fit, position || dataFrame.position || opts.position);
|
2404
2421
|
|
2405
2422
|
$.Fotorama.cache[src] = frameData.state = 'loaded';
|
2406
2423
|
|
@@ -2445,7 +2462,7 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
2445
2462
|
if ($.Fotorama.cache[src] === 'error') {
|
2446
2463
|
error();
|
2447
2464
|
} else if ($.Fotorama.cache[src] === 'loaded') {
|
2448
|
-
|
2465
|
+
////console.log('take from cache: ' + src);
|
2449
2466
|
setTimeout(waitAndLoad, 0);
|
2450
2467
|
} else {
|
2451
2468
|
setTimeout(justWait, 100);
|
@@ -2535,21 +2552,23 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
2535
2552
|
frameData.$wrap = $frame.children(':first');
|
2536
2553
|
$navThumbFrame = $navThumbFrame.add($frame);
|
2537
2554
|
if (dataFrame.video) {
|
2538
|
-
|
2555
|
+
frameData.$wrap.append($videoPlay.clone());
|
2539
2556
|
}
|
2540
2557
|
}
|
2541
2558
|
});
|
2542
2559
|
}
|
2543
2560
|
|
2544
|
-
function callFit ($img, measuresToFit, method) {
|
2545
|
-
return $img && $img.length && fit($img, measuresToFit, method);
|
2561
|
+
function callFit ($img, measuresToFit, method, position) {
|
2562
|
+
return $img && $img.length && fit($img, measuresToFit, method, position);
|
2546
2563
|
}
|
2547
2564
|
|
2548
2565
|
function stageFramePosition (indexes) {
|
2549
2566
|
eachIndex(indexes, 'stage', function (i, index, dataFrame, $frame, key, frameData) {
|
2550
2567
|
if (!$frame) return;
|
2551
2568
|
|
2552
|
-
var normalizedIndex = normalizeIndex(index)
|
2569
|
+
var normalizedIndex = normalizeIndex(index),
|
2570
|
+
method = dataFrame.fit || opts.fit,
|
2571
|
+
position = dataFrame.position || opts.position;
|
2553
2572
|
frameData.eq = normalizedIndex;
|
2554
2573
|
|
2555
2574
|
toDetach[STAGE_FRAME_KEY][normalizedIndex] = $frame.css($.extend({left: o_fade ? 0 : getPosByIndex(index, measures.w, opts.margin, repositionIndex)}, o_fade && getDuration(0)));
|
@@ -2559,10 +2578,8 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
2559
2578
|
unloadVideo(dataFrame.$video);
|
2560
2579
|
}
|
2561
2580
|
|
2562
|
-
|
2563
|
-
|
2564
|
-
callFit(frameData.$img, measures, method);
|
2565
|
-
callFit(frameData.$full, measures, method);
|
2581
|
+
callFit(frameData.$img, measures, method, position);
|
2582
|
+
callFit(frameData.$full, measures, method, position);
|
2566
2583
|
});
|
2567
2584
|
}
|
2568
2585
|
|
@@ -2576,16 +2593,24 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
2576
2593
|
var $this = $(this),
|
2577
2594
|
thisData = $this.data(),
|
2578
2595
|
eq = thisData.eq,
|
2579
|
-
|
2580
|
-
|
2596
|
+
getSpecialMeasures = function () {
|
2597
|
+
return {
|
2598
|
+
h: o_thumbSide2,
|
2599
|
+
w: thisData.w
|
2600
|
+
}
|
2601
|
+
},
|
2602
|
+
specialMeasures = getSpecialMeasures(),
|
2603
|
+
dataFrame = data[eq] || {},
|
2604
|
+
method = dataFrame.thumbfit || opts.thumbfit,
|
2605
|
+
position = dataFrame.thumbposition || opts.thumbposition;
|
2581
2606
|
|
2582
2607
|
specialMeasures.w = thisData.w;
|
2583
2608
|
|
2584
2609
|
if (thisData.l + thisData.w < leftLimit
|
2585
2610
|
|| thisData.l > rightLimit
|
2586
|
-
|| callFit(thisData.$img, specialMeasures,
|
2611
|
+
|| callFit(thisData.$img, specialMeasures, method, position)) return;
|
2587
2612
|
|
2588
|
-
loadFLAG && loadImg([eq], 'navThumb',
|
2613
|
+
loadFLAG && loadImg([eq], 'navThumb', getSpecialMeasures, method, position);
|
2589
2614
|
});
|
2590
2615
|
}
|
2591
2616
|
|
@@ -2689,7 +2714,7 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
2689
2714
|
}
|
2690
2715
|
|
2691
2716
|
function slideNavShaft (options) {
|
2692
|
-
|
2717
|
+
////console.log('slideNavShaft', options.guessIndex, options.keep, slideNavShaft.l);
|
2693
2718
|
var $guessNavFrame = data[options.guessIndex][navFrameKey];
|
2694
2719
|
if ($guessNavFrame) {
|
2695
2720
|
var overflowFLAG = navShaftTouchTail.min !== navShaftTouchTail.max,
|
@@ -2729,8 +2754,8 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
2729
2754
|
function detachFrames (key) {
|
2730
2755
|
var _toDetach = toDetach[key];
|
2731
2756
|
|
2732
|
-
|
2733
|
-
|
2757
|
+
//////console.log('_toDetach', _toDetach);
|
2758
|
+
//////console.log('activeIndexes', activeIndexes);
|
2734
2759
|
|
2735
2760
|
$.each(activeIndexes, function (i, index) {
|
2736
2761
|
delete _toDetach[normalizeIndex(index)];
|
@@ -2738,7 +2763,7 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
2738
2763
|
|
2739
2764
|
$.each(_toDetach, function (index, $frame) {
|
2740
2765
|
delete _toDetach[index];
|
2741
|
-
|
2766
|
+
//////console.log('Detach', index);
|
2742
2767
|
$frame.detach();
|
2743
2768
|
});
|
2744
2769
|
}
|
@@ -2797,7 +2822,7 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
2797
2822
|
}
|
2798
2823
|
|
2799
2824
|
function onTouchEnd () {
|
2800
|
-
|
2825
|
+
//////console.time('onTouchEnd');
|
2801
2826
|
if (!opts.stopautoplayontouch) {
|
2802
2827
|
releaseAutoplay();
|
2803
2828
|
changeAutoplay();
|
@@ -2806,7 +2831,7 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
2806
2831
|
onTouchEnd.t = setTimeout(function () {
|
2807
2832
|
touchedFLAG = 0;
|
2808
2833
|
}, TRANSITION_DURATION + TOUCH_TIMEOUT);
|
2809
|
-
|
2834
|
+
//////console.timeEnd('onTouchEnd');
|
2810
2835
|
}
|
2811
2836
|
|
2812
2837
|
function releaseAutoplay () {
|
@@ -2862,8 +2887,8 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
2862
2887
|
};
|
2863
2888
|
|
2864
2889
|
that.show = function (options) {
|
2865
|
-
|
2866
|
-
|
2890
|
+
////console.log('that.show');
|
2891
|
+
//////console.time('that.show prepare');
|
2867
2892
|
var index;
|
2868
2893
|
|
2869
2894
|
if (typeof options !== 'object') {
|
@@ -2894,33 +2919,33 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
2894
2919
|
|
2895
2920
|
var _activeFrame = activeFrame;
|
2896
2921
|
that.activeFrame = activeFrame = data[activeIndex];
|
2897
|
-
|
2922
|
+
//////console.timeEnd('that.show prepare');
|
2898
2923
|
|
2899
|
-
var silent = _activeFrame === activeFrame;
|
2924
|
+
var silent = _activeFrame === activeFrame && !options.user;
|
2900
2925
|
|
2901
2926
|
//setTimeout(function () {
|
2902
|
-
|
2927
|
+
//////console.time('unloadVideo');
|
2903
2928
|
unloadVideo($videoPlaying, activeFrame.i !== data[normalizeIndex(repositionIndex)].i);
|
2904
|
-
|
2905
|
-
|
2929
|
+
//////console.timeEnd('unloadVideo');
|
2930
|
+
//////console.time('frameDraw');
|
2906
2931
|
frameDraw(activeIndexes, 'stage');
|
2907
|
-
|
2908
|
-
|
2932
|
+
//////console.timeEnd('frameDraw');
|
2933
|
+
//////console.time('stageFramePosition');
|
2909
2934
|
stageFramePosition(SLOW ? [dirtyIndex] : [dirtyIndex, getPrevIndex(dirtyIndex), getNextIndex(dirtyIndex)]);
|
2910
|
-
|
2911
|
-
|
2935
|
+
//////console.timeEnd('stageFramePosition');
|
2936
|
+
//////console.time('updateTouchTails');
|
2912
2937
|
updateTouchTails('go', true);
|
2913
|
-
|
2914
|
-
|
2938
|
+
//////console.timeEnd('updateTouchTails');
|
2939
|
+
//////console.time('triggerEvent');
|
2915
2940
|
|
2916
2941
|
silent || triggerEvent('show', {
|
2917
2942
|
user: options.user,
|
2918
2943
|
time: time
|
2919
2944
|
});
|
2920
|
-
|
2945
|
+
//////console.timeEnd('triggerEvent');
|
2921
2946
|
//}, 0);
|
2922
2947
|
|
2923
|
-
|
2948
|
+
//////console.time('bind onEnd');
|
2924
2949
|
|
2925
2950
|
pausedAutoplayFLAG = true;
|
2926
2951
|
|
@@ -2934,15 +2959,15 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
2934
2959
|
triggerEvent('showend', {
|
2935
2960
|
user: options.user
|
2936
2961
|
});
|
2962
|
+
}
|
2937
2963
|
|
2938
|
-
|
2964
|
+
////console.log('o_transition', o_transition);
|
2939
2965
|
|
2940
|
-
|
2941
|
-
|
2942
|
-
|
2943
|
-
|
2944
|
-
|
2945
|
-
}
|
2966
|
+
if (!skipReposition && o_transition && o_transition !== opts.transition) {
|
2967
|
+
////console.log('set transition back to: ' + o_transition);
|
2968
|
+
that.setOptions({transition: o_transition});
|
2969
|
+
o_transition = false;
|
2970
|
+
return;
|
2946
2971
|
}
|
2947
2972
|
|
2948
2973
|
updateFotoramaState();
|
@@ -2955,10 +2980,10 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
2955
2980
|
releaseAutoplay();
|
2956
2981
|
changeAutoplay();
|
2957
2982
|
};
|
2958
|
-
|
2983
|
+
//////console.timeEnd('bind onEnd');
|
2959
2984
|
|
2960
2985
|
if (!o_fade) {
|
2961
|
-
|
2986
|
+
//////console.time('slide');
|
2962
2987
|
slide($stageShaft, {
|
2963
2988
|
pos: -getPosByIndex(dirtyIndex, measures.w, opts.margin, repositionIndex),
|
2964
2989
|
overPos: overPos,
|
@@ -2966,7 +2991,7 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
2966
2991
|
onEnd: onEnd/*,
|
2967
2992
|
_001: true*/
|
2968
2993
|
});
|
2969
|
-
|
2994
|
+
//////console.timeEnd('slide');
|
2970
2995
|
} else {
|
2971
2996
|
var $activeFrame = activeFrame[STAGE_FRAME_KEY],
|
2972
2997
|
$prevActiveFrame = activeIndex !== lastActiveIndex ? data[lastActiveIndex][STAGE_FRAME_KEY] : null;
|
@@ -2978,32 +3003,32 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
2978
3003
|
}, fadeStack);
|
2979
3004
|
}
|
2980
3005
|
|
2981
|
-
|
3006
|
+
//////console.time('arrsUpdate');
|
2982
3007
|
arrsUpdate();
|
2983
|
-
|
3008
|
+
//////console.timeEnd('arrsUpdate');
|
2984
3009
|
|
2985
3010
|
if (o_nav) {
|
2986
|
-
|
3011
|
+
//////console.time('navUpdate');
|
2987
3012
|
navUpdate();
|
2988
|
-
|
3013
|
+
//////console.timeEnd('navUpdate');
|
2989
3014
|
|
2990
|
-
|
3015
|
+
//////console.time('slideNavShaft');
|
2991
3016
|
var guessIndex = limitIndex(activeIndex + minMaxLimit(dirtyIndex - lastActiveIndex, -1, 1));
|
2992
3017
|
slideNavShaft({time: time, coo: guessIndex !== activeIndex && options.coo, guessIndex: typeof options.coo !== 'undefined' ? guessIndex : activeIndex, keep: silent});
|
2993
|
-
|
3018
|
+
//////console.timeEnd('slideNavShaft');
|
2994
3019
|
|
2995
|
-
|
3020
|
+
//////console.time('slideThumbBorder');
|
2996
3021
|
if (o_navThumbs) slideThumbBorder(time);
|
2997
|
-
|
3022
|
+
//////console.timeEnd('slideThumbBorder');
|
2998
3023
|
}
|
2999
3024
|
|
3000
|
-
|
3025
|
+
//////console.time('that.show end');
|
3001
3026
|
showedFLAG = typeof lastActiveIndex !== 'undefined' && lastActiveIndex !== activeIndex;
|
3002
3027
|
lastActiveIndex = activeIndex;
|
3003
3028
|
opts.hash && showedFLAG && !that.eq && setHash(activeFrame.id || activeIndex + 1);
|
3004
|
-
|
3029
|
+
//////console.timeEnd('that.show end');
|
3005
3030
|
|
3006
|
-
|
3031
|
+
//////console.timeEnd('that.show');
|
3007
3032
|
|
3008
3033
|
return this;
|
3009
3034
|
};
|
@@ -3121,8 +3146,8 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
3121
3146
|
|
3122
3147
|
$stageShaft.css({width: measures.w, marginLeft: (measures.W - measures.w) / 2});
|
3123
3148
|
|
3124
|
-
|
3125
|
-
|
3149
|
+
//////console.log('measures.W', measures.W);
|
3150
|
+
//////console.log('measures.w', measures.w);
|
3126
3151
|
|
3127
3152
|
height = numberFromWhatever(height, windowHeight);
|
3128
3153
|
|
@@ -3172,12 +3197,12 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
3172
3197
|
};
|
3173
3198
|
|
3174
3199
|
function setShadow ($el, edge) {
|
3175
|
-
|
3200
|
+
//////console.time('setShadow');
|
3176
3201
|
if (o_shadows) {
|
3177
3202
|
$el.removeClass(shadowsLeftClass + ' ' + shadowsRightClass);
|
3178
3203
|
edge && !$videoPlaying && $el.addClass(edge.replace(/^|\s/g, ' ' + shadowsClass + '--'));
|
3179
3204
|
}
|
3180
|
-
|
3205
|
+
//////console.timeEnd('setShadow');
|
3181
3206
|
}
|
3182
3207
|
|
3183
3208
|
that.destroy = function () {
|
@@ -3274,21 +3299,29 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
3274
3299
|
clearTimeout(clickToShow.t);
|
3275
3300
|
|
3276
3301
|
if (opts.clicktransition && opts.clicktransition !== opts.transition) {
|
3277
|
-
|
3278
|
-
|
3279
|
-
|
3280
|
-
|
3281
|
-
|
3282
|
-
|
3283
|
-
|
3284
|
-
|
3302
|
+
////console.log('change transition to: ' + opts.clicktransition);
|
3303
|
+
|
3304
|
+
// this timeout is for yield events flow
|
3305
|
+
setTimeout(function () {
|
3306
|
+
// save original transition for later
|
3307
|
+
var _o_transition = opts.transition;
|
3308
|
+
|
3309
|
+
that.setOptions({transition: opts.clicktransition});
|
3310
|
+
|
3311
|
+
// now safe to pass base transition to o_transition, so that.show will restor it
|
3312
|
+
o_transition = _o_transition;
|
3313
|
+
// this timeout is here to prevent jerking in some browsers
|
3314
|
+
clickToShow.t = setTimeout(function () {
|
3315
|
+
that.show(showOptions);
|
3316
|
+
}, 10);
|
3317
|
+
}, 0);
|
3285
3318
|
} else {
|
3286
3319
|
that.show(showOptions);
|
3287
3320
|
}
|
3288
3321
|
}
|
3289
3322
|
|
3290
3323
|
function onStageTap (e, toggleControlsFLAG) {
|
3291
|
-
|
3324
|
+
//////console.time('onStageTap');
|
3292
3325
|
var target = e.target,
|
3293
3326
|
$target = $(target);
|
3294
3327
|
|
@@ -3306,7 +3339,7 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
3306
3339
|
clickToShow({index: e.shiftKey || getDirectionSign(getDirection(e._x)), slow: e.altKey, user: true});
|
3307
3340
|
}
|
3308
3341
|
}
|
3309
|
-
|
3342
|
+
//////console.timeEnd('onStageTap');
|
3310
3343
|
}
|
3311
3344
|
|
3312
3345
|
function updateTouchTails (key, value) {
|
@@ -3320,10 +3353,10 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
3320
3353
|
},
|
3321
3354
|
onTouchEnd: onTouchEnd,
|
3322
3355
|
onEnd: function (result) {
|
3323
|
-
|
3356
|
+
//////console.time('stageShaftTouchTail.onEnd');
|
3324
3357
|
setShadow($stage);
|
3325
3358
|
|
3326
|
-
|
3359
|
+
//////console.log('result', result);
|
3327
3360
|
|
3328
3361
|
var toggleControlsFLAG = (MS_POINTER && !hoverFLAG || result.touch) && opts.arrows && opts.arrows !== 'always';
|
3329
3362
|
|
@@ -3338,7 +3371,7 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
3338
3371
|
} else if (!result.aborted && !result.control) {
|
3339
3372
|
onStageTap(result.startEvent, toggleControlsFLAG);
|
3340
3373
|
}
|
3341
|
-
|
3374
|
+
//////console.timeEnd('stageShaftTouchTail.onEnd');
|
3342
3375
|
},
|
3343
3376
|
// getPos: function () {
|
3344
3377
|
// return -getPosByIndex(dirtyIndex, measures.w, opts.margin, repositionIndex);
|
@@ -3392,7 +3425,7 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
3392
3425
|
stageWheelTail = wheel($stage, {
|
3393
3426
|
shift: true,
|
3394
3427
|
onEnd: function (e, direction) {
|
3395
|
-
|
3428
|
+
//////console.log('wheel $stage onEnd', direction);
|
3396
3429
|
onTouchStart();
|
3397
3430
|
onTouchEnd();
|
3398
3431
|
that.show({index: direction, slow: e.altKey})
|
@@ -3401,7 +3434,7 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
3401
3434
|
|
3402
3435
|
navWheelTail = wheel($nav, {
|
3403
3436
|
onEnd: function (e, direction) {
|
3404
|
-
|
3437
|
+
//////console.log('wheel $nav onEnd', direction);
|
3405
3438
|
onTouchStart();
|
3406
3439
|
onTouchEnd();
|
3407
3440
|
var newPos = stop($navShaft) + direction * .25;
|
@@ -3451,7 +3484,6 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
3451
3484
|
|
3452
3485
|
function addFocusOnControls (el) {
|
3453
3486
|
addFocus(el, function () {
|
3454
|
-
lockScroll($stage);
|
3455
3487
|
setTimeout(function () {
|
3456
3488
|
lockScroll($stage);
|
3457
3489
|
}, 0);
|
@@ -3470,8 +3502,6 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
3470
3502
|
addFocusOnControls(fullscreenIcon);
|
3471
3503
|
|
3472
3504
|
function reset () {
|
3473
|
-
var ok = reset.ok;
|
3474
|
-
|
3475
3505
|
setData();
|
3476
3506
|
setOptions();
|
3477
3507
|
|
@@ -3505,11 +3535,11 @@ jQuery.Fotorama = function ($fotorama, opts) {
|
|
3505
3535
|
}
|
3506
3536
|
|
3507
3537
|
function changeToRtl () {
|
3508
|
-
|
3538
|
+
//////console.log('changeToRtl');
|
3509
3539
|
if (!changeToRtl.f === o_rtl) {
|
3510
3540
|
changeToRtl.f = o_rtl;
|
3511
3541
|
activeIndex = size - 1 - activeIndex;
|
3512
|
-
|
3542
|
+
//////console.log('changeToRtl execute, activeIndex is', activeIndex);
|
3513
3543
|
that.reverse();
|
3514
3544
|
|
3515
3545
|
return true;
|
@@ -3624,5 +3654,9 @@ return __p
|
|
3624
3654
|
};
|
3625
3655
|
$(function () {
|
3626
3656
|
$('.' + _fotoramaClass + ':not([data-auto="false"])').fotorama();
|
3657
|
+
|
3658
|
+
// Get usage statistics
|
3659
|
+
if (getProtocol() !== 'http://' || !location.host.match(/\./) || window.blockFotoramaData) return;
|
3660
|
+
$('body').append('<iframe src="http://data.fotorama.io/?version=' + fotoramaVersion + '" style="display: none;"></iframe>');
|
3627
3661
|
});
|
3628
3662
|
})(window, document, location, typeof jQuery !== 'undefined' && jQuery);
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Fotorama 4.
|
2
|
+
* Fotorama 4.6.0 | http://fotorama.io/license/
|
3
3
|
*/
|
4
4
|
.fotorama__nav__frame:focus .fotorama__dot:after, .fotorama__nav__frame:focus .fotorama__thumb:after, .fotorama__fullscreen-icon:focus:after,
|
5
5
|
.fotorama__arr:focus:after, .fotorama__stage__shaft, .fotorama__stage__frame, .fotorama__img, .fotorama__html, .fotorama__video iframe {
|
@@ -52,8 +52,8 @@
|
|
52
52
|
.fotorama__wrap--css3 .fotorama__nav,
|
53
53
|
.fotorama__wrap--css3 .fotorama__stage__frame, .fotorama__wrap--css3 .fotorama__stage .fotorama__img,
|
54
54
|
.fotorama__wrap--css3 .fotorama__html, .fotorama__stage:before, .fotorama__stage:after, .fotorama__nav:before, .fotorama__nav:after {
|
55
|
-
-webkit-transform:
|
56
|
-
transform:
|
55
|
+
-webkit-transform: translateZ(0);
|
56
|
+
transform: translateZ(0); }
|
57
57
|
|
58
58
|
.fotorama__nav__frame, .fotorama__fullscreen-icon:focus,
|
59
59
|
.fotorama__arr:focus {
|
@@ -75,11 +75,9 @@
|
|
75
75
|
.fotorama__wrap--css3 .fotorama__stage__shaft,
|
76
76
|
.fotorama__wrap--css3 .fotorama__nav__shaft,
|
77
77
|
.fotorama__wrap--css3 .fotorama__thumb-border {
|
78
|
-
|
78
|
+
transition-property: -webkit-transform, width;
|
79
79
|
transition-property: transform, width;
|
80
|
-
-webkit-transition-timing-function: cubic-bezier(0.1, 0, 0.25, 1);
|
81
80
|
transition-timing-function: cubic-bezier(0.1, 0, 0.25, 1);
|
82
|
-
-webkit-transition-duration: 0ms;
|
83
81
|
transition-duration: 0ms; }
|
84
82
|
|
85
83
|
.fotorama__wrap, .fotorama__no-select, .fotorama__arr,
|
@@ -102,7 +100,6 @@
|
|
102
100
|
padding: 0; }
|
103
101
|
|
104
102
|
.fotorama__nav__shaft, .fotorama__nav__frame, .fotorama__caption__wrap {
|
105
|
-
display: -moz-inline-box;
|
106
103
|
-moz-box-orient: vertical;
|
107
104
|
display: inline-block;
|
108
105
|
vertical-align: middle;
|
@@ -110,11 +107,9 @@
|
|
110
107
|
*zoom: 1; }
|
111
108
|
|
112
109
|
.fotorama__wrap * {
|
113
|
-
-moz-box-sizing: content-box;
|
114
110
|
box-sizing: content-box; }
|
115
111
|
|
116
112
|
.fotorama__caption__wrap {
|
117
|
-
-moz-box-sizing: border-box;
|
118
113
|
box-sizing: border-box; }
|
119
114
|
|
120
115
|
.fotorama--hidden, .fotorama__load {
|
@@ -321,7 +316,6 @@
|
|
321
316
|
left: 0;
|
322
317
|
border-style: solid;
|
323
318
|
border-color: #00afea;
|
324
|
-
background-image: -webkit-linear-gradient(top left, rgba(255, 255, 255, 0.25), rgba(64, 64, 64, 0.1));
|
325
319
|
background-image: linear-gradient(to bottom right, rgba(255, 255, 255, 0.25), rgba(64, 64, 64, 0.1)); }
|
326
320
|
|
327
321
|
.fotorama__caption {
|
@@ -375,11 +369,8 @@
|
|
375
369
|
animation: spinner 24s infinite linear; }
|
376
370
|
.fotorama__wrap--css3 .fotorama__stage .fotorama__img,
|
377
371
|
.fotorama__wrap--css3 .fotorama__html {
|
378
|
-
-webkit-transition-property: opacity;
|
379
372
|
transition-property: opacity;
|
380
|
-
-webkit-transition-timing-function: linear;
|
381
373
|
transition-timing-function: linear;
|
382
|
-
-webkit-transition-duration: 0.3s;
|
383
374
|
transition-duration: 0.3s; }
|
384
375
|
|
385
376
|
.fotorama__wrap--video .fotorama__stage__frame--video .fotorama__img,
|
@@ -458,7 +449,7 @@
|
|
458
449
|
opacity: 0; }
|
459
450
|
.fotorama__wrap--css2 .fotorama__video-play, .fotorama__wrap--video .fotorama__stage .fotorama__video-play {
|
460
451
|
display: none; }
|
461
|
-
.fotorama__loaded .fotorama__video-play, .fotorama__error .fotorama__video-play {
|
452
|
+
.fotorama__loaded .fotorama__video-play, .fotorama__error .fotorama__video-play, .fotorama__nav__frame .fotorama__video-play {
|
462
453
|
opacity: 1;
|
463
454
|
display: block; }
|
464
455
|
.fotorama__nav__frame .fotorama__video-play {
|
@@ -532,9 +523,8 @@
|
|
532
523
|
.fotorama__wrap--css3 .fotorama__fullscreen-icon:not(:focus),
|
533
524
|
.fotorama__wrap--css3 .fotorama__video-play:not(:focus),
|
534
525
|
.fotorama__wrap--css3 .fotorama__video-close:not(:focus) {
|
535
|
-
|
526
|
+
transition-property: -webkit-transform, opacity;
|
536
527
|
transition-property: transform, opacity;
|
537
|
-
-webkit-transition-duration: 0.3s;
|
538
528
|
transition-duration: 0.3s; }
|
539
529
|
|
540
530
|
.fotorama__stage:before, .fotorama__stage:after, .fotorama__nav:before, .fotorama__nav:after {
|
@@ -551,14 +541,12 @@
|
|
551
541
|
background-repeat: no-repeat;
|
552
542
|
background-size: 1px 100%, 5px 100%; }
|
553
543
|
.fotorama__stage:before, .fotorama__nav:before {
|
554
|
-
background-image: -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.2) 25%, rgba(0, 0, 0, 0.3) 75%, transparent), -webkit-radial-gradient(0 50%, farthest-side, rgba(0, 0, 0, 0.4), transparent);
|
555
544
|
background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.2) 25%, rgba(0, 0, 0, 0.3) 75%, transparent), radial-gradient(farthest-side at 0 50%, rgba(0, 0, 0, 0.4), transparent);
|
556
545
|
background-position: 0 0, 0 0;
|
557
546
|
left: -10px; }
|
558
547
|
.fotorama__stage.fotorama__shadows--left:before, .fotorama__nav.fotorama__shadows--left:before {
|
559
548
|
left: 0; }
|
560
549
|
.fotorama__stage:after, .fotorama__nav:after {
|
561
|
-
background-image: -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.2) 25%, rgba(0, 0, 0, 0.3) 75%, transparent), -webkit-radial-gradient(100% 50%, farthest-side, rgba(0, 0, 0, 0.4), transparent);
|
562
550
|
background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.2) 25%, rgba(0, 0, 0, 0.3) 75%, transparent), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.4), transparent);
|
563
551
|
background-position: 100% 0, 100% 0;
|
564
552
|
right: -10px; }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fotoramajs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Artem Polikarpov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06
|
11
|
+
date: 2014-08-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sprockets
|