ng-semantic
Version:
Angular2 building blocks based on Semantic UI
29 lines (24 loc) • 932 B
text/typescript
import { Component, Input, ViewChild, ChangeDetectionStrategy, AfterViewInit, ElementRef, EventEmitter, Output } from "@angular/core";
declare var jQuery: any;
({
changeDetection: ChangeDetectionStrategy.OnPush,
selector: "sm-rating",
template: `<div class="ui {{class}} rating" #rating></div>`
})
export class SemanticRatingComponent implements AfterViewInit {
() class: string;
() initialRating: number;
() maxRating: number;
() onRate: EventEmitter<number> = new EventEmitter<number>();
("rating") rating: ElementRef;
ngAfterViewInit(): void {
jQuery(this.rating.nativeElement)
.rating({
initialRating: this.initialRating || 0,
maxRating: this.maxRating || 5,
onRate: (value: number) => {
this.onRate.emit(value);
}
});
}
}