UNPKG

ng-prime-tools

Version:

An advanced PrimeNG table for Angular

43 lines 5.67 kB
import { Injectable } from '@angular/core'; import * as i0 from "@angular/core"; export class DateUtilityService { // Converts a date string (dd/mm/yyyy) to a Date object convertToDate(dateString) { if (dateString) { const parts = dateString.split('/'); if (parts.length === 3) { const day = parseInt(parts[0], 10); const month = parseInt(parts[1], 10) - 1; // Month is 0-based const year = parseInt(parts[2], 10); const date = new Date(year, month, day); return isNaN(date.getTime()) ? null : date; } } return null; } // Method to transform the data based on column type transformDateFields(data, columns) { return data.map((item) => { const transformedItem = { ...item }; columns.forEach((col) => { if (col.code && col.type === 'DATE' && // Make sure it's a date column transformedItem[col.code]) { transformedItem[col.code] = this.convertToDate(transformedItem[col.code]) || transformedItem[col.code]; } }); return transformedItem; }); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DateUtilityService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DateUtilityService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DateUtilityService, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS11dGlsaXR5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LWFkdmFuY2VkLXByaW1lLXRhYmxlL2RhdGUtdXRpbGl0eS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsdURBQXVEO0lBQ3ZELGFBQWEsQ0FBQyxVQUFrQjtRQUM5QixJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZCLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ25DLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsbUJBQW1CO2dCQUM3RCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNwQyxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUN4QyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDN0MsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxvREFBb0Q7SUFDcEQsbUJBQW1CLENBQUMsSUFBVyxFQUFFLE9BQWM7UUFDN0MsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdkIsTUFBTSxlQUFlLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO1lBRXBDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDdEIsSUFDRSxHQUFHLENBQUMsSUFBSTtvQkFDUixHQUFHLENBQUMsSUFBSSxLQUFLLE1BQU0sSUFBSSwrQkFBK0I7b0JBQ3RELGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQ3pCLENBQUM7b0JBQ0QsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7d0JBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQVcsQ0FBQzs0QkFDdkQsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDOUIsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsT0FBTyxlQUFlLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQW5DVSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQUZqQixNQUFNOzs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVV0aWxpdHlTZXJ2aWNlIHtcbiAgLy8gQ29udmVydHMgYSBkYXRlIHN0cmluZyAoZGQvbW0veXl5eSkgdG8gYSBEYXRlIG9iamVjdFxuICBjb252ZXJ0VG9EYXRlKGRhdGVTdHJpbmc6IHN0cmluZyk6IERhdGUgfCBudWxsIHtcbiAgICBpZiAoZGF0ZVN0cmluZykge1xuICAgICAgY29uc3QgcGFydHMgPSBkYXRlU3RyaW5nLnNwbGl0KCcvJyk7XG4gICAgICBpZiAocGFydHMubGVuZ3RoID09PSAzKSB7XG4gICAgICAgIGNvbnN0IGRheSA9IHBhcnNlSW50KHBhcnRzWzBdLCAxMCk7XG4gICAgICAgIGNvbnN0IG1vbnRoID0gcGFyc2VJbnQocGFydHNbMV0sIDEwKSAtIDE7IC8vIE1vbnRoIGlzIDAtYmFzZWRcbiAgICAgICAgY29uc3QgeWVhciA9IHBhcnNlSW50KHBhcnRzWzJdLCAxMCk7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgZGF5KTtcbiAgICAgICAgcmV0dXJuIGlzTmFOKGRhdGUuZ2V0VGltZSgpKSA/IG51bGwgOiBkYXRlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIE1ldGhvZCB0byB0cmFuc2Zvcm0gdGhlIGRhdGEgYmFzZWQgb24gY29sdW1uIHR5cGVcbiAgdHJhbnNmb3JtRGF0ZUZpZWxkcyhkYXRhOiBhbnlbXSwgY29sdW1uczogYW55W10pOiBhbnlbXSB7XG4gICAgcmV0dXJuIGRhdGEubWFwKChpdGVtKSA9PiB7XG4gICAgICBjb25zdCB0cmFuc2Zvcm1lZEl0ZW0gPSB7IC4uLml0ZW0gfTtcblxuICAgICAgY29sdW1ucy5mb3JFYWNoKChjb2wpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGNvbC5jb2RlICYmXG4gICAgICAgICAgY29sLnR5cGUgPT09ICdEQVRFJyAmJiAvLyBNYWtlIHN1cmUgaXQncyBhIGRhdGUgY29sdW1uXG4gICAgICAgICAgdHJhbnNmb3JtZWRJdGVtW2NvbC5jb2RlXVxuICAgICAgICApIHtcbiAgICAgICAgICB0cmFuc2Zvcm1lZEl0ZW1bY29sLmNvZGVdID1cbiAgICAgICAgICAgIHRoaXMuY29udmVydFRvRGF0ZSh0cmFuc2Zvcm1lZEl0ZW1bY29sLmNvZGVdIGFzIHN0cmluZykgfHxcbiAgICAgICAgICAgIHRyYW5zZm9ybWVkSXRlbVtjb2wuY29kZV07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gdHJhbnNmb3JtZWRJdGVtO1xuICAgIH0pO1xuICB9XG59XG4iXX0=