mirror of
https://github.com/Kingsrook/qqq-frontend-material-dashboard.git
synced 2025-07-18 05:10:45 +00:00
Move getColumnWidthForField out into its own method
This commit is contained in:
@ -259,7 +259,6 @@ export default class DataGridUtils
|
|||||||
public static makeColumnFromField = (field: QFieldMetaData, tableMetaData: QTableMetaData, namePrefix?: string, labelPrefix?: string): GridColDef =>
|
public static makeColumnFromField = (field: QFieldMetaData, tableMetaData: QTableMetaData, namePrefix?: string, labelPrefix?: string): GridColDef =>
|
||||||
{
|
{
|
||||||
let columnType = "string";
|
let columnType = "string";
|
||||||
let columnWidth = 200;
|
|
||||||
let filterOperators: GridFilterOperator<any>[] = QGridStringOperators;
|
let filterOperators: GridFilterOperator<any>[] = QGridStringOperators;
|
||||||
|
|
||||||
if (field.possibleValueSourceName)
|
if (field.possibleValueSourceName)
|
||||||
@ -273,28 +272,18 @@ export default class DataGridUtils
|
|||||||
case QFieldType.DECIMAL:
|
case QFieldType.DECIMAL:
|
||||||
case QFieldType.INTEGER:
|
case QFieldType.INTEGER:
|
||||||
columnType = "number";
|
columnType = "number";
|
||||||
columnWidth = 100;
|
|
||||||
|
|
||||||
if (field.name === tableMetaData.primaryKeyField && field.label.length < 3)
|
|
||||||
{
|
|
||||||
columnWidth = 75;
|
|
||||||
}
|
|
||||||
|
|
||||||
filterOperators = QGridNumericOperators;
|
filterOperators = QGridNumericOperators;
|
||||||
break;
|
break;
|
||||||
case QFieldType.DATE:
|
case QFieldType.DATE:
|
||||||
columnType = "date";
|
columnType = "date";
|
||||||
columnWidth = 100;
|
|
||||||
filterOperators = QGridDateOperators;
|
filterOperators = QGridDateOperators;
|
||||||
break;
|
break;
|
||||||
case QFieldType.DATE_TIME:
|
case QFieldType.DATE_TIME:
|
||||||
columnType = "dateTime";
|
columnType = "dateTime";
|
||||||
columnWidth = 200;
|
|
||||||
filterOperators = QGridDateTimeOperators;
|
filterOperators = QGridDateTimeOperators;
|
||||||
break;
|
break;
|
||||||
case QFieldType.BOOLEAN:
|
case QFieldType.BOOLEAN:
|
||||||
columnType = "string"; // using boolean gives an odd 'no' for nulls.
|
columnType = "string"; // using boolean gives an odd 'no' for nulls.
|
||||||
columnWidth = 75;
|
|
||||||
filterOperators = QGridBooleanOperators;
|
filterOperators = QGridBooleanOperators;
|
||||||
break;
|
break;
|
||||||
case QFieldType.BLOB:
|
case QFieldType.BLOB:
|
||||||
@ -305,6 +294,31 @@ export default class DataGridUtils
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let headerName = labelPrefix ? labelPrefix + field.label : field.label;
|
||||||
|
let fieldName = namePrefix ? namePrefix + field.name : field.name;
|
||||||
|
|
||||||
|
const column: GridColDef = {
|
||||||
|
field: fieldName,
|
||||||
|
type: columnType,
|
||||||
|
headerName: headerName,
|
||||||
|
width: DataGridUtils.getColumnWidthForField(field, tableMetaData),
|
||||||
|
renderCell: null as any,
|
||||||
|
filterOperators: filterOperators,
|
||||||
|
};
|
||||||
|
|
||||||
|
column.renderCell = (cellValues: any) => (
|
||||||
|
(cellValues.value)
|
||||||
|
);
|
||||||
|
|
||||||
|
return (column);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
**
|
||||||
|
*******************************************************************************/
|
||||||
|
public static getColumnWidthForField = (field: QFieldMetaData, table?: QTableMetaData): number =>
|
||||||
|
{
|
||||||
if (field.hasAdornment(AdornmentType.SIZE))
|
if (field.hasAdornment(AdornmentType.SIZE))
|
||||||
{
|
{
|
||||||
const sizeAdornment = field.getAdornment(AdornmentType.SIZE);
|
const sizeAdornment = field.getAdornment(AdornmentType.SIZE);
|
||||||
@ -318,7 +332,7 @@ export default class DataGridUtils
|
|||||||
]);
|
]);
|
||||||
if (widths.has(width))
|
if (widths.has(width))
|
||||||
{
|
{
|
||||||
columnWidth = widths.get(width);
|
return widths.get(width);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -326,23 +340,31 @@ export default class DataGridUtils
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let headerName = labelPrefix ? labelPrefix + field.label : field.label;
|
if(field.possibleValueSourceName)
|
||||||
let fieldName = namePrefix ? namePrefix + field.name : field.name;
|
{
|
||||||
|
return (200);
|
||||||
|
}
|
||||||
|
|
||||||
const column: GridColDef = {
|
switch (field.type)
|
||||||
field: fieldName,
|
{
|
||||||
type: columnType,
|
case QFieldType.DECIMAL:
|
||||||
headerName: headerName,
|
case QFieldType.INTEGER:
|
||||||
width: columnWidth,
|
|
||||||
renderCell: null as any,
|
|
||||||
filterOperators: filterOperators,
|
|
||||||
};
|
|
||||||
|
|
||||||
column.renderCell = (cellValues: any) => (
|
if (table && field.name === table.primaryKeyField && field.label.length < 3)
|
||||||
(cellValues.value)
|
{
|
||||||
);
|
return (75);
|
||||||
|
}
|
||||||
|
|
||||||
return (column);
|
return (100);
|
||||||
|
case QFieldType.DATE:
|
||||||
|
return (100);
|
||||||
|
case QFieldType.DATE_TIME:
|
||||||
|
return (200);
|
||||||
|
case QFieldType.BOOLEAN:
|
||||||
|
return (75);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (200);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user