mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-19 14:16:01 +00:00
grouping - work with datetimes
This commit is contained in:
@@ -5,6 +5,7 @@ import DropDownButton from '../widgets/DropDownButton';
|
||||
import { DropDownMenuItem, DropDownMenuDivider } from '../modals/DropDownMenu';
|
||||
import { useSplitterDrag } from '../widgets/Splitter';
|
||||
import { FontIcon } from '../icons';
|
||||
import { isTypeDateTime } from '@dbgate/tools';
|
||||
|
||||
const HeaderDiv = styled.div`
|
||||
display: flex;
|
||||
@@ -69,6 +70,16 @@ export default function ColumnHeaderControl({ column, setSort, onResize, order,
|
||||
<DropDownMenuItem onClick={() => setGrouping('AVG')}>AVG</DropDownMenuItem>
|
||||
<DropDownMenuItem onClick={() => setGrouping('COUNT')}>COUNT</DropDownMenuItem>
|
||||
<DropDownMenuItem onClick={() => setGrouping('COUNT DISTINCT')}>COUNT DISTINCT</DropDownMenuItem>
|
||||
{isTypeDateTime(column.dataType) && (
|
||||
<>
|
||||
<DropDownMenuDivider />
|
||||
<DropDownMenuItem onClick={() => setGrouping('GROUP:YEAR')}>Group by YEAR</DropDownMenuItem>
|
||||
<DropDownMenuItem onClick={() => setGrouping('GROUP:MONTH')}>Group by MONTH</DropDownMenuItem>
|
||||
<DropDownMenuItem onClick={() => setGrouping('GROUP:DAY')}>Group by DAY</DropDownMenuItem>
|
||||
{/* <DropDownMenuItem onClick={() => setGrouping('GROUP:HOUR')}>Group by HOUR</DropDownMenuItem>
|
||||
<DropDownMenuItem onClick={() => setGrouping('GROUP:MINUTE')}>Group by MINUTE</DropDownMenuItem> */}
|
||||
</>
|
||||
)}
|
||||
</DropDownButton>
|
||||
)}
|
||||
<ResizeHandle className="resizeHandleControl" onMouseDown={onResizeDown} />
|
||||
|
||||
@@ -484,14 +484,13 @@ export default function DataGridCore(props) {
|
||||
|
||||
React.useEffect(() => {
|
||||
if (display.groupColumns) {
|
||||
console.log('SET REFERENCE');
|
||||
|
||||
props.onReferenceClick({
|
||||
schemaName: display.baseTable.schemaName,
|
||||
pureName: display.baseTable.pureName,
|
||||
columns: display.groupColumns.map((col) => ({
|
||||
baseName: col,
|
||||
refName: col,
|
||||
dataType: _.get(display.baseTable && display.baseTable.columns.find((x) => x.columnName == col), 'dataType'),
|
||||
})),
|
||||
});
|
||||
}
|
||||
|
||||
@@ -106,7 +106,7 @@ export default function TableDataGrid({
|
||||
..._.fromPairs(
|
||||
reference.columns.map((col) => [
|
||||
col.refName,
|
||||
selectedRows.map((x) => getFilterValueExpression(x[col.baseName])).join(', '),
|
||||
selectedRows.map((x) => getFilterValueExpression(x[col.baseName], col.dataType)).join(', '),
|
||||
])
|
||||
),
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user