UNPKG

@cause-911/material

Version:

Run `npm install @cause-911/material --save` to add this library to your project

175 lines 12.5 kB
/** * @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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVzaG93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BjYXVzZS05MTEvbWF0ZXJpYWwvIiwic291cmNlcyI6WyJsaWIvc2xpZGVzaG93L3NsaWRlc2hvdy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRjtJQWdERTtRQWpCUyxXQUFNLEdBQUcsT0FBTyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFFakIsVUFBSyxHQUFHLElBQUksQ0FBQztRQUNiLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxXQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ1osa0JBQWEsR0FBRyxDQUFDLENBQUM7SUFXVixDQUFDO0lBVGpCLHNCQUNJLHNDQUFNOzs7O1FBSVY7WUFDRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDcEIsQ0FBQzs7Ozs7UUFQRCxVQUNXLElBQUk7WUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNsQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakIsQ0FBQzs7O09BQUE7Ozs7SUFPRCxxQ0FBUTs7O0lBQVI7UUFDRSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDeEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7SUFDcEQsQ0FBQzs7Ozs7SUFFRCxxQ0FBUTs7OztJQUFSLFVBQVMsS0FBSztRQUNaLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxL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QXFGQztTQXhEWSxrQkFBa0I7OztJQUM3Qix1Q0FBZ0U7O0lBQ2hFLG9DQUEwQjs7SUFDMUIsc0NBQXlCOzs7OztJQUV6QixtQ0FBcUI7Ozs7O0lBQ3JCLG1DQUFtQjs7Ozs7SUFDbkIsb0NBQW9COzs7OztJQUNwQiwyQ0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhdXNlLXNsaWRlc2hvdycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zbGlkZXNob3cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zbGlkZXNob3cuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ3NsaWRlVXBEb3duJywgW1xuICAgICAgc3RhdGUoJ2luJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDAlKScgfSkpLFxuICAgICAgc3RhdGUoJ291dCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgtMTAwJSknIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oJ2luID0+IG91dCcsIFtcbiAgICAgICAgYW5pbWF0ZSgnNTAwbXMgZWFzZS1pbicpXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJ291dCA9PiBpbicsIFtcbiAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDEwMCUpJyB9KSxcbiAgICAgICAgYW5pbWF0ZSgnNTAwbXMgZWFzZS1pbicpXG4gICAgICBdKSxcbiAgICBdKSxcbiAgICB0cmlnZ2VyKCdzbGlkZUxlZnRSaWdodCcsIFtcbiAgICAgIHN0YXRlKCdpbicsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwJSknIH0pKSxcbiAgICAgIHN0YXRlKCdvdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTEwMCUpJyB9KSksXG4gICAgICB0cmFuc2l0aW9uKCdpbiA9PiBvdXQnLCBbXG4gICAgICAgIGFuaW1hdGUoJzUwMG1zIGVhc2UtaW4nKVxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKCdvdXQgPT4gaW4nLCBbXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScgfSksXG4gICAgICAgIGFuaW1hdGUoJzUwMG1zIGVhc2UtaW4nKVxuICAgICAgXSksXG4gICAgXSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNsaWRlc2hvd0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pIGNvbnRhaW5lcjogRWxlbWVudFJlZjtcbiAgQElucHV0KCkgaGVpZ2h0ID0gJzE1MHB4JztcbiAgQElucHV0KCkgYXV0b1BsYXkgPSB0cnVlO1xuXG4gIHByaXZhdGUgdGltZXIgPSBudWxsO1xuICBwcml2YXRlIGl0ZW1zID0gW107XG4gIHByaXZhdGUgc3RhdGVzID0gW107XG4gIHByaXZhdGUgc2VsZWN0ZWRJbmRleCA9IDA7XG5cbiAgQElucHV0KClcbiAgc2V0IGltYWdlcyhsaXN0KSB7XG4gICAgdGhpcy5pdGVtcyA9IGxpc3Q7XG4gICAgdGhpcy5yZXN0YXJ0KCk7XG4gIH1cbiAgZ2V0IGltYWdlcygpIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZS5oZWlnaHQgPSB0aGlzLmhlaWdodDtcbiAgICB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gJzEwMCUnO1xuICB9XG5cbiAgZ2V0U3RhdGUoaW5kZXgpIHtcbiAgICBpZiAodGhpcy5zdGF0ZXNbaW5kZXhdKSB7XG4gICAgICByZXR1cm4gdGhpcy5zdGF0ZXNbaW5kZXhdO1xuICAgIH1cblxuICAgIHJldHVybiAodGhpcy5zZWxlY3RlZEluZGV4ID09PSBpbmRleCA/ICdpbicgOiAnb3V0Jyk7XG4gIH1cblxuICByZXN0YXJ0KCkge1xuICAgIGlmICh0aGlzLnRpbWVyKSB7XG4gICAgICB3aW5kb3cuY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaW1hZ2VzICYmIHRoaXMuaW1hZ2VzLmxlbmd0aCkge1xuICAgICAgdGhpcy50aW1lciA9IHdpbmRvdy5zZXRJbnRlcnZhbCgoKSA9PiB0aGlzLmNoYW5nZWQoJ25leHQnKSwgNTAwMCk7XG4gICAgfVxuICB9XG5cbiAgbmV4dCgpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEluZGV4IDwgdGhpcy5pdGVtcy5sZW5ndGggLSAxKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSW5kZXgrKztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gMDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNoYW5nZWQoYWN0aW9uKSB7XG4gICAgdGhpcy5zdGF0ZXNbdGhpcy5zZWxlY3RlZEluZGV4XSA9ICdvdXQnO1xuICAgIHRoaXNbYWN0aW9uXSgpO1xuICAgIHRoaXMuc3RhdGVzW3RoaXMuc2VsZWN0ZWRJbmRleF0gPSAnaW4nO1xuICB9XG59XG4iXX0=