slick_rails 1.3.13 → 1.3.14

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 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