fix: display CodeLookup values instead of IDs in datatable view (#2896)
Added empty check: parts[1] && parts[1].trim() to ensure the part after _cd_ exists and is not empty (line)
This commit is contained in:
+5
@@ -235,6 +235,11 @@ export class DatatableMultiRowComponent implements OnInit, OnDestroy, OnChanges
|
||||
if (typeof value === 'number') {
|
||||
value = this.numberFormat.transform(value);
|
||||
}
|
||||
} else if (columnDisplayType === 'CODELOOKUP') {
|
||||
if (columnHeader.columnValues && value !== null && value !== undefined) {
|
||||
const codeValue = columnHeader.columnValues.find((cv: any) => cv.id === value);
|
||||
value = codeValue ? codeValue.value : value;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
+6
-2
@@ -25,8 +25,7 @@
|
||||
@for (columnHeader of dataObject.columnHeaders; track columnHeader; let i = $index) {
|
||||
<div class="flex-fill" [ngClass]="setAttributeClass(columnHeader.columnName)">
|
||||
<div class="mat-body-strong left flex-40">
|
||||
{{ columnHeader.columnDisplayName }}
|
||||
{{ getInputName(columnHeader.columnName) }}
|
||||
{{ datatables.toDisplayLabel(columnHeader.columnName) }}
|
||||
</div>
|
||||
<div class="right flex-60">
|
||||
@switch (getColumnType(columnHeader.columnDisplayType, columnHeader.columnType)) {
|
||||
@@ -50,6 +49,11 @@
|
||||
{{ dataObject.data[0].row[i] | formatNumber }}
|
||||
</span>
|
||||
}
|
||||
@case ('CODELOOKUP') {
|
||||
<span>
|
||||
{{ datatables.getCodeLookupValue(columnHeader, dataObject.data[0].row[i]) }}
|
||||
</span>
|
||||
}
|
||||
@case ('TEXT') {
|
||||
<span class="long-text">
|
||||
{{ dataObject.data[0].row[i] }}
|
||||
|
||||
-2
@@ -20,8 +20,6 @@
|
||||
|
||||
.system-defined {
|
||||
margin-top: 3px;
|
||||
color: $status-approved !important;
|
||||
font-weight: 100;
|
||||
}
|
||||
|
||||
.long-text {
|
||||
|
||||
+6
-2
@@ -43,7 +43,7 @@ export class DatatableSingleRowComponent implements OnInit {
|
||||
private dateUtils = inject(Dates);
|
||||
private dialog = inject(MatDialog);
|
||||
private settingsService = inject(SettingsService);
|
||||
private datatables = inject(Datatables);
|
||||
public datatables = inject(Datatables);
|
||||
private systemService = inject(SystemService);
|
||||
|
||||
@Input() dataObject: any;
|
||||
@@ -123,7 +123,8 @@ export class DatatableSingleRowComponent implements OnInit {
|
||||
const data = {
|
||||
title: 'Edit ' + this.datatableName + ' for ' + this.entityType,
|
||||
formfields: formfields,
|
||||
layout: { addButtonText: 'Save' }
|
||||
layout: { addButtonText: 'Submit' },
|
||||
pristine: false
|
||||
};
|
||||
const editDialogRef = this.dialog.open(FormDialogComponent, { data, width: '50rem' });
|
||||
editDialogRef.afterClosed().subscribe((response: any) => {
|
||||
@@ -182,6 +183,9 @@ export class DatatableSingleRowComponent implements OnInit {
|
||||
case 'DECIMAL': {
|
||||
return columnDisplayType;
|
||||
}
|
||||
case 'CODELOOKUP': {
|
||||
return columnDisplayType;
|
||||
}
|
||||
case 'TEXT': {
|
||||
if (columnType === 'JSON') {
|
||||
return 'JSON';
|
||||
|
||||
Reference in New Issue
Block a user