angular2-simple-ui
Version:
Angular 2 Simple Material Design UI Components customisable with Simple 30 KB CSS with LESS support and full features support , just plugin up and run for clarity look at sample examples
54 lines (48 loc) • 1.55 kB
text/typescript
import { SliderContentComponent } from './sui.slider.content.component';
import {
ContentChildren,
Component,
QueryList,
Input,
forwardRef,
AfterContentInit
} from '@angular/core';
export class Slideromponent implements AfterContentInit {
cssClass: string = '';
style: Object = {};
indicatorCssClass: string = '';
indicatorStyle: Object = {};
showIndicators: boolean = true;
contents: QueryList<SliderContentComponent>;
currentSlide: number = 0;
ngAfterContentInit() {
this.contents.toArray()[this.currentSlide].isVisible = true;
}
onPreviousClick() {
this.currentSlide = this.currentSlide - 1;
if (this.currentSlide < 0) {
this.currentSlide = 0;
}
this.closeAll();
this.contents.toArray()[this.currentSlide].isVisible = true;
}
onNextClick() {
this.currentSlide = this.currentSlide + 1;
let array = this.contents.toArray();
if (this.currentSlide > array.length - 1) {
this.currentSlide = array.length - 1;
}
this.closeAll();
array[this.currentSlide].isVisible = true;
}
closeAll() {
this.contents.toArray().forEach(slide => {
slide.isVisible = false;
});
}
}