@ioniczoo/starfish-rating-component
Version:
Rating Component for Ionic: Our bright starfish will help you carry out rating. Our Starfish is a Rating Component.
2 lines (1 loc) • 3.2 kB
JavaScript
var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __metadata=this&&this.__metadata||function(k,v){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(k,v)};import{Input}from"@angular/core";import{Output}from"@angular/core";import{NgModule}from"@angular/core";import{Component}from"@angular/core";import{forwardRef}from"@angular/core";import{EventEmitter}from"@angular/core";import{NG_VALUE_ACCESSOR}from"@angular/forms";var RatingComponent=function(){function RatingComponent(){this.change=new EventEmitter;this.value=5;this.stars=5;this.color="#f1f100";this.background="#ccc";this.icon="star";this.items=[1,2,3,4,5];this.onTouchedCallback=function(){};this.onChangeCallback=function(){}}RatingComponent_1=RatingComponent;RatingComponent.prototype.ngAfterViewInit=function(){this.items=Array(Number(this.stars));this.onChangeCallback(this.value)};RatingComponent.prototype.setStar=function(star){if(star+1==1&&this.value==1)this.value=0;else if(star+1==0)this.value=1;else this.value=star+1;this.change.emit(this.value);this.onTouchedCallback();this.onChangeCallback(this.value)};RatingComponent.prototype.writeValue=function(value){if(value&&Number(value)!==this.value){this.value=Number(value);this.onChangeCallback(this.value)}};RatingComponent.prototype.registerOnTouched=function(fn){this.onTouchedCallback=fn};RatingComponent.prototype.registerOnChange=function(fn){this.onChangeCallback=fn};var RatingComponent_1;__decorate([Output(),__metadata("design:type",EventEmitter)],RatingComponent.prototype,"change",void 0);__decorate([Input(),__metadata("design:type",Number)],RatingComponent.prototype,"value",void 0);__decorate([Input(),__metadata("design:type",Number)],RatingComponent.prototype,"stars",void 0);__decorate([Input(),__metadata("design:type",String)],RatingComponent.prototype,"color",void 0);__decorate([Input(),__metadata("design:type",String)],RatingComponent.prototype,"background",void 0);__decorate([Input(),__metadata("design:type",String)],RatingComponent.prototype,"icon",void 0);RatingComponent=RatingComponent_1=__decorate([Component({selector:"zoo-rating",template:"<ion-icon [name]=\"icon\" (tap)=\"setStar(star)\" [ngStyle]=\"{'color': value >= star + 1 ? color : background }\" *ngFor=\"let _ of items; let star = index\"></ion-icon>",providers:[{provide:NG_VALUE_ACCESSOR,useExisting:forwardRef(function(){return RatingComponent_1}),multi:true}]}),__metadata("design:paramtypes",[])],RatingComponent);return RatingComponent}();export{RatingComponent};var RatingComponentModule=function(){function RatingComponentModule(){}RatingComponentModule=__decorate([NgModule({declarations:[RatingComponent],exports:[RatingComponent]})],RatingComponentModule);return RatingComponentModule}();export{RatingComponentModule};