@progress/kendo-angular-grid
Version:
Kendo UI Grid for Angular - high performance data grid with paging, filtering, virtualization, CRUD, and more.
77 lines (76 loc) • 3.17 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 { SelectableSettings, SelectionEvent } from './types';
import { RowSelectableFn, RowSelectedFn } from '../rendering/common/row-class';
import { DomEventsService } from '../common/dom-events.service';
import { LocalDataChangesService } from '../editing/local-data-changes.service';
import { NavigationService } from '../navigation/navigation.service';
import { SelectionAggregates } from '../aggregates/aggregate-types';
import { ContextService } from '../common/provider.service';
import { CellSelectionAggregateService } from '../aggregates/selection-aggregate.service';
import * as i0 from "@angular/core";
/**
* @hidden
*/
type SelectionServiceSettings = {
rowSelected: RowSelectedFn;
isRowSelectable: RowSelectableFn;
selectable: boolean | SelectableSettings;
view: {
accessor: Function;
at: Function;
length: number;
};
};
/**
* @hidden
*/
export declare class SelectionService implements OnDestroy {
private domEvents;
private aggregateService;
private localDataChangesService?;
private navigationService?;
private ctxService?;
changes: EventEmitter<SelectionEvent>;
lastSelectionStartIndex: any;
currentSelection: any[];
nonSelectableRows: Map<any, any>;
selectAllChecked: boolean;
settings: SelectionServiceSettings;
active: boolean;
aggregates: SelectionAggregates;
get enableMarquee(): boolean;
mouseDownEventArgs: any;
dragging: boolean;
get hasNonSelectable(): boolean;
private cellClickSubscription;
private mousedownSubscription;
private dataChangedSubscription;
private lastSelectionData;
private _selectAllState;
constructor(domEvents: DomEventsService, aggregateService: CellSelectionAggregateService, localDataChangesService?: LocalDataChangesService, navigationService?: NavigationService, ctxService?: ContextService);
init(settings: any): void;
isSelected(index: number): boolean;
handleClick(item: any, event: any): void;
toggle(item: any): any;
toggleByIndex(index: number): any;
select(item: any): any;
deselect(removedItem: any): void;
addAllTo(item: any, ctrlKey: boolean, preserveSelection?: boolean): any;
updateAll(selectAllChecked: boolean): void;
selectRange(startIndex: number, endIndex: number, preserveSelection: boolean, existingSelections?: any[]): any;
get selectAllState(): any;
get selected(): number[];
get options(): SelectableSettings;
ngOnDestroy(): void;
targetArgs(): any;
addSubscriptions(): void;
private getIterator;
private removeSubscriptions;
static ɵfac: i0.ɵɵFactoryDeclaration<SelectionService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<SelectionService>;
}
export {};