/
ColumnGroupHeader.tsx
39 lines (32 loc) · 1.09 KB
/
ColumnGroupHeader.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// (C) 2007-2018 GoodData Corporation
import * as React from 'react';
import { IHeaderGroupParams } from 'ag-grid';
import { IHeaderReactComp } from 'ag-grid-react/lib/interfaces';
import HeaderCell, { ALIGN_LEFT } from './HeaderCell';
export interface IParams extends IHeaderGroupParams {
enableMenu: boolean;
}
export default class ColumnGroupHeader
extends React.Component<IParams>
implements IHeaderReactComp {
public onMenuClick = () => {
// tslint:disable-next-line no-console
console.log('menu clicked');
}
public render() {
const { enableMenu } = this.props;
const columnGroupDef = this.props.columnGroup.getColGroupDef();
const parent = this.props.columnGroup.getParent();
const showMenu = enableMenu && !!(parent && columnGroupDef.headerName);
return (
<HeaderCell
displayText={this.props.displayName}
enableMenu={showMenu}
enableSorting={false}
menuPosition={ALIGN_LEFT}
textAlign={ALIGN_LEFT}
onMenuClick={this.onMenuClick}
/>
);
}
}