Merge remote-tracking branch 'origin/feature/SUPPORT-9533' into develop
This commit is contained in:
commit
6c39d39a7a
1 changed files with 18 additions and 3 deletions
|
|
@ -5,7 +5,7 @@ import {
|
|||
SuppressKeyboardEventParams
|
||||
} from "ag-grid-community";
|
||||
import {
|
||||
DateTimeUtil,
|
||||
ComparisonUtils,
|
||||
DefaultTooltip,
|
||||
GridCellTooltipUtils,
|
||||
GridColumnComparatorUtils,
|
||||
|
|
@ -19,6 +19,8 @@ import {StaticGridColumn} from "../../../generated/ru/micord/ervu/property/grid/
|
|||
import {CustomGridColumnFilterUtils} from "./filter/CustomGridColumnFilterUtils";
|
||||
|
||||
export class StaticColumnInitializer {
|
||||
private static readonly ZONED_DATE_TIME_FORMAT = 'DD.MM.YYYY HH:mm:ss (Z)';
|
||||
private static readonly ZONED_DATE_TIME_TYPE = 'java.time.ZonedDateTime';
|
||||
|
||||
public static columnToColumnDef(gridRef: any, column: StaticGridColumn) {
|
||||
const columnDef: ColDef = {};
|
||||
|
|
@ -54,7 +56,12 @@ export class StaticColumnInitializer {
|
|||
|
||||
if (type != null) {
|
||||
if (gridRef.getRowModelType() == "clientSide") {
|
||||
columnDef.comparator = GridColumnComparatorUtils.columnComparator(type);
|
||||
if (type === StaticColumnInitializer.ZONED_DATE_TIME_TYPE) {
|
||||
columnDef.comparator = StaticColumnInitializer.zonedDateTimeComparator();
|
||||
}
|
||||
else {
|
||||
columnDef.comparator = GridColumnComparatorUtils.columnComparator(type);
|
||||
}
|
||||
}
|
||||
columnDef.valueFormatter = GridValueFormatterUtils.columnFormatter(type);
|
||||
columnDef.cellRenderer = gridRef.createRenderer(column);
|
||||
|
|
@ -71,7 +78,7 @@ export class StaticColumnInitializer {
|
|||
if (!cellValue) {
|
||||
return -1;
|
||||
}
|
||||
const cellMoment = moment(cellValue, 'DD.MM.YYYY HH:mm:ss (Z)');
|
||||
const cellMoment = moment(cellValue, StaticColumnInitializer.ZONED_DATE_TIME_FORMAT);
|
||||
|
||||
if (!cellMoment.isValid()) {
|
||||
return -1;
|
||||
|
|
@ -118,4 +125,12 @@ export class StaticColumnInitializer {
|
|||
|
||||
return columnDef;
|
||||
}
|
||||
|
||||
private static zonedDateTimeComparator(): (valueA: any, valueB: any) => number {
|
||||
return (valueA: any, valueB: any) => {
|
||||
const momentA = moment(valueA, StaticColumnInitializer.ZONED_DATE_TIME_FORMAT);
|
||||
const momentB = moment(valueB, StaticColumnInitializer.ZONED_DATE_TIME_FORMAT);
|
||||
return ComparisonUtils.momentCompare(momentA, momentB);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue