UNPKG

ang-rating

Version:

This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 8.3.18.

2 lines 4.89 kB
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/forms"),require("@angular/common"),require("@angular/material/select"),require("@angular/material/card")):"function"==typeof define&&define.amd?define("ang-rating",["exports","@angular/core","@angular/forms","@angular/common","@angular/material/select","@angular/material/card"],e):e((t=t||self)["ang-rating"]={},t.ng.core,t.ng.forms,t.ng.common,t.ng.material.select,t.ng.material.card)}(this,(function(t,e,i,n,r,o){"use strict";var a={provide:i.NG_VALUE_ACCESSOR,useExisting:e.forwardRef((function(){return s})),multi:!0},s=function(){function t(t,i){this._renderer=t,this._elementRef=i,this._value="",this.propagateChange=function(){},this.max=25,this.min=5,this.step=5,this.icon="star",this.type="icon",this.color=["green"],this.input=!1,this.rateChange=new e.EventEmitter(!0),this.items=[]}return t.prototype.ngOnInit=function(){this.type=this.type?this.type:"icon",this.max=this.max?this.max:25,this.min=this.min?this.min:5,this.step=this.step?this.step:5,this.icon=this.icon?this.icon:"star",this.color=this.color&&this.color.length?this.color:["green"],this.createRating()},t.prototype.writeValue=function(t){if(null!=t){this._value=t,this.indxValue=this.items.indexOf(t);for(var e=(this.items.indexOf(t)+1)/this.items.length*100,i=100/this.color.length,n=[],r=i;r<101;r+=i)n.push(r);for(r=0;r<this.color.length;r++)n[0]>=e&&(this.rateColor=this.color[0]),n[r]<e&&e<=n[r+1]&&(this.rateColor=this.color[r+1])}},t.prototype.registerOnChange=function(t){this.propagateChange=t},t.prototype.registerOnTouched=function(t){},t.prototype.createRating=function(){if(this.min<this.max)for(var t=this.min;t<=this.max;t+=this.step)this.items.push(t);else for(t=this.min;t>=this.max;t-=this.step)this.items.push(t)},t.prototype.update=function(t,e){this._value=e,this.rateChange.emit(e)},t.decorators=[{type:e.Component,args:[{selector:"ang-rating",template:'<mat-card>\r\n <mat-card-content>\r\n <mat-card-title>{{type }}</mat-card-title>\r\n <div *ngIf="type == \'dropdown\'" class="dropdown-block">\r\n <mat-select placeholder="Select rating" [(ngModel)]="_value" (ngModelChange)="update($event,_value)" [ngClass]="{\'disabled\': !input}">\r\n <mat-option *ngFor="let item of items" [value]="item">\r\n {{item}} {{title}}\r\n </mat-option>\r\n </mat-select>\r\n </div>\r\n <div *ngIf="type == \'number\'" class="number-block">\r\n <ul class="rating-list">\r\n <li *ngFor="let item of items; let i = index" (click)="update($event,item)" [ngClass]="{\'disabled\': !input}">\r\n <span class="rating-icon" [style.background-color]="indxValue >= i ? rateColor : \'\'">\r\n \x3c!-- <div class="rating-number">{{item | positivenumber}}</div> --\x3e\r\n <div class="rating-number">{{item}}</div>\r\n </span>\r\n </li>\r\n </ul>\r\n </div>\r\n <div *ngIf="type != \'number\' && type != \'dropdown\'" class="icon-block">\r\n <ul class="rating-list">\r\n <li *ngFor="let item of items; let i = index" (click)="update($event,item)" [ngClass]="{\'disabled\': !input}">\r\n <span class="rating-icon" [style.color]="indxValue >= i ? rateColor : \'\'">\r\n <i class="material-icons">{{type}}</i>\r\n </span>\r\n </li>\r\n </ul>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>',providers:[a],styles:[".number-block ul.rating-list li{list-style-type:none;display:inline-block}.number-block ul.rating-list li .rating-icon{width:33px;display:inline-block;border:1px solid #ccc;border-radius:50%;height:33px;margin-right:10px;cursor:pointer;background-color:#ccc;color:#fff}.number-block ul.rating-list li .rating-icon .rating-number{margin:4px auto 0;display:table}.icon-block ul.rating-list li{list-style-type:none;display:inline-block}.icon-block ul.rating-list li .rating-icon{height:33px;margin-right:10px;color:gray;cursor:pointer}.icon-block ul.rating-list li .rating-icon .rating-number{margin:4px auto 0;display:table}.disabled{pointer-events:none;opacity:.6}"]}]}],t.ctorParameters=function(){return[{type:e.Renderer2},{type:e.ElementRef}]},t.propDecorators={ratingObject:[{type:e.Input}],max:[{type:e.Input}],min:[{type:e.Input}],step:[{type:e.Input}],icon:[{type:e.Input}],type:[{type:e.Input}],title:[{type:e.Input}],color:[{type:e.Input}],input:[{type:e.Input}],rateChange:[{type:e.Output}]},t}();var l=function(){function t(){}return t.decorators=[{type:e.NgModule,args:[{declarations:[s],imports:[n.CommonModule,i.FormsModule,i.ReactiveFormsModule,r.MatSelectModule,o.MatCardModule],exports:[s]}]}],t}();t.AngRatingComponent=s,t.AngRatingModule=l,Object.defineProperty(t,"__esModule",{value:!0})})); //# sourceMappingURL=ang-rating.umd.min.js.map