ngx-drag-to-select
Version:
A lightweight, fast, configurable and reactive drag-to-select component for Angular 8 and beyond
83 lines (82 loc) • 3.63 kB
TypeScript
import { ElementRef, EventEmitter, OnDestroy, Renderer2, NgZone, AfterViewInit, AfterContentInit } from '@angular/core';
import { Observable } from 'rxjs';
import { ShortcutService } from './shortcut.service';
import { SelectBox, SelectContainerHost, PredicateFn } from './models';
import { KeyboardEventsService } from './keyboard-events.service';
import * as i0 from "@angular/core";
export declare class SelectContainerComponent implements AfterViewInit, OnDestroy, AfterContentInit {
private platformId;
private shortcuts;
private keyboardEvents;
private hostElementRef;
private renderer;
private ngZone;
host: SelectContainerHost;
selectBoxStyles$: Observable<SelectBox<string>>;
selectBoxClasses$: Observable<{
[key: string]: boolean;
}>;
private $selectBox;
private $selectableItems;
selectedItems: any;
selectOnDrag: boolean;
disabled: boolean;
disableDrag: boolean;
selectOnClick: boolean;
dragOverItems: boolean;
disableRangeSelection: boolean;
selectMode: boolean;
selectWithShortcut: boolean;
custom: boolean;
readonly hostClass = true;
selectedItemsChange: EventEmitter<any>;
select: EventEmitter<any>;
itemSelected: EventEmitter<any>;
itemDeselected: EventEmitter<any>;
selectionStarted: EventEmitter<void>;
selectionEnded: EventEmitter<any[]>;
private _tmpItems;
private _selectedItems$;
private _selectableItems;
private updateItems$;
private destroy$;
private _lastRange;
private _lastStartIndex;
private _newRangeStart;
private _lastRangeSelection;
constructor(platformId: Record<string, unknown>, shortcuts: ShortcutService, keyboardEvents: KeyboardEventsService, hostElementRef: ElementRef, renderer: Renderer2, ngZone: NgZone);
ngAfterViewInit(): void;
ngAfterContentInit(): void;
selectAll(): void;
toggleItems<T>(predicate: PredicateFn<T>): void;
selectItems<T>(predicate: PredicateFn<T>): void;
deselectItems<T>(predicate: PredicateFn<T>): void;
clearSelection(): void;
update(): void;
ngOnDestroy(): void;
private _filterSelectableItems;
private _initSelectedItemsChange;
private _observeSelectableItems;
private _observeBoundingRectChanges;
private _initSelectionOutputs;
private _calculateBoundingClientRect;
private _cursorWithinHost;
private _onMouseUp;
private _onMouseDown;
private _selectItems;
private _isExtendedSelection;
private _normalSelectionMode;
private _extendedSelectionMode;
private _flushItems;
private _addItem;
private _removeItem;
private _toggleItem;
private _selectItem;
private _deselectItem;
private _hasItem;
private _getClosestSelectItem;
private _resetRangeStart;
private _getLastRangeSelection;
static ɵfac: i0.ɵɵFactoryDeclaration<SelectContainerComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<SelectContainerComponent, "dts-select-container", ["dts-select-container"], { "selectedItems": "selectedItems"; "selectOnDrag": "selectOnDrag"; "disabled": "disabled"; "disableDrag": "disableDrag"; "selectOnClick": "selectOnClick"; "dragOverItems": "dragOverItems"; "disableRangeSelection": "disableRangeSelection"; "selectMode": "selectMode"; "selectWithShortcut": "selectWithShortcut"; "custom": "custom"; }, { "selectedItemsChange": "selectedItemsChange"; "select": "select"; "itemSelected": "itemSelected"; "itemDeselected": "itemDeselected"; "selectionStarted": "selectionStarted"; "selectionEnded": "selectionEnded"; }, ["$selectableItems"], ["*"]>;
}