import {Component} from "../widgets/component"; import {Autowired, Context, PostConstruct} from "../context/context"; import {GridOptionsWrapper} from "../gridOptionsWrapper"; import {ColumnGroupChild} from "../entities/columnGroupChild"; import {ColumnGroup} from "../entities/columnGroup"; import {ColumnController} from "../columnController/columnController"; import {Column} from "../entities/column"; import {DropTarget} from "../dragAndDrop/dragAndDropService"; import {RenderedHeaderCell} from "./deprecated/renderedHeaderCell"; import {EventService} from "../eventService"; import {Events} from "../events"; import {Utils as _} from "../utils"; import {HeaderWrapperComp} from "./header/headerWrapperComp"; import {HeaderGroupWrapperComp} from "./headerGroup/headerGroupWrapperComp"; import {FilterManager} from "../filter/filterManager"; import {BaseFilter} from "../filter/baseFilter"; import {IFloatingFilterWrapperComp} from "../filter/floatingFilterWrapper"; import {IAfterGuiAttachedParams, IComponent} from "../interfaces/iComponent"; import {FloatingFilterChange, IFloatingFilterParams} from "../filter/floatingFilter"; import {ComponentRecipes} from "../components/framework/componentRecipes"; export enum HeaderRowType { COLUMN_GROUP, COLUMN, FLOATING_FILTER } export class HeaderRowComp extends Component { @Autowired('gridOptionsWrapper') private gridOptionsWrapper: GridOptionsWrapper; @Autowired('columnController') private columnController: ColumnController; @Autowired('context') private context: Context; @Autowired('eventService') private eventService: EventService; @Autowired('filterManager') private filterManager: FilterManager; @Autowired('componentRecipes') private componentRecipes: ComponentRecipes; private dept: number; private pinned: string; private headerComps: {[key: string]: IComponent} = {}; private eRoot: HTMLElement; private dropTarget: DropTarget; private type: HeaderRowType; constructor(dept: number, type: HeaderRowType, pinned: string, eRoot: HTMLElement, dropTarget: DropTarget) { super(`