{"version":3,"file":"primeng-rating.js","sources":["../../src/app/components/rating/rating.ts","../../src/app/components/rating/primeng-rating.ts"],"sourcesContent":["import {NgModule,Component,OnInit,Input,Output,EventEmitter,forwardRef,ChangeDetectorRef,ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {NG_VALUE_ACCESSOR, ControlValueAccessor} from '@angular/forms';\n\nexport const RATING_VALUE_ACCESSOR: any = {\n  provide: NG_VALUE_ACCESSOR,\n  useExisting: forwardRef(() => Rating),\n  multi: true\n};\n\n@Component({\n    selector: 'p-rating',\n    template: `\n        <div class=\"p-rating\" [ngClass]=\"{'p-readonly': readonly, 'p-disabled': disabled}\">\n            <span [attr.tabindex]=\"(disabled || readonly) ? null : '0'\" *ngIf=\"cancel\" (click)=\"clear($event)\" (keydown.enter)=\"clear($event)\" class=\"p-rating-icon p-rating-cancel\" [ngClass]=\"iconCancelClass\" [ngStyle]=\"iconCancelStyle\"></span>\n            <span *ngFor=\"let star of starsArray;let i=index\" class=\"p-rating-icon\" [attr.tabindex]=\"(disabled || readonly) ? null : '0'\"  (click)=\"rate($event,i)\" (keydown.enter)=\"rate($event,i)\"\n                [ngClass]=\"(!value || i >= value) ? iconOffClass : iconOnClass\"\n                [ngStyle]=\"(!value || i >= value) ? iconOffStyle : iconOnStyle\"></span>\n        </div>\n    `,\n    providers: [RATING_VALUE_ACCESSOR],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    styleUrls: ['./rating.css']\n})\nexport class Rating implements OnInit,ControlValueAccessor {\n\n    @Input() disabled: boolean;\n\n    @Input() readonly: boolean;\n\n    @Input() stars: number = 5;\n\n    @Input() cancel: boolean = true;\n\n    @Input() iconOnClass: string = 'pi pi-star';\n\n    @Input() iconOnStyle: any;\n\n    @Input() iconOffClass: string = 'pi pi-star-o';\n\n    @Input() iconOffStyle: any;\n\n    @Input() iconCancelClass: string = 'pi pi-ban';\n\n    @Input() iconCancelStyle: any;\n\n    @Output() onRate: EventEmitter<any> = new EventEmitter();\n\n    @Output() onCancel: EventEmitter<any> = new EventEmitter();\n\n    constructor(private cd: ChangeDetectorRef) {} \n    \n    value: number;\n    \n    onModelChange: Function = () => {};\n    \n    onModelTouched: Function = () => {};\n    \n    public starsArray: number[];\n    \n    ngOnInit() {\n        this.starsArray = [];\n        for(let i = 0; i < this.stars; i++) {\n            this.starsArray[i] = i;\n        }\n    }\n    \n    rate(event, i: number): void {\n        if (!this.readonly&&!this.disabled) {\n            this.value = (i + 1);\n            this.onModelChange(this.value);\n            this.onModelTouched();\n            this.onRate.emit({\n                originalEvent: event,\n                value: (i+1)\n            });\n        }\n        event.preventDefault();        \n    }\n    \n    clear(event): void {\n        if (!this.readonly&&!this.disabled) {\n            this.value = null;\n            this.onModelChange(this.value);\n            this.onModelTouched();\n            this.onCancel.emit(event);\n        }\n        event.preventDefault();\n    }\n    \n    writeValue(value: any) : void {\n        this.value = value;\n        this.cd.detectChanges();\n    }\n    \n    registerOnChange(fn: Function): void {\n        this.onModelChange = fn;\n    }\n\n    registerOnTouched(fn: Function): void {\n        this.onModelTouched = fn;\n    }\n    \n    setDisabledState(val: boolean): void {\n        this.disabled = val;\n        this.cd.markForCheck();\n    }\n}\n\n@NgModule({\n    imports: [CommonModule],\n    exports: [Rating],\n    declarations: [Rating]\n})\nexport class RatingModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}