import { Component, ContentChild, TemplateRef, ContentChildren, ElementRef, Input, AfterViewInit } from '@angular/core'; import { RdComponent } from '../../base/rdComponent'; import { ScriptLoaderService } from '../../library/script-loader.service'; import { StyleLoaderService } from '../../library/style-loader.service'; @Component({ selector: "rd-slider-content", template: ` ` }) export class CircularSliderContent extends RdComponent { @ContentChild(TemplateRef) template; @Input("rd-color") color: string = "#ECF0F1"; } @Component({ selector: 'rd-circular-slider', template: `
` }) export class CircularSlider extends RdComponent implements AfterViewInit { constructor(private script: ScriptLoaderService, private style: StyleLoaderService, public element: ElementRef) { super(); this.script.load(["./assets/js/rotating-slider.min.js"]); this.style.load(["./assets/css/rotating-slider.min.css"]); } @Input("rd-width") width: number = 480; @Input("rd-height") height: number = 360; @Input("rd-control") control: boolean = true; @ContentChildren(CircularSliderContent) contents; ngAfterViewInit() { this.jQuery(this.element.nativeElement).find('.rotating-slider').rotatingSlider({ slideHeight: Math.min(this.height, window.innerWidth - 80), slideWidth: Math.min(this.width, window.innerWidth - 80), directionControls: this.control, autoRotateInterval: 5000, }); } }