Enhancements for datatables datetime fields

This commit is contained in:
Jose Alberto Hernandez
2022-08-03 15:56:09 +02:00
committed by Arnold Gálovics
parent 287f1f37e0
commit dce82fa92d
14 changed files with 159 additions and 721 deletions
+69
View File
@@ -0,0 +1,69 @@
import { Injectable } from '@angular/core';
import { CheckboxBase } from 'app/shared/form-dialog/formfield/model/checkbox-base';
import { InputBase } from 'app/shared/form-dialog/formfield/model/input-base';
import { SelectBase } from 'app/shared/form-dialog/formfield/model/select-base';
import { Dates } from './dates';
@Injectable({
providedIn: 'root'
})
export class Datatables {
constructor() { }
public getFormfields(columns: any, dateTransformColumns: string[], dataTableEntryObject: any) {
return columns.map((column: any) => {
switch (column.columnDisplayType) {
case 'INTEGER':
case 'STRING':
case 'DECIMAL':
case 'TEXT': return new InputBase({
controlName: column.columnName,
label: column.columnName,
value: '',
type: (column.columnDisplayType === 'INTEGER' || column.columnDisplayType === 'DECIMAL') ? 'number' : 'text',
required: (column.isColumnNullable) ? false : true
});
case 'BOOLEAN': return new CheckboxBase({
controlName: column.columnName,
label: column.columnName,
value: '',
type: 'checkbox',
required: (column.isColumnNullable) ? false : true
});
case 'CODELOOKUP': return new SelectBase({
controlName: column.columnName,
label: column.columnName,
value: '',
options: { label: 'value', value: 'id', data: column.columnValues },
required: (column.isColumnNullable) ? false : true
});
case 'DATE': {
dateTransformColumns.push(column.columnName);
if (!dataTableEntryObject.dateFormat) {
dataTableEntryObject.dateFormat = Dates.DEFAULT_DATEFORMAT;
}
return new InputBase({
controlName: column.columnName,
label: column.columnName,
value: '',
type: 'date',
required: (column.isColumnNullable) ? false : true
});
}
case 'DATETIME': {
dateTransformColumns.push(column.columnName);
dataTableEntryObject.dateFormat = Dates.DEFAULT_DATETIMEFORMAT;
return new InputBase({
controlName: column.columnName,
label: column.columnName,
value: '',
type: 'datetime-local',
required: (column.isColumnNullable) ? false : true
});
}
}
});
}
}
+3
View File
@@ -7,6 +7,9 @@ import * as moment from 'moment';
})
export class Dates {
public static DEFAULT_DATEFORMAT = 'yyyy-MM-dd';
public static DEFAULT_DATETIMEFORMAT = 'yyyy-MM-dd HH:mm';
constructor(private datePipe: DatePipe) {}
public getDate(timestamp: any): string {