kaerus-component-slideshow 0.1.2 → 0.1.3
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:
|
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
|