slick_rails 1.3.13 → 1.3.14

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1e291662e2aeecbf7be4ffcaf0b69c467b4be96f
4
- data.tar.gz: 4b6d851d3adfdfe67d59cbaba248e66deb353b81
3
+ metadata.gz: c6aa41441c4611ea9e2afb7bbf6445e7fbf60778
4
+ data.tar.gz: 8192ac4c978ac0d36ab17ae43183ca272d848a14
5
5
  SHA512:
6
- metadata.gz: 9a5f54b68a67acdba004abae29d06f8fd82fd4ec77b55232e72ceb310605028c98325e49cb99d95a690352ff6c4a4cc2536f8ed538eaa150b8d249f3d52ffefc
7
- data.tar.gz: 64d1db4d511fe1be77a53a07c5d390268491ba6e240dd5feb1125c85f2ea01e48081842a2dfbba1eed88eb79ae37b7cb7f7dce1dcefbe8339f88b892f8c6c495
6
+ metadata.gz: e33ebdc9e22cf6adf165bb8543b0a79eb2a22128288c07024547dc0f341d76bea229038deca2dff2952570ef8606f7efe1f3caa4ef8285f4fd64c140d0df3816
7
+ data.tar.gz: 662b4c98e0e8500c0d50d8a13ffcdb7cc7d3e87fb2713b4504ac316bcc58cbaa8bee670fe9bfdd74233c9b4f88093a1ed3403424ae45a827fcd602b582b7f3e0
@@ -6,7 +6,7 @@
6
6
  |___/_|_|\___|_|\_(_)/ |___/
7
7
  |__/
8
8
 
9
- Version: 1.3.13
9
+ Version: 1.3.14
10
10
  Author: Ken Wheeler
11
11
  Website: http://kenwheeler.github.io
12
12
  Docs: http://kenwheeler.github.io/slick
@@ -70,14 +70,16 @@
70
70
  onAfterChange: null,
71
71
  onInit: null,
72
72
  onReInit: null,
73
+ onSetPosition: null,
73
74
  pauseOnHover: true,
74
75
  pauseOnDotsHover: false,
76
+ respondTo: 'window',
75
77
  responsive: null,
76
78
  rtl: false,
77
79
  slide: 'div',
78
80
  slidesToShow: 1,
79
81
  slidesToScroll: 1,
80
- speed: 300,
82
+ speed: 500,
81
83
  swipe: true,
82
84
  swipeToSlide: false,
83
85
  touchMove: true,
@@ -124,6 +126,7 @@
124
126
  _.cssTransitions = false;
125
127
  _.paused = false;
126
128
  _.positionProp = null;
129
+ _.respondTo = null;
127
130
  _.shouldClick = true;
128
131
  _.$slider = $(element);
129
132
  _.$slidesCache = null;
@@ -140,6 +143,7 @@
140
143
  responsiveSettings = _.options.responsive || null;
141
144
 
142
145
  if (responsiveSettings && responsiveSettings.length > -1) {
146
+ _.respondTo = _.options.respondTo || "window";
143
147
  for (breakpoint in responsiveSettings) {
144
148
  if (responsiveSettings.hasOwnProperty(breakpoint)) {
145
149
  _.breakpoints.push(responsiveSettings[
@@ -157,6 +161,7 @@
157
161
  _.autoPlay = $.proxy(_.autoPlay, _);
158
162
  _.autoPlayClear = $.proxy(_.autoPlayClear, _);
159
163
  _.changeSlide = $.proxy(_.changeSlide, _);
164
+ _.clickHandler = $.proxy(_.clickHandler, _);
160
165
  _.selectHandler = $.proxy(_.selectHandler, _);
161
166
  _.setPosition = $.proxy(_.setPosition, _);
162
167
  _.swipeHandler = $.proxy(_.swipeHandler, _);
@@ -173,6 +178,8 @@
173
178
 
174
179
  _.init();
175
180
 
181
+ _.checkResponsive();
182
+
176
183
  }
177
184
 
178
185
  return Slick;
@@ -462,7 +469,6 @@
462
469
 
463
470
  if (_.options.centerMode === true) {
464
471
  _.options.slidesToScroll = 1;
465
- _.options.slidesToShow = 3;
466
472
  }
467
473
 
468
474
  $('img[data-lazy]', _.$slider).not('[src]').addClass('slick-loading');
@@ -490,7 +496,16 @@
490
496
  Slick.prototype.checkResponsive = function() {
491
497
 
492
498
  var _ = this,
493
- breakpoint, targetBreakpoint;
499
+ breakpoint, targetBreakpoint, respondToWidth;
500
+ var sliderWidth = _.$slider.width();
501
+ var windowWidth = window.innerWidth || $(window).width();
502
+ if (_.respondTo === "window") {
503
+ respondToWidth = windowWidth;
504
+ } else if (_.respondTo === "slider") {
505
+ respondToWidth = sliderWidth;
506
+ } else if (_.respondTo === "min") {
507
+ respondToWidth = Math.min(windowWidth, sliderWidth);
508
+ }
494
509
 
495
510
  if (_.originalSettings.responsive && _.originalSettings
496
511
  .responsive.length > -1 && _.originalSettings.responsive !== null) {
@@ -499,10 +514,8 @@
499
514
 
500
515
  for (breakpoint in _.breakpoints) {
501
516
  if (_.breakpoints.hasOwnProperty(breakpoint)) {
502
- if ($(window).width() < _.breakpoints[
503
- breakpoint]) {
504
- targetBreakpoint = _.breakpoints[
505
- breakpoint];
517
+ if (respondToWidth < _.breakpoints[breakpoint]) {
518
+ targetBreakpoint = _.breakpoints[breakpoint];
506
519
  }
507
520
  }
508
521
  }
@@ -536,11 +549,11 @@
536
549
 
537
550
  };
538
551
 
539
- Slick.prototype.changeSlide = function(event) {
552
+ Slick.prototype.changeSlide = function(event, dontAnimate) {
540
553
 
541
554
  var _ = this,
542
555
  $target = $(event.target),
543
- indexOffset, slideOffset, unevenOffset;
556
+ indexOffset, slideOffset, unevenOffset,navigables, prevNavigable;
544
557
 
545
558
  // If target is a link, prevent default action.
546
559
  $target.is('a') && event.preventDefault();
@@ -553,24 +566,40 @@
553
566
  case 'previous':
554
567
  slideOffset = indexOffset === 0 ? _.options.slidesToScroll : _.options.slidesToShow - indexOffset;
555
568
  if (_.slideCount > _.options.slidesToShow) {
556
- _.slideHandler(_.currentSlide - slideOffset);
569
+ _.slideHandler(_.currentSlide - slideOffset, false, dontAnimate);
557
570
  }
558
571
  break;
559
572
 
560
573
  case 'next':
561
574
  slideOffset = indexOffset === 0 ? _.options.slidesToScroll : indexOffset;
562
575
  if (_.slideCount > _.options.slidesToShow) {
563
- _.slideHandler(_.currentSlide + slideOffset);
576
+ _.slideHandler(_.currentSlide + slideOffset, false, dontAnimate);
564
577
  }
565
578
  break;
566
579
 
567
580
  case 'index':
568
581
  var index = event.data.index === 0 ? 0 :
569
582
  event.data.index || $(event.target).parent().index() * _.options.slidesToScroll;
570
- _.slideHandler(index);
583
+
584
+ navigables = _.getNavigableIndexes();
585
+ prevNavigable = 0;
586
+ if(navigables.indexOf(index) === -1) {
587
+ if(index > navigables[navigables.length -1]){
588
+ index = navigables[navigables.length -1];
589
+ } else {
590
+ for(var n in navigables) {
591
+ if(index < navigables[n]) {
592
+ index = prevNavigable;
593
+ break;
594
+ }
595
+ prevNavigable = navigables[n];
596
+ }
597
+ }
598
+ }
599
+ _.slideHandler(index, false, dontAnimate);
571
600
 
572
601
  default:
573
- return false;
602
+ return;
574
603
  }
575
604
 
576
605
  };
@@ -721,7 +750,21 @@
721
750
 
722
751
  var _ = this;
723
752
 
724
- return Math.ceil(_.slideCount / _.options.slidesToScroll) - 1;
753
+ var breakPoint = 0;
754
+ var counter = 0;
755
+ var pagerQty = 0;
756
+
757
+ if(_.options.infinite === true) {
758
+ pagerQty = Math.ceil(_.slideCount / _.options.slidesToScroll);
759
+ } else {
760
+ while (breakPoint < _.slideCount){
761
+ ++pagerQty;
762
+ breakPoint = counter + _.options.slidesToShow;
763
+ counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
764
+ }
765
+ }
766
+
767
+ return pagerQty - 1;
725
768
 
726
769
  };
727
770
 
@@ -744,8 +787,13 @@
744
787
  }
745
788
  if (_.slideCount % _.options.slidesToScroll !== 0) {
746
789
  if (slideIndex + _.options.slidesToScroll > _.slideCount && _.slideCount > _.options.slidesToShow) {
747
- _.slideOffset = ((_.slideCount % _.options.slidesToShow) * _.slideWidth) * -1;
748
- verticalOffset = ((_.slideCount % _.options.slidesToShow) * verticalHeight) * -1;
790
+ if(slideIndex > _.slideCount) {
791
+ _.slideOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * _.slideWidth) * -1;
792
+ verticalOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * verticalHeight) * -1;
793
+ } else {
794
+ _.slideOffset = ((_.slideCount % _.options.slidesToScroll) * _.slideWidth) * -1;
795
+ verticalOffset = ((_.slideCount % _.options.slidesToScroll) * verticalHeight) * -1;
796
+ }
749
797
  }
750
798
  }
751
799
  } else {
@@ -792,10 +840,30 @@
792
840
  }
793
841
  }
794
842
 
843
+ // 1680
844
+
795
845
  return targetLeft;
796
846
 
797
847
  };
798
848
 
849
+ Slick.prototype.getNavigableIndexes = function() {
850
+
851
+ var _ = this;
852
+
853
+ var breakPoint = 0;
854
+ var counter = 0;
855
+ var indexes = [];
856
+
857
+ while (breakPoint < _.slideCount){
858
+ indexes.push(breakPoint);
859
+ breakPoint = counter + _.options.slidesToScroll;
860
+ counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
861
+ }
862
+
863
+ return indexes;
864
+
865
+ };
866
+
799
867
  Slick.prototype.getSlideCount = function() {
800
868
 
801
869
  var _ = this, slidesTraversed;
@@ -828,7 +896,8 @@
828
896
  _.startLoad();
829
897
  _.loadSlider();
830
898
  _.initializeEvents();
831
- _.checkResponsive();
899
+ _.updateArrows();
900
+ _.updateDots();
832
901
  }
833
902
 
834
903
  if (_.options.onInit !== null) {
@@ -897,7 +966,7 @@
897
966
  action: 'end'
898
967
  }, _.swipeHandler);
899
968
 
900
- _.$list.on('click.slick', _.clickHandler.bind(this));
969
+ _.$list.on('click.slick', _.clickHandler);
901
970
 
902
971
  if (_.options.pauseOnHover === true && _.options.autoplay === true) {
903
972
  _.$list.on('mouseenter.slick', function(){
@@ -970,13 +1039,13 @@
970
1039
 
971
1040
  var _ = this;
972
1041
 
973
- if (event.keyCode === 37) {
1042
+ if (event.keyCode === 37 && _.options.accessibility === true) {
974
1043
  _.changeSlide({
975
1044
  data: {
976
1045
  message: 'previous'
977
1046
  }
978
1047
  });
979
- } else if (event.keyCode === 39) {
1048
+ } else if (event.keyCode === 39 && _.options.accessibility === true) {
980
1049
  _.changeSlide({
981
1050
  data: {
982
1051
  message: 'next'
@@ -1084,7 +1153,7 @@
1084
1153
  var _ = this,
1085
1154
  imgCount, targetImage;
1086
1155
 
1087
- imgCount = $('img[data-lazy]').length;
1156
+ imgCount = $('img[data-lazy]', _.$slider).length;
1088
1157
 
1089
1158
  if (imgCount > 0) {
1090
1159
  targetImage = $('img[data-lazy]', _.$slider).first();
@@ -1109,9 +1178,15 @@
1109
1178
 
1110
1179
  $.extend(_, _.initials);
1111
1180
 
1112
- _.currentSlide = currentSlide;
1113
1181
  _.init();
1114
1182
 
1183
+ _.changeSlide({
1184
+ data: {
1185
+ message: 'index',
1186
+ index: currentSlide,
1187
+ }
1188
+ }, true);
1189
+
1115
1190
  };
1116
1191
 
1117
1192
  Slick.prototype.reinit = function() {
@@ -1161,7 +1236,7 @@
1161
1236
 
1162
1237
  };
1163
1238
 
1164
- Slick.prototype.removeSlide = function(index, removeBefore) {
1239
+ Slick.prototype.removeSlide = function(index, removeBefore, removeAll) {
1165
1240
 
1166
1241
  var _ = this;
1167
1242
 
@@ -1178,7 +1253,11 @@
1178
1253
 
1179
1254
  _.unload();
1180
1255
 
1181
- _.$slideTrack.children(this.options.slide).eq(index).remove();
1256
+ if(removeAll === true) {
1257
+ _.$slideTrack.children().remove();
1258
+ } else {
1259
+ _.$slideTrack.children(this.options.slide).eq(index).remove();
1260
+ }
1182
1261
 
1183
1262
  _.$slides = _.$slideTrack.children(this.options.slide);
1184
1263
 
@@ -1322,6 +1401,10 @@
1322
1401
  _.setFade();
1323
1402
  }
1324
1403
 
1404
+ if (_.options.onSetPosition !== null) {
1405
+ _.options.onSetPosition.call(this, _);
1406
+ }
1407
+
1325
1408
  };
1326
1409
 
1327
1410
  Slick.prototype.setProps = function() {
@@ -1498,7 +1581,7 @@
1498
1581
 
1499
1582
  };
1500
1583
 
1501
- Slick.prototype.slideHandler = function(index,sync) {
1584
+ Slick.prototype.slideHandler = function(index,sync,dontAnimate) {
1502
1585
 
1503
1586
  var targetSlide, animSlide, oldSlide, slideLeft, unevenOffset, targetLeft = null,
1504
1587
  _ = this;
@@ -1525,24 +1608,30 @@
1525
1608
  targetLeft = _.getLeft(targetSlide);
1526
1609
  slideLeft = _.getLeft(_.currentSlide);
1527
1610
 
1528
- unevenOffset = _.options.slidesToScroll === 1 ? 0 : _.options.slidesToShow - (Math.round(_.slideCount / _.options.slidesToScroll));
1529
-
1530
1611
  _.currentLeft = _.swipeLeft === null ? slideLeft : _.swipeLeft;
1531
1612
 
1532
- if (_.options.infinite === false && _.options.centerMode === false && (index < 0 || index > _.slideCount - _.options.slidesToShow + unevenOffset)) {
1613
+ if (_.options.infinite === false && _.options.centerMode === false && (index < 0 || index > _.getDotCount() * _.options.slidesToScroll)) {
1533
1614
  if(_.options.fade === false) {
1534
1615
  targetSlide = _.currentSlide;
1535
- _.animateSlide(slideLeft, function() {
1616
+ if(dontAnimate!==true) {
1617
+ _.animateSlide(slideLeft, function() {
1618
+ _.postSlide(targetSlide);
1619
+ });
1620
+ } else {
1536
1621
  _.postSlide(targetSlide);
1537
- });
1622
+ }
1538
1623
  }
1539
1624
  return;
1540
1625
  } else if (_.options.infinite === false && _.options.centerMode === true && (index < 0 || index > (_.slideCount - _.options.slidesToScroll))) {
1541
1626
  if(_.options.fade === false) {
1542
1627
  targetSlide = _.currentSlide;
1543
- _.animateSlide(slideLeft, function() {
1628
+ if(dontAnimate!==true) {
1629
+ _.animateSlide(slideLeft, function() {
1630
+ _.postSlide(targetSlide);
1631
+ });
1632
+ } else {
1544
1633
  _.postSlide(targetSlide);
1545
- });
1634
+ }
1546
1635
  }
1547
1636
  return;
1548
1637
  }
@@ -1582,15 +1671,23 @@
1582
1671
  _.updateArrows();
1583
1672
 
1584
1673
  if (_.options.fade === true) {
1585
- _.fadeSlide(oldSlide,animSlide, function() {
1674
+ if(dontAnimate!==true) {
1675
+ _.fadeSlide(oldSlide,animSlide, function() {
1676
+ _.postSlide(animSlide);
1677
+ });
1678
+ } else {
1586
1679
  _.postSlide(animSlide);
1587
- });
1680
+ }
1588
1681
  return;
1589
1682
  }
1590
1683
 
1591
- _.animateSlide(targetLeft, function() {
1684
+ if(dontAnimate!==true) {
1685
+ _.animateSlide(targetLeft, function() {
1686
+ _.postSlide(animSlide);
1687
+ });
1688
+ } else {
1592
1689
  _.postSlide(animSlide);
1593
- });
1690
+ }
1594
1691
 
1595
1692
  };
1596
1693
 
@@ -1629,13 +1726,13 @@
1629
1726
  }
1630
1727
 
1631
1728
  if ((swipeAngle <= 45) && (swipeAngle >= 0)) {
1632
- return 'left';
1729
+ return (_.options.rtl === false ? 'left' : 'right');
1633
1730
  }
1634
1731
  if ((swipeAngle <= 360) && (swipeAngle >= 315)) {
1635
- return 'left';
1732
+ return (_.options.rtl === false ? 'left' : 'right');
1636
1733
  }
1637
1734
  if ((swipeAngle >= 135) && (swipeAngle <= 225)) {
1638
- return 'right';
1735
+ return (_.options.rtl === false ? 'right' : 'left');
1639
1736
  }
1640
1737
 
1641
1738
  return 'vertical';
@@ -1741,7 +1838,7 @@
1741
1838
  event.preventDefault();
1742
1839
  }
1743
1840
 
1744
- positionOffset = _.touchObject.curX > _.touchObject.startX ? 1 : -1;
1841
+ positionOffset = (_.options.rtl === false ? 1 : -1) * (_.touchObject.curX > _.touchObject.startX ? 1 : -1);
1745
1842
 
1746
1843
  if (_.options.vertical === false) {
1747
1844
  _.swipeLeft = curLeft + _.touchObject.swipeLength * positionOffset;
@@ -1890,7 +1987,7 @@
1890
1987
  });
1891
1988
  };
1892
1989
 
1893
- $.fn.slickGoTo = function(slide) {
1990
+ $.fn.slickGoTo = function(slide, dontAnimate) {
1894
1991
  var _ = this;
1895
1992
  return _.each(function(index, element) {
1896
1993
 
@@ -1899,7 +1996,7 @@
1899
1996
  message: 'index',
1900
1997
  index: parseInt(slide)
1901
1998
  }
1902
- });
1999
+ }, dontAnimate);
1903
2000
 
1904
2001
  });
1905
2002
  };
@@ -1959,6 +2056,15 @@
1959
2056
  });
1960
2057
  };
1961
2058
 
2059
+ $.fn.slickRemoveAll = function() {
2060
+ var _ = this;
2061
+ return _.each(function(index, element) {
2062
+
2063
+ element.slick.removeSlide(null, null, true);
2064
+
2065
+ });
2066
+ };
2067
+
1962
2068
  $.fn.slickGetOption = function(option) {
1963
2069
  var _ = this;
1964
2070
  return _.get(0).slick.options[option];
@@ -1,3 +1,3 @@
1
1
  module SlickRails
2
- VERSION = "1.3.13"
2
+ VERSION = "1.3.14"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slick_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.13
4
+ version: 1.3.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Guy Israeli
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-29 00:00:00.000000000 Z
11
+ date: 2014-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler