neutron-star-rating
Version:
Built on angular 5, star rating library. Can be used for your angular applications.
3 lines (2 loc) • 2.94 kB
JavaScript
!function(r,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@angular/core"),require("@angular/common")):"function"==typeof define&&define.amd?define(["exports","@angular/core","@angular/common"],n):n(r["neutron-star-rating"]={},r.ng.core,r.ng.common)}(this,function(r,n,t){"use strict";var e=function(){function r(){var r=this;this.fullIcon="★",this.emptyIcon="☆",this.ratingArr=[],this.existingRatingArr=[],this.ratingClicked=new n.EventEmitter,this.initializeStars=function(){r.rating=Math.floor(r.rating);var n=r.starNum?r.starNum:5,t=r.rating>n?n:r.rating;r.rating>n&&console.log("Warning: your rating exceeds the number of stars hence the rating = number of stars ");for(var e=0;e<t;e++)r.ratingArr.push(r.fullIcon);for(var i=n-r.rating,o=0;o<i;o++)r.ratingArr.push(r.emptyIcon);r.existingRatingArr=r.ratingArr,console.log(r.ratingArr)},this.passNewRating=function(n){if(!r.readOnly){var t=r.starNum?r.starNum:5;n=n>t?t:n,n=Math.floor(n),r.rating=n,r.ratingArr=[];for(var e=0;e<n;e++)r.ratingArr.push(r.fullIcon);for(var i=t-n,o=0;o<i;o++)r.ratingArr.push(r.emptyIcon);r.ratingClicked.emit(n),r.existingRatingArr=r.ratingArr}},this.onHoverEvent=function(n){if(!r.readOnly){var t=r.starNum?r.starNum:5;r.ratingArr=[];for(var e=0;e<n;e++)r.ratingArr.push(r.fullIcon);for(var i=t-n,o=0;o<i;o++)r.ratingArr.push(r.emptyIcon);r.initialHoveredRating=n}},this.changeHovered=function(r){},this.overStars=function(r){},this.onHoverExitEvent=function(){r.ratingArr=r.existingRatingArr}}return r.prototype.ngOnInit=function(){this.initializeStars()},r.prototype.ngOnChanges=function(){},r}();e.decorators=[{type:n.Component,args:[{selector:"neutron-rating",template:'<div class="crop" [ngClass]="{\'clickable\': !readOnly}" [title]="rating?rating:\'\'" (mouseleave)="onHoverExitEvent()">\n <div [style.font-size.em]="starSize?starSize:1">\n <div>\n <span *ngFor="let singleRating of ratingArr; let i = index">\n <a [style.color]="starColour?starColour:\'yellow\'" (click)="passNewRating(i+1)" (mouseenter)="onHoverEvent(i+1)">{{singleRating}}</a>\n </span>\n </div>\n </div>\n</div>\n\n\x3c!-- <fa name="star" style="color: #FDD835; font-size: 4em;"></fa> (mouseleave) ="onHoverExitEvent($event)" (mouseover)="overStars($event)" (mousemove)="changeHovered($event)" --\x3e\n',styles:[".crop {\n overflow: hidden;\n}\n.clickable {\n cursor: pointer;\n}\n"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={rating:[{type:n.Input}],starSize:[{type:n.Input}],starColour:[{type:n.Input}],starNum:[{type:n.Input}],readOnly:[{type:n.Input}],ratingClicked:[{type:n.Output}]};var i=function(){return function(){}}();i.decorators=[{type:n.NgModule,args:[{imports:[t.CommonModule],declarations:[e],exports:[e]}]}],i.ctorParameters=function(){return[]},r.NeutronRatingModule=i,r.ɵa=e,Object.defineProperty(r,"__esModule",{value:!0})});
//# sourceMappingURL=neutron-star-rating.umd.min.js.map