ngx-feedback
Version:
Angular Feedback Library
92 lines • 6.46 kB
JavaScript
/**
* @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==