@cause-911/material
Version:
Run `npm install @cause-911/material --save` to add this library to your project
175 lines • 12.5 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, ElementRef, Input, ViewChild } from '@angular/core';
import { animate, state, style, transition, trigger } from '@angular/animations';
var SlideshowComponent = /** @class */ (function () {
function SlideshowComponent() {
this.height = '150px';
this.autoPlay = true;
this.timer = null;
this.items = [];
this.states = [];
this.selectedIndex = 0;
}
Object.defineProperty(SlideshowComponent.prototype, "images", {
get: /**
* @return {?}
*/
function () {
return this.items;
},
set: /**
* @param {?} list
* @return {?}
*/
function (list) {
this.items = list;
this.restart();
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
SlideshowComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () {
this.container.nativeElement.style.height = this.height;
this.container.nativeElement.style.width = '100%';
};
/**
* @param {?} index
* @return {?}
*/
SlideshowComponent.prototype.getState = /**
* @param {?} index
* @return {?}
*/
function (index) {
if (this.states[index]) {
return this.states[index];
}
return (this.selectedIndex === index ? 'in' : 'out');
};
/**
* @return {?}
*/
SlideshowComponent.prototype.restart = /**
* @return {?}
*/
function () {
var _this = this;
if (this.timer) {
window.clearInterval(this.timer);
}
if (this.images && this.images.length) {
this.timer = window.setInterval((/**
* @return {?}
*/
function () { return _this.changed('next'); }), 5000);
}
};
/**
* @return {?}
*/
SlideshowComponent.prototype.next = /**
* @return {?}
*/
function () {
if (this.selectedIndex < this.items.length - 1) {
this.selectedIndex++;
}
else {
this.selectedIndex = 0;
}
};
/**
* @private
* @param {?} action
* @return {?}
*/
SlideshowComponent.prototype.changed = /**
* @private
* @param {?} action
* @return {?}
*/
function (action) {
this.states[this.selectedIndex] = 'out';
this[action]();
this.states[this.selectedIndex] = 'in';
};
SlideshowComponent.decorators = [
{ type: Component, args: [{
selector: 'cause-slideshow',
template: "<div #container class=\"slideshow\">\n <div *ngFor=\"let url of images; let index = index;\" [@slideLeftRight]=\"getState(index)\">\n <img [src]=\"url\" />\n </div>\n</div>",
animations: [
trigger('slideUpDown', [
state('in', style({ transform: 'translateY(0%)' })),
state('out', style({ transform: 'translateY(-100%)' })),
transition('in => out', [
animate('500ms ease-in')
]),
transition('out => in', [
style({ transform: 'translateY(100%)' }),
animate('500ms ease-in')
]),
]),
trigger('slideLeftRight', [
state('in', style({ transform: 'translateX(0%)' })),
state('out', style({ transform: 'translateX(-100%)' })),
transition('in => out', [
animate('500ms ease-in')
]),
transition('out => in', [
style({ transform: 'translateX(100%)' }),
animate('500ms ease-in')
]),
]),
],
styles: [".slideshow{margin:0 auto;position:relative;overflow:hidden}.slideshow>div{width:100%;height:100%;position:absolute}img{max-height:100%;max-width:100%;margin:0 auto;display:block}"]
}] }
];
/** @nocollapse */
SlideshowComponent.ctorParameters = function () { return []; };
SlideshowComponent.propDecorators = {
container: [{ type: ViewChild, args: ['container', { static: true },] }],
height: [{ type: Input }],
autoPlay: [{ type: Input }],
images: [{ type: Input }]
};
return SlideshowComponent;
}());
export { SlideshowComponent };
if (false) {
/** @type {?} */
SlideshowComponent.prototype.container;
/** @type {?} */
SlideshowComponent.prototype.height;
/** @type {?} */
SlideshowComponent.prototype.autoPlay;
/**
* @type {?}
* @private
*/
SlideshowComponent.prototype.timer;
/**
* @type {?}
* @private
*/
SlideshowComponent.prototype.items;
/**
* @type {?}
* @private
*/
SlideshowComponent.prototype.states;
/**
* @type {?}
* @private
*/
SlideshowComponent.prototype.selectedIndex;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVzaG93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BjYXVzZS05MTEvbWF0ZXJpYWwvIiwic291cmNlcyI6WyJsaWIvc2xpZGVzaG93L3NsaWRlc2hvdy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRjtJQWdERTtRQWpCUyxXQUFNLEdBQUcsT0FBTyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFFakIsVUFBSyxHQUFHLElBQUksQ0FBQztRQUNiLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxXQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ1osa0JBQWEsR0FBRyxDQUFDLENBQUM7SUFXVixDQUFDO0lBVGpCLHNCQUNJLHNDQUFNOzs7O1FBSVY7WUFDRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDcEIsQ0FBQzs7Ozs7UUFQRCxVQUNXLElBQUk7WUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNsQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakIsQ0FBQzs7O09BQUE7Ozs7SUFPRCxxQ0FBUTs7O0lBQVI7UUFDRSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDeEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7SUFDcEQsQ0FBQzs7Ozs7SUFFRCxxQ0FBUTs7OztJQUFSLFVBQVMsS0FBSztRQUNaLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN0QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0I7UUFFRCxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQzs7OztJQUVELG9DQUFPOzs7SUFBUDtRQUFBLGlCQU9DO1FBTkMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbEM7UUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDckMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsV0FBVzs7O1lBQUMsY0FBTSxPQUFBLEtBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQXBCLENBQW9CLEdBQUUsSUFBSSxDQUFDLENBQUM7U0FDbkU7SUFDSCxDQUFDOzs7O0lBRUQsaUNBQUk7OztJQUFKO1FBQ0UsSUFBSSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM5QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7YUFBTTtZQUNMLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQzs7Ozs7O0lBRU8sb0NBQU87Ozs7O0lBQWYsVUFBZ0IsTUFBTTtRQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDeEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDekMsQ0FBQzs7Z0JBcEZGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQiw2TEFBeUM7b0JBRXpDLFVBQVUsRUFBRTt3QkFDVixPQUFPLENBQUMsYUFBYSxFQUFFOzRCQUNyQixLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7NEJBQ25ELEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQzs0QkFDdkQsVUFBVSxDQUFDLFdBQVcsRUFBRTtnQ0FDdEIsT0FBTyxDQUFDLGVBQWUsQ0FBQzs2QkFDekIsQ0FBQzs0QkFDRixVQUFVLENBQUMsV0FBVyxFQUFFO2dDQUN0QixLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztnQ0FDeEMsT0FBTyxDQUFDLGVBQWUsQ0FBQzs2QkFDekIsQ0FBQzt5QkFDSCxDQUFDO3dCQUNGLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRTs0QkFDeEIsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDOzRCQUNuRCxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUM7NEJBQ3ZELFVBQVUsQ0FBQyxXQUFXLEVBQUU7Z0NBQ3RCLE9BQU8sQ0FBQyxlQUFlLENBQUM7NkJBQ3pCLENBQUM7NEJBQ0YsVUFBVSxDQUFDLFdBQVcsRUFBRTtnQ0FDdEIsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUM7Z0NBQ3hDLE9BQU8sQ0FBQyxlQUFlLENBQUM7NkJBQ3pCLENBQUM7eUJBQ0gsQ0FBQztxQkFDSDs7aUJBQ0Y7Ozs7OzRCQUVFLFNBQVMsU0FBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO3lCQUN2QyxLQUFLOzJCQUNMLEtBQUs7eUJBT0wsS0FBSzs7SUE4Q1IseUJBQUM7Q0FBQSxBQXJGRCxJQXFGQztTQXhEWSxrQkFBa0I7OztJQUM3Qix1Q0FBZ0U7O0lBQ2hFLG9DQUEwQjs7SUFDMUIsc0NBQXlCOzs7OztJQUV6QixtQ0FBcUI7Ozs7O0lBQ3JCLG1DQUFtQjs7Ozs7SUFDbkIsb0NBQW9COzs7OztJQUNwQiwyQ0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhdXNlLXNsaWRlc2hvdycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zbGlkZXNob3cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zbGlkZXNob3cuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ3NsaWRlVXBEb3duJywgW1xuICAgICAgc3RhdGUoJ2luJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDAlKScgfSkpLFxuICAgICAgc3RhdGUoJ291dCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgtMTAwJSknIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oJ2luID0+IG91dCcsIFtcbiAgICAgICAgYW5pbWF0ZSgnNTAwbXMgZWFzZS1pbicpXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJ291dCA9PiBpbicsIFtcbiAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDEwMCUpJyB9KSxcbiAgICAgICAgYW5pbWF0ZSgnNTAwbXMgZWFzZS1pbicpXG4gICAgICBdKSxcbiAgICBdKSxcbiAgICB0cmlnZ2VyKCdzbGlkZUxlZnRSaWdodCcsIFtcbiAgICAgIHN0YXRlKCdpbicsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwJSknIH0pKSxcbiAgICAgIHN0YXRlKCdvdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTEwMCUpJyB9KSksXG4gICAgICB0cmFuc2l0aW9uKCdpbiA9PiBvdXQnLCBbXG4gICAgICAgIGFuaW1hdGUoJzUwMG1zIGVhc2UtaW4nKVxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKCdvdXQgPT4gaW4nLCBbXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScgfSksXG4gICAgICAgIGFuaW1hdGUoJzUwMG1zIGVhc2UtaW4nKVxuICAgICAgXSksXG4gICAgXSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNsaWRlc2hvd0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pIGNvbnRhaW5lcjogRWxlbWVudFJlZjtcbiAgQElucHV0KCkgaGVpZ2h0ID0gJzE1MHB4JztcbiAgQElucHV0KCkgYXV0b1BsYXkgPSB0cnVlO1xuXG4gIHByaXZhdGUgdGltZXIgPSBudWxsO1xuICBwcml2YXRlIGl0ZW1zID0gW107XG4gIHByaXZhdGUgc3RhdGVzID0gW107XG4gIHByaXZhdGUgc2VsZWN0ZWRJbmRleCA9IDA7XG5cbiAgQElucHV0KClcbiAgc2V0IGltYWdlcyhsaXN0KSB7XG4gICAgdGhpcy5pdGVtcyA9IGxpc3Q7XG4gICAgdGhpcy5yZXN0YXJ0KCk7XG4gIH1cbiAgZ2V0IGltYWdlcygpIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZS5oZWlnaHQgPSB0aGlzLmhlaWdodDtcbiAgICB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gJzEwMCUnO1xuICB9XG5cbiAgZ2V0U3RhdGUoaW5kZXgpIHtcbiAgICBpZiAodGhpcy5zdGF0ZXNbaW5kZXhdKSB7XG4gICAgICByZXR1cm4gdGhpcy5zdGF0ZXNbaW5kZXhdO1xuICAgIH1cblxuICAgIHJldHVybiAodGhpcy5zZWxlY3RlZEluZGV4ID09PSBpbmRleCA/ICdpbicgOiAnb3V0Jyk7XG4gIH1cblxuICByZXN0YXJ0KCkge1xuICAgIGlmICh0aGlzLnRpbWVyKSB7XG4gICAgICB3aW5kb3cuY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaW1hZ2VzICYmIHRoaXMuaW1hZ2VzLmxlbmd0aCkge1xuICAgICAgdGhpcy50aW1lciA9IHdpbmRvdy5zZXRJbnRlcnZhbCgoKSA9PiB0aGlzLmNoYW5nZWQoJ25leHQnKSwgNTAwMCk7XG4gICAgfVxuICB9XG5cbiAgbmV4dCgpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEluZGV4IDwgdGhpcy5pdGVtcy5sZW5ndGggLSAxKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSW5kZXgrKztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gMDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNoYW5nZWQoYWN0aW9uKSB7XG4gICAgdGhpcy5zdGF0ZXNbdGhpcy5zZWxlY3RlZEluZGV4XSA9ICdvdXQnO1xuICAgIHRoaXNbYWN0aW9uXSgpO1xuICAgIHRoaXMuc3RhdGVzW3RoaXMuc2VsZWN0ZWRJbmRleF0gPSAnaW4nO1xuICB9XG59XG4iXX0=