mirror of
https://github.com/apache/superset.git
synced 2024-09-19 20:19:37 -04:00
refactor(address code review comments): address code review comments
This commit is contained in:
parent
6686d14111
commit
b697285e31
@ -195,6 +195,7 @@ class TableVis extends React.PureComponent<InternalTableProps, TableState> {
|
|||||||
)}
|
)}
|
||||||
<DataTable
|
<DataTable
|
||||||
data={dataToRender}
|
data={dataToRender}
|
||||||
|
keys={dataToRender && dataToRender.length > 0 ? Object.keys(dataToRender[0].data) : []}
|
||||||
columnMetadata={columnMetadata}
|
columnMetadata={columnMetadata}
|
||||||
zebra
|
zebra
|
||||||
rowHeight={heightType}
|
rowHeight={heightType}
|
||||||
|
@ -70,7 +70,7 @@ export default function processColumns({
|
|||||||
|
|
||||||
// Handle verbose names for percents
|
// Handle verbose names for percents
|
||||||
if (!label) {
|
if (!label) {
|
||||||
if (key[0] === '%') {
|
if (key.length > 0 && key[0] === '%') {
|
||||||
const cleanedKey = key.substring(1);
|
const cleanedKey = key.substring(1);
|
||||||
label = `% ${verboseMap[cleanedKey] || cleanedKey}`;
|
label = `% ${verboseMap[cleanedKey] || cleanedKey}`;
|
||||||
formatFunction = formatPercent;
|
formatFunction = formatPercent;
|
||||||
|
@ -16,32 +16,24 @@ export default function processData({
|
|||||||
timeseriesLimitMetric &&
|
timeseriesLimitMetric &&
|
||||||
((timeseriesLimitMetric as AdhocMetric).label || (timeseriesLimitMetric as string));
|
((timeseriesLimitMetric as AdhocMetric).label || (timeseriesLimitMetric as string));
|
||||||
|
|
||||||
let processedData: {
|
let processedRecords = records;
|
||||||
data: PlainObject;
|
|
||||||
}[] = records.map((row: PlainObject) => ({
|
|
||||||
data: row,
|
|
||||||
}));
|
|
||||||
|
|
||||||
if (sortByKey) {
|
if (sortByKey) {
|
||||||
processedData = processedData.sort((a, b) => {
|
processedRecords = records
|
||||||
const delta = a.data[sortByKey] - b.data[sortByKey];
|
.slice()
|
||||||
if (orderDesc) {
|
.sort(
|
||||||
return -delta;
|
orderDesc ? (a, b) => b[sortByKey] - a[sortByKey] : (a, b) => a[sortByKey] - b[sortByKey],
|
||||||
}
|
);
|
||||||
|
|
||||||
return delta;
|
|
||||||
});
|
|
||||||
if (metrics.indexOf(sortByKey) < 0) {
|
|
||||||
processedData = processedData.map(row => {
|
|
||||||
const data = { ...row.data };
|
|
||||||
delete data[sortByKey];
|
|
||||||
|
|
||||||
return {
|
|
||||||
data,
|
|
||||||
};
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return processedData;
|
return processedRecords.map(
|
||||||
|
sortByKey && metrics.indexOf(sortByKey) < 0
|
||||||
|
? row => {
|
||||||
|
const data = { ...row };
|
||||||
|
delete data[sortByKey];
|
||||||
|
|
||||||
|
return { data };
|
||||||
|
}
|
||||||
|
: row => ({ data: row }),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
@ -18,5 +18,5 @@ export default function processMetrics({
|
|||||||
|
|
||||||
return processedMetrics
|
return processedMetrics
|
||||||
.concat(processedPercentMetrics)
|
.concat(processedPercentMetrics)
|
||||||
.filter(m => typeof records[0][m as string] === 'number');
|
.filter(m => typeof records[0][m] === 'number');
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,12 @@ export type Cell = {
|
|||||||
value: any;
|
value: any;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const numberStyle: CSSProperties = {
|
||||||
|
marginLeft: 'auto',
|
||||||
|
marginRight: '4px',
|
||||||
|
zIndex: 10,
|
||||||
|
};
|
||||||
|
|
||||||
export const getRenderer = ({
|
export const getRenderer = ({
|
||||||
column,
|
column,
|
||||||
alignPositiveNegative,
|
alignPositiveNegative,
|
||||||
@ -83,12 +89,6 @@ export const getRenderer = ({
|
|||||||
width: `${width}%`,
|
width: `${width}%`,
|
||||||
};
|
};
|
||||||
|
|
||||||
const numberStyle: CSSProperties = {
|
|
||||||
marginLeft: 'auto',
|
|
||||||
marginRight: '4px',
|
|
||||||
zIndex: 10,
|
|
||||||
};
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div style={boxStyle}>
|
<div style={boxStyle}>
|
||||||
<div style={boxContainerStyle}>
|
<div style={boxContainerStyle}>
|
||||||
|
@ -51,7 +51,7 @@ export default [
|
|||||||
alignPn: false,
|
alignPn: false,
|
||||||
colorPn: true,
|
colorPn: true,
|
||||||
includeSearch: true,
|
includeSearch: true,
|
||||||
metrics: ['sum__num', 'trend'],
|
metrics: ['sum__num'],
|
||||||
orderDesc: true,
|
orderDesc: true,
|
||||||
pageLength: 0,
|
pageLength: 0,
|
||||||
percentMetrics: [],
|
percentMetrics: [],
|
||||||
|
Loading…
Reference in New Issue
Block a user