@rowantervelde/ng2-carousel
Version:
RTV - Angular 2 Carousel component
117 lines (111 loc) • 6.75 kB
JavaScript
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/http'), require('rxjs/Observable'), require('rxjs/add/operator/map'), require('rxjs/add/operator/do'), require('rxjs/add/operator/catch')) :
typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/common', '@angular/http', 'rxjs/Observable', 'rxjs/add/operator/map', 'rxjs/add/operator/do', 'rxjs/add/operator/catch'], factory) :
(factory((global.md = global.md || {}, global.md.carousel = global.md.carousel || {}),global.ng.core,global.ng.common,global.ng.http,global.Rx,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype));
}(this, (function (exports,_angular_core,_angular_common,_angular_http,rxjs_Observable,rxjs_add_operator_map,rxjs_add_operator_do,rxjs_add_operator_catch) { 'use strict';
var __decorate$2 = (window && window.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata$2 = (window && window.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var CarouselService = (function () {
function CarouselService(_http) {
this._http = _http;
this._slidesUrl = 'assets/slides.json';
}
CarouselService.prototype.getSlides = function () {
return this._http.get(this._slidesUrl).map(this.extractData)
.do(function (data) { return console.log('All: ' + JSON.stringify(data)); })
.catch(this.handleError);
};
CarouselService.prototype.extractData = function (res) {
var body = res.json();
return (body.data || {});
};
CarouselService.prototype.handleError = function (error) {
var errMsg = (error.message) ? error.message :
error.status ? (error.status + ' - ' + error.statusText) : 'Server error';
console.error(errMsg);
return rxjs_Observable.Observable.throw(errMsg);
};
CarouselService = __decorate$2([
_angular_core.Injectable(),
__metadata$2('design:paramtypes', [_angular_http.Http])
], CarouselService);
return CarouselService;
}());
var __decorate$1 = (window && window.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata$1 = (window && window.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var CarouselComponent = (function () {
function CarouselComponent(_carouselService) {
this._carouselService = _carouselService;
this.slides = [];
this.interval = 5500;
}
CarouselComponent.prototype.ngOnInit = function () {
this.getSlides();
};
CarouselComponent.prototype.getSlides = function () {
var _this = this;
this._carouselService.getSlides().
subscribe(function (slides) { return _this.slides = slides; }, function (error) { return _this.errorMessage = error; });
};
CarouselComponent.prototype.getDelay = function (index) {
return (index * this.interval / 1000) + 's';
};
CarouselComponent.prototype.getDuration = function () {
return (this.interval * this.slides.length / 1000) + 's';
};
CarouselComponent = __decorate$1([
_angular_core.Component({selector: 'rtv-carousel',
template: "<div *ngFor=\"let slide of slides; let index=index\" class=\"rtv-slide\" [style.animation-duration]=\"getDuration()\" [style.animation-delay]=\"getDelay(index)\" [ngStyle]=\"{'background-image': 'url(' + slide.imageSrc + ')'}\"> </div>",
styles: [".rtv-slide { position: absolute; background-size: cover; background-position: center; height: 100%; width: 100%; opacity: 0; animation: rtv-xfade infinite; } @keyframes rtv-xfade { 0% { opacity: 0; } 7% { opacity: 1; } 50% { opacity: 1; } 57% { opacity: 0; } 100% { opacity: 0; } } /*# sourceMappingURL=carousel.component.css.map */ "],
}),
__metadata$1('design:paramtypes', [CarouselService])
], CarouselComponent);
return CarouselComponent;
}());
var __decorate = (window && window.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (window && window.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var CarouselModule = (function () {
function CarouselModule() {
}
CarouselModule.forRoot = function () {
return {
ngModule: CarouselModule,
providers: [CarouselService],
};
};
CarouselModule = __decorate([
_angular_core.NgModule({
imports: [_angular_common.CommonModule, _angular_http.HttpModule],
exports: [CarouselComponent],
declarations: [CarouselComponent],
}),
__metadata('design:paramtypes', [])
], CarouselModule);
return CarouselModule;
}());
exports.CarouselModule = CarouselModule;
exports.CarouselService = CarouselService;
exports.CarouselComponent = CarouselComponent;
Object.defineProperty(exports, '__esModule', { value: true });
})));