UNPKG

@jcbautistam/custom-table

Version:

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

53 lines 6.82 kB
import { Directive, ElementRef, HostListener, Renderer2, Input, } from '@angular/core'; import { NgControl } from '@angular/forms'; import { formatDate } from '@angular/common'; import * as i0 from "@angular/core"; import * as i1 from "@angular/forms"; export class DateTimeFormatDirective { constructor(el, control, renderer) { this.el = el; this.control = control; this.renderer = renderer; this.format = ''; } onDateChange() { let string = this.formatDate(); this.renderer.setProperty(this.el.nativeElement, 'value', string); } ngOnInit() { let string = this.formatDate() == '31/12/1969 18:00' ? '' : this.formatDate(); this.renderer.setProperty(this.el.nativeElement, 'value', string); } // ngOnChanges() { // let string = this.formatDate(); // this.renderer.setProperty(this.el.nativeElement, 'value', string); // } onInput(value) { let string = this.formatDate(); this.renderer.setProperty(this.el.nativeElement, 'value', string); } formatDate() { if (this.format == 'date') return formatDate(this.control.value, 'dd/MM/yyyy', 'en-US'); else return formatDate(this.control.value, 'dd/MM/yyyy HH:mm', 'en-US'); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: DateTimeFormatDirective, deps: [{ token: i0.ElementRef }, { token: i1.NgControl }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.2", type: DateTimeFormatDirective, selector: "[dateFormat]", inputs: { format: ["dateFormat", "format"] }, host: { listeners: { "dateChange": "onDateChange($event)", "input": "onInput($event.target.value)" } }, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: DateTimeFormatDirective, decorators: [{ type: Directive, args: [{ selector: '[dateFormat]', }] }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.NgControl }, { type: i0.Renderer2 }]; }, propDecorators: { format: [{ type: Input, args: ['dateFormat'] }], onDateChange: [{ type: HostListener, args: ['dateChange', ['$event']] }], onInput: [{ type: HostListener, args: ['input', ['$event.target.value']] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9tYXJ0RGF0ZVRpbWUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3VzdG9tLXRhYmxlL3NyYy9saWIvRGlyZWN0aXZlcy9Gb21hcnREYXRlVGltZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFNBQVMsRUFDVCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBd0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUs3QyxNQUFNLE9BQU8sdUJBQXVCO0lBR2xDLFlBQ1UsRUFBYyxFQUNkLE9BQWtCLEVBQ2xCLFFBQW1CO1FBRm5CLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxZQUFPLEdBQVAsT0FBTyxDQUFXO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFMUixXQUFNLEdBQVksRUFBRSxDQUFDO0lBTXZDLENBQUM7SUFFb0MsWUFBWTtRQUNsRCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM5RSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixvQ0FBb0M7SUFFcEMsdUVBQXVFO0lBQ3ZFLElBQUk7SUFHSixPQUFPLENBQUMsS0FBYTtRQUNuQixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU07WUFDdkIsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDOztZQUMxRCxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMxRSxDQUFDOzhHQW5DVSx1QkFBdUI7a0dBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFIbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztpQkFDekI7aUpBRXNCLE1BQU07c0JBQTFCLEtBQUs7dUJBQUMsWUFBWTtnQkFRcUIsWUFBWTtzQkFBbkQsWUFBWTt1QkFBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBaUJ0QyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBFbGVtZW50UmVmLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBSZW5kZXJlcjIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ0NvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2RhdGVGb3JtYXRdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVUaW1lRm9ybWF0RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoJ2RhdGVGb3JtYXQnKSBmb3JtYXQ/OiBzdHJpbmcgPSAnJztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBjb250cm9sOiBOZ0NvbnRyb2wsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcclxuICApIHt9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RhdGVDaGFuZ2UnLCBbJyRldmVudCddKSBvbkRhdGVDaGFuZ2UoKSB7XHJcbiAgICBsZXQgc3RyaW5nID0gdGhpcy5mb3JtYXREYXRlKCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgc3RyaW5nKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgbGV0IHN0cmluZyA9IHRoaXMuZm9ybWF0RGF0ZSgpID09ICczMS8xMi8xOTY5IDE4OjAwJyA/ICcnIDogdGhpcy5mb3JtYXREYXRlKCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgc3RyaW5nKTtcclxuICB9XHJcblxyXG4gIC8vIG5nT25DaGFuZ2VzKCkge1xyXG4gIC8vICAgbGV0IHN0cmluZyA9IHRoaXMuZm9ybWF0RGF0ZSgpO1xyXG5cclxuICAvLyAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAndmFsdWUnLCBzdHJpbmcpO1xyXG4gIC8vIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignaW5wdXQnLCBbJyRldmVudC50YXJnZXQudmFsdWUnXSlcclxuICBvbklucHV0KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIGxldCBzdHJpbmcgPSB0aGlzLmZvcm1hdERhdGUoKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAndmFsdWUnLCBzdHJpbmcpO1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0RGF0ZSgpIHtcclxuICAgIGlmICh0aGlzLmZvcm1hdCA9PSAnZGF0ZScpXHJcbiAgICAgIHJldHVybiBmb3JtYXREYXRlKHRoaXMuY29udHJvbC52YWx1ZSwgJ2RkL01NL3l5eXknLCAnZW4tVVMnKTtcclxuICAgIGVsc2UgcmV0dXJuIGZvcm1hdERhdGUodGhpcy5jb250cm9sLnZhbHVlLCAnZGQvTU0veXl5eSBISDptbScsICdlbi1VUycpO1xyXG4gIH1cclxufVxyXG4iXX0=