1 | import {Bean, PostConstruct, Autowired} from "../context/context";
|
2 | import {Utils as _} from '../utils';
|
3 | import {ICellRenderer, ICellRendererFunc} from "./cellRenderers/iCellRenderer";
|
4 | import {GridOptionsWrapper} from "../gridOptionsWrapper";
|
5 | import {EventService} from "../eventService";
|
6 | import {ExpressionService} from "../valueService/expressionService";
|
7 | import {AnimateSlideCellRenderer} from "./cellRenderers/animateSlideCellRenderer";
|
8 | import {AnimateShowChangeCellRenderer} from "./cellRenderers/animateShowChangeCellRenderer";
|
9 | import {GroupCellRenderer} from "./cellRenderers/groupCellRenderer";
|
10 |
|
11 | @Bean('cellRendererFactory')
|
12 | export class CellRendererFactory {
|
13 |
|
14 | public static ANIMATE_SLIDE = 'animateSlide';
|
15 | public static ANIMATE_SHOW_CHANGE = 'animateShowChange';
|
16 | public static GROUP = 'group';
|
17 |
|
18 | @Autowired('gridOptionsWrapper') private gridOptionsWrapper: GridOptionsWrapper;
|
19 | @Autowired('expressionService') private expressionService: ExpressionService;
|
20 | @Autowired('eventService') private eventService: EventService;
|
21 |
|
22 | private cellRendererMap: {[key: string]: {new(): ICellRenderer} | ICellRendererFunc} = {};
|
23 |
|
24 | @PostConstruct
|
25 | private init(): void {
|
26 | this.cellRendererMap[CellRendererFactory.ANIMATE_SLIDE] = AnimateSlideCellRenderer;
|
27 | this.cellRendererMap[CellRendererFactory.ANIMATE_SHOW_CHANGE] = AnimateShowChangeCellRenderer;
|
28 | this.cellRendererMap[CellRendererFactory.GROUP] = GroupCellRenderer;
|
29 |
|
30 |
|
31 | }
|
32 |
|
33 |
|
34 |
|
35 |
|
36 |
|
37 |
|
38 |
|
39 |
|
40 | public addCellRenderer(key: string, cellRenderer: {new(): ICellRenderer} | ICellRendererFunc): void {
|
41 | this.cellRendererMap[key] = cellRenderer;
|
42 | }
|
43 |
|
44 | public getCellRenderer(key: string): {new(): ICellRenderer} | ICellRendererFunc {
|
45 |
|
46 | let result = this.cellRendererMap[key];
|
47 | if (_.missing(result)) {
|
48 | console.warn('ag-Grid: unable to find cellRenderer for key ' + key);
|
49 | return null;
|
50 | }
|
51 |
|
52 | return result;
|
53 | }
|
54 | }
|