@mugan86/ng-shop-ui
Version:
Librería para crear los componentes de una tienda Online
57 lines (55 loc) • 4.59 kB
JavaScript
import { __decorate } from "tslib";
import { Component, Input, Output, EventEmitter } from '@angular/core';
let QuantitySelectorComponent = class QuantitySelectorComponent {
constructor() {
this.updateValue = new EventEmitter();
}
changeValue(action) {
if (action === '-' && this.qty > 1) {
this.qty--;
}
else if (action === '+' && this.qty < this.stock) {
this.qty++;
}
this.sendUpdate();
}
sendUpdate() {
this.updateValue.emit(this.qty);
}
};
__decorate([
Input()
], QuantitySelectorComponent.prototype, "qty", void 0);
__decorate([
Input()
], QuantitySelectorComponent.prototype, "stock", void 0);
__decorate([
Output()
], QuantitySelectorComponent.prototype, "updateValue", void 0);
QuantitySelectorComponent = __decorate([
Component({
selector: 'shop-qty-selector',
template: "<div>\n <button type=\"button\" class=\"btn btn-dark qty-btn\" (click)=\"changeValue('-')\">\n -\n </button>\n <input\n type=\"text\"\n [(ngModel)]=\"qty\"\n value=\"1\"\n name=\"quantity\"\n class=\"text-center quantity\"\n disabled\n />\n <button type=\"button\" class=\"btn btn-dark qty-btn\" (click)=\"changeValue('+')\">\n +\n </button>\n</div>\n\n",
styles: [`
div {
margin-bottom: 5px;
}
.quantity {
width: 20%;
margin-bottom: 5px;
}
input[type='text']:disabled {
color: black;
width: 60px
}
.qty-btn {
border-radius: 20px;
padding-top: 3px;
/* top - right - bottom - left => sentido de las agujas del reloj*/
margin: -2px 3px 2px 3px;
}
`]
})
], QuantitySelectorComponent);
export { QuantitySelectorComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhbnRpdHktc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG11Z2FuODYvbmctc2hvcC11aS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3F1YW50aXR5LXNlbGVjdG9yL3F1YW50aXR5LXNlbGVjdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQTZCdkUsSUFBYSx5QkFBeUIsR0FBdEMsTUFBYSx5QkFBeUI7SUFBdEM7UUFHWSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFjckQsQ0FBQztJQWJDLFdBQVcsQ0FBQyxNQUFjO1FBQ3hCLElBQUksTUFBTSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRTtZQUNsQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7U0FDWjthQUFNLElBQUksTUFBTSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDbEQsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQ1o7UUFDRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUVGLENBQUE7QUFoQlU7SUFBUixLQUFLLEVBQUU7c0RBQWE7QUFDWjtJQUFSLEtBQUssRUFBRTt3REFBZTtBQUNiO0lBQVQsTUFBTSxFQUFFOzhEQUEwQztBQUh4Qyx5QkFBeUI7SUEzQnJDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxtQkFBbUI7UUFDN0IsaWNBQWlEO2lCQUUvQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FvQkM7S0FFSixDQUFDO0dBQ1cseUJBQXlCLENBaUJyQztTQWpCWSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaG9wLXF0eS1zZWxlY3RvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWFudGl0eS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIGRpdiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIH1cbiAgICAgIC5xdWFudGl0eSB7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIH1cblxuICAgICAgaW5wdXRbdHlwZT0ndGV4dCddOmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICB3aWR0aDogNjBweFxuICAgICAgfVxuXG4gICAgICAucXR5LWJ0biB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICAgICAgIC8qIHRvcCAtIHJpZ2h0IC0gYm90dG9tIC0gbGVmdCA9PiBzZW50aWRvIGRlIGxhcyBhZ3VqYXMgZGVsIHJlbG9qKi9cbiAgICAgICAgbWFyZ2luOiAtMnB4IDNweCAycHggM3B4O1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFF1YW50aXR5U2VsZWN0b3JDb21wb25lbnQge1xuICBASW5wdXQoKSBxdHk6IG51bWJlcjtcbiAgQElucHV0KCkgc3RvY2s6IG51bWJlcjtcbiAgQE91dHB1dCgpIHVwZGF0ZVZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIGNoYW5nZVZhbHVlKGFjdGlvbjogc3RyaW5nKSB7XG4gICAgaWYgKGFjdGlvbiA9PT0gJy0nICYmIHRoaXMucXR5ID4gMSkge1xuICAgICAgdGhpcy5xdHktLTtcbiAgICB9IGVsc2UgaWYgKGFjdGlvbiA9PT0gJysnICYmIHRoaXMucXR5IDwgdGhpcy5zdG9jaykge1xuICAgICAgdGhpcy5xdHkrKztcbiAgICB9XG4gICAgdGhpcy5zZW5kVXBkYXRlKCk7XG4gIH1cblxuICBzZW5kVXBkYXRlKCkge1xuICAgIHRoaXMudXBkYXRlVmFsdWUuZW1pdCh0aGlzLnF0eSk7XG4gIH1cblxufVxuIl19