@progress/kendo-angular-grid
Version:
Kendo UI Grid for Angular - high performance data grid with paging, filtering, virtualization, CRUD, and more.
73 lines (72 loc) • 3.1 kB
TypeScript
/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { EventEmitter, OnDestroy } from '@angular/core';
import { DomEventsService } from '../common/dom-events.service';
import { LocalDataChangesService } from '../editing/local-data-changes.service';
import { CellSelectedFn, SelectionEvent, SelectableSettings, CellSelectionItem } from './types';
import { ColumnBase } from '../columns/column-base';
import { NavigationService } from '../navigation/navigation.service';
import { SelectionAggregates } from '../aggregates/aggregate-types';
import { CellSelectionAggregateService } from '../aggregates/selection-aggregate.service';
import { RowSelectableFn } from '../rendering/common/row-class';
import * as i0 from "@angular/core";
/**
* @hidden
*/
type CellSelectionServiceSettings = {
cellSelected: CellSelectedFn;
selectable: boolean | SelectableSettings;
isRowSelectable: RowSelectableFn;
view: {
accessor: Function;
at: Function;
length: number;
};
columns: ColumnBase[];
};
/**
* @hidden
*/
export declare class CellSelectionService implements OnDestroy {
private domEvents;
private aggregateService;
private localDataChangesService?;
private navigationService?;
changes: EventEmitter<SelectionEvent>;
mouseUpEvent: EventEmitter<any>;
currentSelection: CellSelectionItem[];
settings: CellSelectionServiceSettings;
active: boolean;
aggregates: SelectionAggregates;
nonSelectableRows: Map<any, any>;
get enableMarquee(): boolean;
get hasNonSelectable(): boolean;
mouseDownEventArgs: any;
mouseUpEventArgs: any;
dragging: boolean;
dragSelectDeselect: boolean;
lastSelectionItem: CellSelectionItem;
lastSelectionItemRowIndex: number;
lastSelectionItemColIndex: number;
private cellClickSubscription;
private dataChangedSubscription;
private mousedownSubscription;
constructor(domEvents: DomEventsService, aggregateService: CellSelectionAggregateService, localDataChangesService?: LocalDataChangesService, navigationService?: NavigationService);
init(settings: any): void;
isCellSelected(item: any, col: any): boolean;
handleClick(item: any, event: any): void;
toggle(item: any): any;
select(item: any): any;
deselect(removedItem: any): void;
selectRange(startRowIndex: number, startColIndex: number, endRowIndex: number, endColIndex: number, preserveSelection?: boolean, existingSelections?: any[]): any;
get options(): SelectableSettings;
ngOnDestroy(): void;
addSubscriptions(): void;
private getIterator;
private removeSubscriptions;
static ɵfac: i0.ɵɵFactoryDeclaration<CellSelectionService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<CellSelectionService>;
}
export {};