ag-grid
Version:
Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components
41 lines (35 loc) • 1.44 kB
text/typescript
import {EventService} from "../eventService";
import {Autowired, Bean, PostConstruct} from "../context/context";
import {Events, CellEvent, ColumnHoverChangedEvent} from "../events";
import {Column} from "../entities/column";
import {BeanStub} from "../context/beanStub";
import {ColumnApi} from "../columnController/columnApi";
import {GridApi} from "../gridApi";
export class ColumnHoverService extends BeanStub {
private eventService: EventService;
private columnApi: ColumnApi;
private gridApi: GridApi;
private selectedColumns: Column[];
public setMouseOver(columns: Column[]): void {
this.selectedColumns = columns;
let event: ColumnHoverChangedEvent = {
type: Events.EVENT_COLUMN_HOVER_CHANGED,
api: this.gridApi,
columnApi: this.columnApi
};
this.eventService.dispatchEvent(event);
}
public clearMouseOver(): void {
this.selectedColumns = null;
let event: ColumnHoverChangedEvent = {
type: Events.EVENT_COLUMN_HOVER_CHANGED,
api: this.gridApi,
columnApi: this.columnApi
};
this.eventService.dispatchEvent(event);
}
public isHovered(column: Column): boolean {
return this.selectedColumns && this.selectedColumns.indexOf(column) >= 0;
}
}