diff --git a/src/app/core/utils/datatables.ts b/src/app/core/utils/datatables.ts index 83072d48d..2b809bcbe 100644 --- a/src/app/core/utils/datatables.ts +++ b/src/app/core/utils/datatables.ts @@ -257,4 +257,25 @@ export class Datatables { return false; } } + + public isPhoneNumberField(columnName: string): boolean { + if (!columnName) { + return false; + } + const normalizedName = columnName.toLowerCase().replace(/[_\s]+/g, ''); + const phonePatterns = [ + /\bphone\b/, + /\btelefono\b/, + /\bcelular\b/, + /\bmobile(?:phone|no|num|number)?\b/, + /\bfijo\b/, + /\blandline\b/, + /\bcellphone\b/, + /\bofficephone\b/, + /\bhomephone\b/, + /\bmtn\b/, + /\bairtel\b/ + ]; + return phonePatterns.some((pattern) => pattern.test(normalizedName)); + } } diff --git a/src/app/shared/tabs/entity-datatable-tab/datatable-multi-row/datatable-multi-row.component.ts b/src/app/shared/tabs/entity-datatable-tab/datatable-multi-row/datatable-multi-row.component.ts index c19c7c0db..5f9daf097 100644 --- a/src/app/shared/tabs/entity-datatable-tab/datatable-multi-row/datatable-multi-row.component.ts +++ b/src/app/shared/tabs/entity-datatable-tab/datatable-multi-row/datatable-multi-row.component.ts @@ -250,7 +250,9 @@ export class DatatableMultiRowComponent implements OnInit, OnDestroy, OnChanges value = this.dateTimeFormat.transform(value); } else if (columnDisplayType === 'INTEGER' || columnDisplayType === 'DECIMAL') { if (typeof value === 'number') { - value = this.numberFormat.transform(value); + if (!this.datatables.isPhoneNumberField(columnName)) { + value = this.numberFormat.transform(value); + } } } else if (columnDisplayType === 'CODELOOKUP') { if (columnHeader.columnValues && value !== null && value !== undefined) { diff --git a/src/app/shared/tabs/entity-datatable-tab/datatable-single-row/datatable-single-row.component.html b/src/app/shared/tabs/entity-datatable-tab/datatable-single-row/datatable-single-row.component.html index ebc72bd69..22ac9e372 100644 --- a/src/app/shared/tabs/entity-datatable-tab/datatable-single-row/datatable-single-row.component.html +++ b/src/app/shared/tabs/entity-datatable-tab/datatable-single-row/datatable-single-row.component.html @@ -56,7 +56,11 @@ } @case ('DECIMAL') { - {{ dataObject.data[0].row[i] | formatNumber }} + @if (datatables.isPhoneNumberField(columnHeader.columnName)) { + {{ dataObject.data[0].row[i] }} + } @else { + {{ dataObject.data[0].row[i] | formatNumber }} + } } @case ('CODELOOKUP') {