UNPKG

angularcli-star-rating

Version:

Star rating for Angualr Cli framework

3 lines (2 loc) 2.83 kB
!function(t,a){"object"==typeof exports&&"undefined"!=typeof module?a(exports,require("@angular/core"),require("@angular/common")):"function"==typeof define&&define.amd?define(["exports","@angular/core","@angular/common"],a):a(t["angularcli-star-rating"]={},t.ng.core,t.ng.common)}(this,function(t,a,r){"use strict";var e=function(){function t(){this.rating=0,this.starReadonly=!0,this.onStarRate=new a.EventEmitter,this.rateText="Click to Rate.",this.star=["false","false","false","false","false"],this.hoverStar=[!1,!1,!1,!1,!1]}return t.prototype.ngAfterViewInit=function(){this.checkRating()},t.prototype.addHoverClass=function(t){this.hoverStar=[!1,!1,!1,!1,!1];for(var a=0;a<5;a++)a<=t&&(this.hoverStar[a]=!0)},t.prototype.resetHover=function(){this.hoverStar=[!1,!1,!1,!1,!1]},t.prototype.checkRating=function(){this.rating<=5&&this.rating>=0?this.rating>0&&this.loadStar(this.rating):console.log("Rating should be between 0 and 5")},t.prototype.resetStar=function(){this.star=["false","false","false","false","false"]},t.prototype.rateIt=function(t){this.rating=t,this.resetStar(),this.fillStar(this.rating);var a=t+1;this.onStarRate.emit([a])},t.prototype.fillStar=function(t){for(var a=0;a<5;a++)t>=a&&(this.star[a]="full")},t.prototype.loadStar=function(t){for(var a=t%1!=0,r=Math.floor(t),e=0;e<5;e++)e<t&&(this.star[e]="full"),a&&r==e&&(this.star[e]="half")},t}();e.decorators=[{type:a.Component,args:[{selector:"cli-star-rating",template:'<span class="cli-star" *ngIf="starReadonly">\n <i *ngFor="let i of star" class="fa" aria-hidden="true"\n [ngClass]="{\'fa-star-o\':i == \'false\',\'fa-star\' :i == \'full\', \'fa-star-half-o\' : i == \'half\'}"></i>\n</span>\n<span title="{{rateText}}" class="cli-star cli-star-hover" *ngIf="!starReadonly">\n <i *ngFor="let i of star;let ix = index" class="fa" aria-hidden="true"\n (click) = "rateIt(ix)" (mouseover)="addHoverClass(ix)" (mouseleave)="resetHover()"\n [ngClass]="{\'fa-star-o\':i == \'false\',\'fa-star\' :i == \'full\' || hoverStar[ix],\n \'fa-star-half-o\' : i == \'half\'}"></i>\n</span>',styles:[".cli-star{display:inline-block;}\n.cli-star-hover i:hover~i{opacity:0.3;}\n.cli-star-hover:hover .fa-star-o.fa-star:before,\n.cli-star-hover:hover .fa-star-half-o.fa-star:before{content:'\\F005';}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={rating:[{type:a.Input,args:["rating"]}],starReadonly:[{type:a.Input,args:["starReadonly"]}],onStarRate:[{type:a.Output}],rateText:[{type:a.Input,args:["starRateText"]}]};var o=function(){return function(){}}();o.decorators=[{type:a.NgModule,args:[{imports:[r.CommonModule],declarations:[e],exports:[e]}]}],o.ctorParameters=function(){return[]},t.AngularcliStarRatingModule=o,t.ɵa=e,Object.defineProperty(t,"__esModule",{value:!0})}); //# sourceMappingURL=angularcli-star-rating.umd.min.js.map