@jcbautistam/custom-table
Version:
Librería de tabla reutilizable con acciones, filtros, exportación y más.
30 lines • 3.49 kB
JavaScript
import { Directive, ElementRef, HostListener, Input } from '@angular/core';
import * as i0 from "@angular/core";
export class MaxLengthDirective {
constructor(el) {
this.el = el;
}
onInput(event) {
const input = event.target;
const trimmedValue = input.value.slice(0, this.maxLength);
if (trimmedValue !== input.value) {
input.value = trimmedValue;
input.dispatchEvent(new Event('input'));
}
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: MaxLengthDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.2", type: MaxLengthDirective, selector: "[appMaxLength]", inputs: { maxLength: ["appMaxLength", "maxLength"] }, host: { listeners: { "input": "onInput($event)" } }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: MaxLengthDirective, decorators: [{
type: Directive,
args: [{
selector: '[appMaxLength]'
}]
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { maxLength: [{
type: Input,
args: ['appMaxLength']
}], onInput: [{
type: HostListener,
args: ['input', ['$event']]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWF4TGVuZ3RoLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2N1c3RvbS10YWJsZS9zcmMvbGliL0RpcmVjdGl2ZXMvTWF4TGVuZ3RoLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszRSxNQUFNLE9BQU8sa0JBQWtCO0lBSTdCLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBQUksQ0FBQztJQUVKLE9BQU8sQ0FBQyxLQUFZO1FBQ3JELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUEwQixDQUFDO1FBQy9DLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUQsSUFBSSxZQUFZLEtBQUssS0FBSyxDQUFDLEtBQUssRUFBRTtZQUNoQyxLQUFLLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQztZQUMzQixLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDekM7SUFDSCxDQUFDOzhHQWJVLGtCQUFrQjtrR0FBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUg5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzNCO2lHQUd3QixTQUFTO3NCQUEvQixLQUFLO3VCQUFDLGNBQWM7Z0JBSWMsT0FBTztzQkFBekMsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2FwcE1heExlbmd0aF0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXhMZW5ndGhEaXJlY3RpdmUge1xyXG5cclxuICBASW5wdXQoJ2FwcE1heExlbmd0aCcpIG1heExlbmd0aCE6IG51bWJlcjsgXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHsgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdpbnB1dCcsIFsnJGV2ZW50J10pIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgY29uc3QgdHJpbW1lZFZhbHVlID0gaW5wdXQudmFsdWUuc2xpY2UoMCwgdGhpcy5tYXhMZW5ndGgpO1xyXG4gICAgaWYgKHRyaW1tZWRWYWx1ZSAhPT0gaW5wdXQudmFsdWUpIHtcclxuICAgICAgaW5wdXQudmFsdWUgPSB0cmltbWVkVmFsdWU7XHJcbiAgICAgIGlucHV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdpbnB1dCcpKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19