datatable-single-row now supports json object

This commit is contained in:
Dániel Gyenizse
2023-11-20 10:24:05 +01:00
committed by Adam Saghy
parent df71736fd6
commit 3f4e44af49
6 changed files with 56 additions and 5 deletions
@@ -22,7 +22,7 @@
{{ getInputName(columnHeader.columnName) }}
</div>
<div fxFlex="68%" [ngSwitch]="columnHeader.columnDisplayType" class="right">
<div fxFlex="68%" [ngSwitch]="getColumnType(columnHeader.columnDisplayType, columnHeader.columnType)" class="right">
<span *ngSwitchCase="'DATE'">
{{dataObject.data[0].row[i] | dateFormat}}
</span>
@@ -35,6 +35,8 @@
<span *ngSwitchCase="'TEXT'" class="long-text">
{{dataObject.data[0].row[i]}}
</span>
<textarea *ngSwitchCase="'JSON'" cdkTextareaAutosize="true" cdkAutosizeMaxRows="20" cdkAutosizeMinRows="1" style="width: 100%; height: 100%" [innerHTML]="dataObject.data[0].row[i].value | prettyPrint">
</textarea>
<span *ngSwitchDefault>
<span class="m-r-5" *ngIf="isValidUrl(dataObject.data[0].row[i])">
<button mat-icon-button matTooltip="{{ 'tooltips.View Link' | translate }}" (click)="openSite(dataObject.data[0].row[i])"
@@ -129,6 +129,33 @@ export class DatatableSingleRowComponent implements OnInit {
return 'table-data';
}
getColumnType(columnDisplayType: string, columnType: string) {
switch (columnDisplayType) {
case 'DATE': {
return columnDisplayType;
}
case 'DATETIME': {
return columnDisplayType;
}
case 'INTEGER': {
return columnDisplayType;
}
case 'DECIMAL': {
return columnDisplayType;
}
case 'TEXT': {
if (columnType == 'JSON') {
return 'JSON';
} else {
return columnDisplayType;
}
}
default: {
return columnDisplayType;
}
}
}
getInputName(attr: string): string {
return this.datatables.getName(attr);
}