ag-grid
Version:
Advanced Javascript Datagrid. Supports raw Javascript, AngularJS 1.x, AngularJS 2.0 and Web Components
55 lines (41 loc) • 2.26 kB
text/typescript
/// <reference path="../utils.ts" />
/// <reference path="./columnSelectionPanel.ts" />
/// <reference path="./groupSelectionPanel.ts" />
/// <reference path="./valuesSelectionPanel.ts" />
/// <reference path="../layout/verticalStack.ts" />
module ag.grid {
var utils = Utils;
export class ToolPanel {
layout: any;
constructor() {
this.layout = new VerticalStack();
}
public init(columnController: any, inMemoryRowController: any, gridOptionsWrapper: GridOptionsWrapper,
popupService: PopupService, eventService: EventService) {
var suppressPivotAndValues = gridOptionsWrapper.isToolPanelSuppressPivot();
var suppressValues = gridOptionsWrapper.isToolPanelSuppressValues();
var showPivot = !suppressPivotAndValues;
var showValues = !suppressPivotAndValues && !suppressValues;
// top list, column reorder and visibility
var columnSelectionPanel = new ColumnSelectionPanel(columnController, gridOptionsWrapper, eventService);
var heightColumnSelection = suppressPivotAndValues ? '100%' : '50%';
this.layout.addPanel(columnSelectionPanel.layout, heightColumnSelection);
var dragSource = columnSelectionPanel.getDragSource();
if (showValues) {
var valuesSelectionPanel = new ValuesSelectionPanel(columnController, gridOptionsWrapper,
popupService, eventService);
this.layout.addPanel(valuesSelectionPanel.getLayout(), '25%');
valuesSelectionPanel.addDragSource(dragSource);
}
if (showPivot) {
var groupSelectionPanel = new GroupSelectionPanel(columnController, inMemoryRowController,
gridOptionsWrapper, eventService);
var heightPivotSelection = showValues ? '25%' : '50%';
this.layout.addPanel(groupSelectionPanel.layout, heightPivotSelection);
groupSelectionPanel.addDragSource(dragSource);
}
var eGui = this.layout.getGui();
utils.addCssClass(eGui, 'ag-tool-panel-container');
}
}
}