UNPKG

ngx-feedback

Version:

Angular Feedback Library

92 lines 6.46 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Output, EventEmitter } from '@angular/core'; export class StarVoteComponent { constructor() { this.stars = [ { type: 'empty', value: 1 }, { type: 'empty', value: 2 }, { type: 'empty', value: 3 }, { type: 'empty', value: 4 }, { type: 'empty', value: 5 } ]; this.voted = new EventEmitter(); } /** * @return {?} */ ngOnInit() { } /** * @param {?} index * @return {?} */ onClick(index) { this.stars.forEach((/** * @param {?} s * @param {?} i * @return {?} */ (s, i) => { if (i <= index) { s.type = 'full'; } else { s.type = 'empty'; } })); this.voted.emit(index + 1); } /** * @param {?} index * @return {?} */ onMouseEnter(index) { this.stars.forEach((/** * @param {?} s * @param {?} i * @return {?} */ (s, i) => { if (i <= index && s.type !== 'full') { s.type = 'temp'; } })); } /** * @param {?} index * @return {?} */ onMouseLeave(index) { this.stars.forEach((/** * @param {?} s * @param {?} i * @return {?} */ (s, i) => { if (s.type === 'temp') { s.type = 'empty'; } })); } } StarVoteComponent.decorators = [ { type: Component, args: [{ selector: 'ngx-feedback-star-vote', template: "<div class=\"ngx-feedback-star-vote__container\">\n <div class=\"ngx-feedback-star-vote__star\" *ngFor=\"let s of stars; index as i\">\n <ngx-feedback-star\n (click)=\"onClick(i)\"\n (mouseenter)=\"onMouseEnter(i)\"\n (mouseleave)=\"onMouseLeave(i)\"\n [type]=\"s.type\"\n ></ngx-feedback-star>\n </div>\n</div>\n", styles: [".ngx-feedback-star-vote__container{display:flex;flex-direction:row;justify-content:center;padding:10px}"] }] } ]; /** @nocollapse */ StarVoteComponent.ctorParameters = () => []; StarVoteComponent.propDecorators = { voted: [{ type: Output }] }; if (false) { /** @type {?} */ StarVoteComponent.prototype.stars; /** @type {?} */ StarVoteComponent.prototype.voted; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rhci12b3RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1mZWVkYmFjay8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3N0YXItdm90ZS9zdGFyLXZvdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPeEUsTUFBTSxPQUFPLGlCQUFpQjtJQVkxQjtRQVhBLFVBQUssR0FBVTtZQUNYLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1lBQzNCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1lBQzNCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1lBQzNCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1lBQzNCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1NBQzlCLENBQUM7UUFHRixVQUFLLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7SUFFMUMsQ0FBQzs7OztJQUVoQixRQUFRLEtBQUksQ0FBQzs7Ozs7SUFFYixPQUFPLENBQUMsS0FBYTtRQUNqQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87Ozs7O1FBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDeEIsSUFBSSxDQUFDLElBQUksS0FBSyxFQUFFO2dCQUNaLENBQUMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO2FBQ25CO2lCQUFNO2dCQUNILENBQUMsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO2FBQ3BCO1FBQ0wsQ0FBQyxFQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7Ozs7SUFFRCxZQUFZLENBQUMsS0FBYTtRQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87Ozs7O1FBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDeEIsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO2dCQUNqQyxDQUFDLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQzthQUNuQjtRQUNMLENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7Ozs7SUFFRCxZQUFZLENBQUMsS0FBYTtRQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87Ozs7O1FBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDeEIsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtnQkFDbkIsQ0FBQyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7YUFDcEI7UUFDTCxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7OztZQTlDSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMscVlBQXlDOzthQUU1Qzs7Ozs7b0JBVUksTUFBTTs7OztJQVJQLGtDQU1FOztJQUVGLGtDQUN5RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25neC1mZWVkYmFjay1zdGFyLXZvdGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdGFyLXZvdGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0YXItdm90ZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFN0YXJWb3RlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBzdGFyczogYW55W10gPSBbXG4gICAgICAgIHsgdHlwZTogJ2VtcHR5JywgdmFsdWU6IDEgfSxcbiAgICAgICAgeyB0eXBlOiAnZW1wdHknLCB2YWx1ZTogMiB9LFxuICAgICAgICB7IHR5cGU6ICdlbXB0eScsIHZhbHVlOiAzIH0sXG4gICAgICAgIHsgdHlwZTogJ2VtcHR5JywgdmFsdWU6IDQgfSxcbiAgICAgICAgeyB0eXBlOiAnZW1wdHknLCB2YWx1ZTogNSB9XG4gICAgXTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHZvdGVkOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7fVxuXG4gICAgb25DbGljayhpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc3RhcnMuZm9yRWFjaCgocywgaSkgPT4ge1xuICAgICAgICAgICAgaWYgKGkgPD0gaW5kZXgpIHtcbiAgICAgICAgICAgICAgICBzLnR5cGUgPSAnZnVsbCc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHMudHlwZSA9ICdlbXB0eSc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnZvdGVkLmVtaXQoaW5kZXggKyAxKTtcbiAgICB9XG5cbiAgICBvbk1vdXNlRW50ZXIoaW5kZXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLnN0YXJzLmZvckVhY2goKHMsIGkpID0+IHtcbiAgICAgICAgICAgIGlmIChpIDw9IGluZGV4ICYmIHMudHlwZSAhPT0gJ2Z1bGwnKSB7XG4gICAgICAgICAgICAgICAgcy50eXBlID0gJ3RlbXAnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbk1vdXNlTGVhdmUoaW5kZXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLnN0YXJzLmZvckVhY2goKHMsIGkpID0+IHtcbiAgICAgICAgICAgIGlmIChzLnR5cGUgPT09ICd0ZW1wJykge1xuICAgICAgICAgICAgICAgIHMudHlwZSA9ICdlbXB0eSc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==