UNPKG

@jcbautistam/custom-table

Version:

Librería de tabla reutilizable con acciones, filtros, exportación y más.

49 lines 6.23 kB
import { Directive, HostListener, Input } from '@angular/core'; import { NgControl } from '@angular/forms'; import * as i0 from "@angular/core"; import * as i1 from "@angular/forms"; export class ValidateSpecialCharsDirective { set validate(value) { this._validate = (value == 'false') ? false : true; } set validChars(value) { this._validChars = value || ""; } constructor(ngControl) { this.ngControl = ngControl; this._validate = true; this._validChars = ''; this._validCharsDefault = "!#@\"'?¿*)(+-=/%&"; } onInputChange(value) { let valorInput = value; let validChars = this._validChars; if (this._validate) { valorInput = valorInput.replace(/[^a-zA-Z0-9\s]/g, ''); // Eliminar caracteres especiales } else { if (validChars === '') validChars = this._validCharsDefault; const validCharsRegex = new RegExp(`[^a-zA-Z0-9${validChars}\\s]`, 'g'); valorInput = valorInput.replace(validCharsRegex, ''); // Eliminar caracteres no permitidos } this.ngControl?.control?.setValue(valorInput, { emitEvent: false }); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: ValidateSpecialCharsDirective, deps: [{ token: i1.NgControl }], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.2", type: ValidateSpecialCharsDirective, selector: "[validateSpecialChars]", inputs: { validate: ["validateSpecialChars", "validate"], validChars: "validChars" }, host: { listeners: { "input": "onInputChange($event.target.value)" } }, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: ValidateSpecialCharsDirective, decorators: [{ type: Directive, args: [{ selector: '[validateSpecialChars]' }] }], ctorParameters: function () { return [{ type: i1.NgControl }]; }, propDecorators: { validate: [{ type: Input, args: ['validateSpecialChars'] }], validChars: [{ type: Input }], onInputChange: [{ type: HostListener, args: ['input', ['$event.target.value']] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmFsaWRhdGVTcGVjaWFsQ2hhcnMuRGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3VzdG9tLXRhYmxlL3NyYy9saWIvRGlyZWN0aXZlcy9WYWxpZGF0ZVNwZWNpYWxDaGFycy5EaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBSzNDLE1BQU0sT0FBTyw2QkFBNkI7SUFNeEMsSUFDSSxRQUFRLENBQUMsS0FBVTtRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFDSSxVQUFVLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELFlBQW9CLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFkaEMsY0FBUyxHQUFZLElBQUksQ0FBQztRQUMxQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6Qix1QkFBa0IsR0FBVyxtQkFBbUIsQ0FBQztJQVliLENBQUM7SUFFRyxhQUFhLENBQUMsS0FBYTtRQUN6RSxJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUVsQyxJQUFLLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQ0FBaUM7U0FDMUY7YUFBTztZQUVSLElBQUcsVUFBVSxLQUFLLEVBQUU7Z0JBQ2hCLFVBQVUsR0FBSSxJQUFJLENBQUMsa0JBQWtCLENBQUM7WUFFeEMsTUFBTSxlQUFlLEdBQUcsSUFBSSxNQUFNLENBQUMsY0FBYyxVQUFVLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN4RSxVQUFVLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxvQ0FBb0M7U0FDM0Y7UUFFRCxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsVUFBVSxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQzs4R0FsQ1UsNkJBQTZCO2tHQUE3Qiw2QkFBNkI7OzJGQUE3Qiw2QkFBNkI7a0JBSHpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtpQkFDbkM7Z0dBUUssUUFBUTtzQkFEWCxLQUFLO3VCQUFDLHNCQUFzQjtnQkFNekIsVUFBVTtzQkFEYixLQUFLO2dCQU8wQyxhQUFhO3NCQUE1RCxZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3ZhbGlkYXRlU3BlY2lhbENoYXJzXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFZhbGlkYXRlU3BlY2lhbENoYXJzRGlyZWN0aXZlIHtcclxuXHJcbiAgcHJpdmF0ZSBfdmFsaWRhdGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHByaXZhdGUgX3ZhbGlkQ2hhcnM6IHN0cmluZyA9ICcnO1xyXG4gIHByaXZhdGUgX3ZhbGlkQ2hhcnNEZWZhdWx0OiBzdHJpbmcgPSBcIiEjQFxcXCInP8K/KikoKy09LyUmXCI7XHJcblxyXG4gIEBJbnB1dCgndmFsaWRhdGVTcGVjaWFsQ2hhcnMnKVxyXG4gIHNldCB2YWxpZGF0ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLl92YWxpZGF0ZSA9ICh2YWx1ZSA9PSAnZmFsc2UnKSA/IGZhbHNlIDogdHJ1ZTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHZhbGlkQ2hhcnModmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fdmFsaWRDaGFycyA9IHZhbHVlIHx8IFwiXCI7XHJcbiAgfVxyXG4gIFxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdDb250cm9sOiBOZ0NvbnRyb2wpIHsgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdpbnB1dCcsIFsnJGV2ZW50LnRhcmdldC52YWx1ZSddKSBvbklucHV0Q2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIGxldCB2YWxvcklucHV0ID0gdmFsdWU7XHJcbiAgICBsZXQgdmFsaWRDaGFycyA9IHRoaXMuX3ZhbGlkQ2hhcnM7XHJcblxyXG4gICAgaWYgKCB0aGlzLl92YWxpZGF0ZSkge1xyXG4gICAgICB2YWxvcklucHV0ID0gdmFsb3JJbnB1dC5yZXBsYWNlKC9bXmEtekEtWjAtOVxcc10vZywgJycpOyAvLyBFbGltaW5hciBjYXJhY3RlcmVzIGVzcGVjaWFsZXNcclxuICAgIH0gZWxzZSAge1xyXG4gICAgICAgIFxyXG4gICAgaWYodmFsaWRDaGFycyA9PT0gJycpIFxyXG4gICAgICAgIHZhbGlkQ2hhcnMgPSAgdGhpcy5fdmFsaWRDaGFyc0RlZmF1bHQ7XHJcbiAgICAgIFxyXG4gICAgICBjb25zdCB2YWxpZENoYXJzUmVnZXggPSBuZXcgUmVnRXhwKGBbXmEtekEtWjAtOSR7dmFsaWRDaGFyc31cXFxcc11gLCAnZycpO1xyXG4gICAgICB2YWxvcklucHV0ID0gdmFsb3JJbnB1dC5yZXBsYWNlKHZhbGlkQ2hhcnNSZWdleCwgJycpOyAvLyBFbGltaW5hciBjYXJhY3RlcmVzIG5vIHBlcm1pdGlkb3NcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uc2V0VmFsdWUodmFsb3JJbnB1dCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gIH1cclxufSJdfQ==