kaerus-component-slideshow 0.1.2 → 0.1.3
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 08e035c2de90c36a6a9910bedba72c8fa2296b49
|
4
|
+
data.tar.gz: 0e4004a25723a2b16e2f4d3c221ff215e22aa67b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 566a9c37500beca3b09bb9857248e80bf2e86170751c606f7942a846c17616f24a08a6d50b3e96b9bb418724615a76a4e508e995d7d0f1a05f0d33ec9398a656
|
7
|
+
data.tar.gz: 31a8db638eeb98a67eea1a26f76d2399535f29d019612d387b0a1bbc87f1eb98e199d10a5a35dea9716e63835b65748aec255b7a6275f54ef6d98f795c53de4b
|
@@ -200,6 +200,129 @@ require.relative = function(parent) {
|
|
200
200
|
|
201
201
|
return localRequire;
|
202
202
|
};
|
203
|
+
require.register("kaerus-component-emitter/index.js", function(exports, require, module){
|
204
|
+
// Emitter /////////////////////////////////////////////////////////////////////////////
|
205
|
+
function Emitter(obj) {
|
206
|
+
/* Emitter mixin */
|
207
|
+
if(obj) {
|
208
|
+
for(var key in Emitter.prototype) {
|
209
|
+
obj[key] = Emitter.prototype[key];
|
210
|
+
}
|
211
|
+
obj._events = {};
|
212
|
+
return obj;
|
213
|
+
}
|
214
|
+
|
215
|
+
if(!(this instanceof Emitter)) {
|
216
|
+
return new Emitter;
|
217
|
+
}
|
218
|
+
|
219
|
+
this._events = {};
|
220
|
+
}
|
221
|
+
|
222
|
+
Emitter.prototype.listeners = function(event) {
|
223
|
+
var handlers = this._events[event];
|
224
|
+
|
225
|
+
if(!handlers) return [];
|
226
|
+
|
227
|
+
return handlers.filter(function(f){return f !==before && f !==after});
|
228
|
+
}
|
229
|
+
|
230
|
+
Emitter.prototype.hasListeners = function(event) {
|
231
|
+
return this.listeners(event).length > 0;
|
232
|
+
}
|
233
|
+
|
234
|
+
Emitter.prototype.hasHandler = function(event,handler) {
|
235
|
+
return this.listeners(event).filter(function(f) {
|
236
|
+
return (f._of || f) !== handler;
|
237
|
+
}).length > 0;
|
238
|
+
|
239
|
+
return false;
|
240
|
+
}
|
241
|
+
|
242
|
+
function before(){};
|
243
|
+
function after(){};
|
244
|
+
|
245
|
+
Emitter.prototype.on = function(event,handler,first) {
|
246
|
+
var events = this._events[event];
|
247
|
+
|
248
|
+
if(!events) events = this._events[event] = [before,after];
|
249
|
+
|
250
|
+
if(first === true) events.splice(events.indexOf(before),0,handler);
|
251
|
+
else if(first === undefined) events.splice(events.indexOf(after),0,handler);
|
252
|
+
else events[events.length] = handler;
|
253
|
+
|
254
|
+
return this;
|
255
|
+
}
|
256
|
+
|
257
|
+
Emitter.prototype.before = function(event,handler) {
|
258
|
+
return this.on(event,handler,true);
|
259
|
+
}
|
260
|
+
|
261
|
+
Emitter.prototype.after = function(event,handler) {
|
262
|
+
return this.on(event,handler,false);
|
263
|
+
}
|
264
|
+
|
265
|
+
Emitter.prototype.off = function(event,handler) {
|
266
|
+
var listeners;
|
267
|
+
|
268
|
+
if(!arguments.length) {
|
269
|
+
this._events = {};
|
270
|
+
}
|
271
|
+
else {
|
272
|
+
if(!handler) {
|
273
|
+
this._events[event] = null;
|
274
|
+
} else if(this.hasListeners(event)){
|
275
|
+
this._events[event] = this._events[event].filter(function(f){
|
276
|
+
return (f._of ? f._of : f) !== handler;
|
277
|
+
});
|
278
|
+
}
|
279
|
+
}
|
280
|
+
|
281
|
+
return this;
|
282
|
+
}
|
283
|
+
|
284
|
+
Emitter.prototype.emit = function(event) {
|
285
|
+
var context, handler, args;
|
286
|
+
|
287
|
+
if(typeof event === 'object') {
|
288
|
+
context = event;
|
289
|
+
event = arguments[1];
|
290
|
+
}
|
291
|
+
|
292
|
+
args = Array.prototype.slice.call(arguments, (context ? 2 : 1));
|
293
|
+
|
294
|
+
handler = this.listeners(event);
|
295
|
+
|
296
|
+
context = context ? context : this;
|
297
|
+
|
298
|
+
for(var i = 0, l = handler.length; i < l; i++){
|
299
|
+
console.log("emit handler for", event);
|
300
|
+
if(handler[i].apply(context,args) === false) break;
|
301
|
+
}
|
302
|
+
|
303
|
+
return this;
|
304
|
+
}
|
305
|
+
|
306
|
+
Emitter.prototype.once = function(event,handler) {
|
307
|
+
var self = this;
|
308
|
+
|
309
|
+
function once() {
|
310
|
+
console.log("calling once", handler.toString());
|
311
|
+
self.off(event, handler);
|
312
|
+
handler.apply(this, arguments);
|
313
|
+
}
|
314
|
+
|
315
|
+
console.log("only once", event);
|
316
|
+
this.on(event, once);
|
317
|
+
|
318
|
+
once._of = handler;
|
319
|
+
|
320
|
+
return this;
|
321
|
+
}
|
322
|
+
|
323
|
+
module.exports = Emitter;
|
324
|
+
|
325
|
+
});
|
203
326
|
require.register("kaerus-component-carousel/index.js", function(exports, require, module){
|
204
327
|
// CAROUSEL ////////////////////////////////////////////////////////
|
205
328
|
/* element class mappings */
|
@@ -433,170 +556,78 @@ Carousel.prototype.resume = function(skipPauseInterval){
|
|
433
556
|
|
434
557
|
module.exports = Carousel;
|
435
558
|
});
|
436
|
-
require.register("
|
437
|
-
// Emitter /////////////////////////////////////////////////////////////////////////////
|
438
|
-
function Emitter(obj) {
|
439
|
-
/* Emitter mixin */
|
440
|
-
if(obj) {
|
441
|
-
for(var key in Emitter.prototype) {
|
442
|
-
obj[key] = Emitter.prototype[key];
|
443
|
-
}
|
444
|
-
obj._events = {};
|
445
|
-
return obj;
|
446
|
-
}
|
559
|
+
require.register("jkroso-prefix/index.js", function(exports, require, module){
|
447
560
|
|
448
|
-
|
449
|
-
|
450
|
-
|
561
|
+
var style = document.createElement('p').style
|
562
|
+
var prefixes = 'O ms Moz webkit'.split(' ')
|
563
|
+
var upper = /([A-Z])/g
|
451
564
|
|
452
|
-
|
453
|
-
}
|
454
|
-
|
455
|
-
Emitter.prototype.listeners = function(event) {
|
456
|
-
var handlers = this._events[event];
|
457
|
-
|
458
|
-
if(!handlers) return [];
|
459
|
-
|
460
|
-
return handlers.filter(function(f){return f !==before && f !==after});
|
461
|
-
}
|
462
|
-
|
463
|
-
Emitter.prototype.hasListeners = function(event) {
|
464
|
-
return !!this._events[event];
|
465
|
-
}
|
466
|
-
|
467
|
-
function before(){};
|
468
|
-
function after(){};
|
565
|
+
var memo = {}
|
469
566
|
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
else events[events.length] = handler;
|
478
|
-
|
479
|
-
return this;
|
480
|
-
}
|
481
|
-
|
482
|
-
Emitter.prototype.before = function(event,handler) {
|
483
|
-
return this.on(event,handler,true);
|
484
|
-
}
|
485
|
-
|
486
|
-
Emitter.prototype.after = function(event,handler) {
|
487
|
-
return this.on(event,handler,false);
|
488
|
-
}
|
489
|
-
|
490
|
-
Emitter.prototype.off = function(event,handler) {
|
491
|
-
|
492
|
-
if(!arguments.length) {
|
493
|
-
this._events = {};
|
494
|
-
}
|
495
|
-
|
496
|
-
if(this._events[event]) {
|
497
|
-
if(!handler) {
|
498
|
-
delete this._events[event];
|
499
|
-
} else {
|
500
|
-
this._events[event] = this._events[event].filter(function(f) {
|
501
|
-
return (f._of || f) !== handler;
|
502
|
-
});
|
503
|
-
}
|
504
|
-
}
|
567
|
+
/**
|
568
|
+
* memoized `prefix`
|
569
|
+
*
|
570
|
+
* @param {String} key
|
571
|
+
* @return {String}
|
572
|
+
* @api public
|
573
|
+
*/
|
505
574
|
|
506
|
-
|
575
|
+
module.exports = exports = function(key){
|
576
|
+
return key in memo
|
577
|
+
? memo[key]
|
578
|
+
: memo[key] = prefix(key)
|
507
579
|
}
|
508
580
|
|
509
|
-
|
510
|
-
|
581
|
+
exports.prefix = prefix
|
582
|
+
exports.dash = dashedPrefix
|
511
583
|
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
context = context ? context : this;
|
584
|
+
/**
|
585
|
+
* prefix `key`
|
586
|
+
*
|
587
|
+
* prefix('transform') // => webkitTransform
|
588
|
+
*
|
589
|
+
* @param {String} key
|
590
|
+
* @return {String}
|
591
|
+
* @api public
|
592
|
+
*/
|
522
593
|
|
523
|
-
|
524
|
-
|
525
|
-
|
594
|
+
function prefix(key){
|
595
|
+
// camel case
|
596
|
+
key = key.replace(/-([a-z])/g, function(_, char){
|
597
|
+
return char.toUpperCase()
|
598
|
+
})
|
599
|
+
|
600
|
+
// without prefix
|
601
|
+
if (style[key] !== undefined) return key
|
602
|
+
|
603
|
+
// with prefix
|
604
|
+
var Key = capitalize(key)
|
605
|
+
var i = prefixes.length
|
606
|
+
while (i--) {
|
607
|
+
var name = prefixes[i] + Key
|
608
|
+
if (style[name] !== undefined) return name
|
609
|
+
}
|
526
610
|
|
527
|
-
|
611
|
+
throw new Error('unable to prefix ' + key)
|
528
612
|
}
|
529
613
|
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
function once() {
|
534
|
-
self.off(event, handler);
|
535
|
-
handler.apply(this, arguments);
|
536
|
-
}
|
537
|
-
|
538
|
-
this.on(event, once);
|
539
|
-
|
540
|
-
once._of = handler;
|
541
|
-
|
542
|
-
return this;
|
614
|
+
function capitalize(str){
|
615
|
+
return str.charAt(0).toUpperCase() + str.slice(1)
|
543
616
|
}
|
544
617
|
|
545
|
-
module.exports = Emitter;
|
546
|
-
|
547
|
-
});
|
548
|
-
require.register("pgherveou-prefix/index.js", function(exports, require, module){
|
549
|
-
// module globals
|
550
|
-
|
551
|
-
var prefixes = ['webkit','Moz','ms','O']
|
552
|
-
, len = prefixes.length
|
553
|
-
, p = document.createElement('p')
|
554
|
-
, style = p.style
|
555
|
-
, capitalize = function (str) {return str.charAt(0).toUpperCase() + str.slice(1);}
|
556
|
-
, dasherize = function(str) {
|
557
|
-
return str.replace(/([A-Z])/g, function(str,m1) {
|
558
|
-
return '-' + m1.toLowerCase();
|
559
|
-
});
|
560
|
-
};
|
561
|
-
|
562
|
-
// nullify p to release dom node
|
563
|
-
p = null;
|
564
|
-
|
565
618
|
/**
|
566
|
-
*
|
567
|
-
*
|
568
|
-
* example
|
569
|
-
* prefix('transform') // webkitTransform
|
570
|
-
* prefix('transform', true) // -webkit-transform
|
619
|
+
* create a dasherized prefix
|
571
620
|
*
|
572
|
-
* @param
|
573
|
-
* @
|
574
|
-
* @return {String} prefixed ppty
|
621
|
+
* @param {String} key
|
622
|
+
* @return {String}
|
575
623
|
* @api public
|
576
624
|
*/
|
577
625
|
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
if (!dasherized) return ppty;
|
584
|
-
return dasherize(ppty);
|
585
|
-
}
|
586
|
-
|
587
|
-
// test with prefix
|
588
|
-
Ppty = capitalize(ppty);
|
589
|
-
for (i = 0; i < len; i++) {
|
590
|
-
name = prefixes[i] + Ppty;
|
591
|
-
if (style[name] !== undefined) {
|
592
|
-
if (!dasherized) return name;
|
593
|
-
return '-' + prefixes[i].toLowerCase() + '-' + dasherize(ppty);
|
594
|
-
}
|
595
|
-
}
|
596
|
-
|
597
|
-
// not found return empty string
|
598
|
-
return '';
|
599
|
-
};
|
626
|
+
function dashedPrefix(key){
|
627
|
+
key = prefix(key)
|
628
|
+
if (upper.test(key)) key = '-' + key.replace(upper, '-$1')
|
629
|
+
return key.toLowerCase()
|
630
|
+
}
|
600
631
|
|
601
632
|
});
|
602
633
|
require.register("slideshow/index.js", function(exports, require, module){
|
@@ -735,14 +766,12 @@ function Slideshow(container,options){
|
|
735
766
|
return this;
|
736
767
|
},
|
737
768
|
next: function(){
|
738
|
-
|
739
|
-
this.emit('next');
|
769
|
+
this.whenReady('next');
|
740
770
|
|
741
771
|
return this;
|
742
772
|
},
|
743
773
|
prev: function(){
|
744
|
-
|
745
|
-
this.emit('prev');
|
774
|
+
this.whenReady('prev');
|
746
775
|
|
747
776
|
return this;
|
748
777
|
},
|
@@ -758,8 +787,7 @@ function Slideshow(container,options){
|
|
758
787
|
x = x ? parseInt(x,10) : 0;
|
759
788
|
}
|
760
789
|
|
761
|
-
|
762
|
-
this.emit('show',x);
|
790
|
+
this.whenReady('show',x);
|
763
791
|
|
764
792
|
return this;
|
765
793
|
},
|
@@ -773,26 +801,14 @@ function Slideshow(container,options){
|
|
773
801
|
return this;
|
774
802
|
},
|
775
803
|
whenReady: function(action,value){
|
776
|
-
var self = this
|
804
|
+
var self = this;
|
777
805
|
|
778
806
|
if(!this.inTransition) {
|
779
807
|
this.carousel[action](value);
|
780
|
-
|
781
|
-
} else {
|
782
|
-
|
783
|
-
for(var h in handlers){
|
784
|
-
if(handlers[h]._of && handlers[h]._of === self[action]){
|
785
|
-
hasHandler = true;
|
786
|
-
break;
|
787
|
-
}
|
788
|
-
}
|
789
|
-
|
790
|
-
if(!hasHandler){
|
791
|
-
this.once('transition-end', self[action], value);
|
792
|
-
}
|
808
|
+
this.emit(action,value);
|
809
|
+
} else {
|
810
|
+
this.once('transition-end', this[action], value);
|
793
811
|
}
|
794
|
-
|
795
|
-
return false;
|
796
812
|
}
|
797
813
|
}
|
798
814
|
|
@@ -805,7 +821,7 @@ function Slideshow(container,options){
|
|
805
821
|
|
806
822
|
if(!elem || !prop) return;
|
807
823
|
|
808
|
-
prop =
|
824
|
+
prop = Prefix.dash(prop);
|
809
825
|
|
810
826
|
if(Array.isArray(elem)){
|
811
827
|
for(var i = 0, l = elem.length; i < l; i++)
|
@@ -836,8 +852,8 @@ function Slideshow(container,options){
|
|
836
852
|
timer, durationProp, s = 0,
|
837
853
|
ix, fx, lx = navItems.length, slide = [], node;
|
838
854
|
|
839
|
-
durationProp =
|
840
|
-
|
855
|
+
durationProp = 'transition-duration';
|
856
|
+
|
841
857
|
for(var x in slides.childNodes){
|
842
858
|
node = slides.childNodes[x];
|
843
859
|
if(node && node.id && node.id.indexOf(settings.id + '-s') === 0)
|
@@ -860,7 +876,7 @@ function Slideshow(container,options){
|
|
860
876
|
navItems[fx].className = "navItem";
|
861
877
|
|
862
878
|
s = window.getComputedStyle(slide[ix],null).getPropertyValue(durationProp);
|
863
|
-
|
879
|
+
|
864
880
|
if(s.indexOf('s') > 0) s = parseInt(s,10) * 1000;
|
865
881
|
else s = parseInt(s,10);
|
866
882
|
|
@@ -874,6 +890,11 @@ function Slideshow(container,options){
|
|
874
890
|
},s);
|
875
891
|
}
|
876
892
|
}
|
893
|
+
|
894
|
+
function endTransition(){
|
895
|
+
slideshow.inTransition = false;
|
896
|
+
slideshow.emit('transition-end',slide[current],current);
|
897
|
+
}
|
877
898
|
|
878
899
|
navItems[ix].className = "active navItem";
|
879
900
|
|
@@ -881,12 +902,6 @@ function Slideshow(container,options){
|
|
881
902
|
}
|
882
903
|
}
|
883
904
|
|
884
|
-
function getStyleProperty(prop){
|
885
|
-
if(!prefixProp.hasOwnProperty(prop))
|
886
|
-
prefixProp[prop] = Prefix(prop,true);
|
887
|
-
|
888
|
-
return prefixProp[prop];
|
889
|
-
}
|
890
905
|
|
891
906
|
}());
|
892
907
|
|
@@ -901,16 +916,15 @@ module.exports = '<div class="slides" id="{id}-slides">{slides}</div>\n<div clas
|
|
901
916
|
|
902
917
|
|
903
918
|
|
904
|
-
require.alias("kaerus-component-carousel/index.js", "slideshow/deps/carousel/index.js");
|
905
|
-
require.alias("kaerus-component-carousel/index.js", "carousel/index.js");
|
906
|
-
|
907
919
|
require.alias("kaerus-component-emitter/index.js", "slideshow/deps/emitter/index.js");
|
908
920
|
require.alias("kaerus-component-emitter/index.js", "emitter/index.js");
|
909
921
|
|
910
|
-
require.alias("
|
911
|
-
require.alias("
|
912
|
-
|
913
|
-
require.alias("
|
922
|
+
require.alias("kaerus-component-carousel/index.js", "slideshow/deps/carousel/index.js");
|
923
|
+
require.alias("kaerus-component-carousel/index.js", "carousel/index.js");
|
924
|
+
|
925
|
+
require.alias("jkroso-prefix/index.js", "slideshow/deps/prefix/index.js");
|
926
|
+
require.alias("jkroso-prefix/index.js", "prefix/index.js");
|
927
|
+
if (typeof exports == "object") {
|
914
928
|
module.exports = require("slideshow");
|
915
929
|
} else if (typeof define == "function" && define.amd) {
|
916
930
|
define(function(){ return require("slideshow"); });
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kaerus-component-slideshow
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anders Elo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-03-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|