@progress/kendo-angular-dropdowns
Version:
A wide variety of native Angular dropdown components including AutoComplete, ComboBox, DropDownList, DropDownTree, MultiColumnComboBox, MultiSelect, and MultiSelectTree
50 lines (49 loc) • 2.4 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 { TreeItem } from '@progress/kendo-angular-treeview';
import { CheckedItem } from './checked-item';
import * as i0 from "@angular/core";
/**
* @hidden
*
* A directive which manages the in-memory checked state of the MultiSelectTree nodes.
*/
export declare abstract class BaseCheckDirective {
/**
* The item key/keys by which the data items will be compared.
*/
abstract valueField: string | string[];
/**
* Defines the collection that will store the full checked items.
*/
abstract checkedItems: CheckedItem[];
/**
* @hidden
* The flag is needed in order to determine how to construct the items map keys.
* If `true`, then the key consists of the item's value and level (depth),
* else the key consists of the item's value and 0 (no leveling required)
*/
isHeterogeneous: boolean;
/**
* Holds a Set with just the checked item keys.
*
* Should be updated each time the `checkedItems` value or content is changed.
* Can be used for efficient look-up of whether an item is checked or not (O(1) access time).
*/
abstract checkedKeys: Set<any>;
protected addItem(item: TreeItem): void;
protected removeItem(item: TreeItem): void;
protected isItemChecked(item: CheckedItem): boolean;
protected updateItems(): void;
/**
* Adds the item's depth to the item's value to allow duplicate values on different levels.
*
* @param item - The checked key.
* @returns { string } - A string key consisting of the item's `valueField` value and its depth (depth is 0 if data is homogeneous).
*/
private getKey;
static ɵfac: i0.ɵɵFactoryDeclaration<BaseCheckDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<BaseCheckDirective, never, never, { "valueField": { "alias": "valueField"; "required": false; }; "checkedItems": { "alias": "checkedItems"; "required": false; }; "isHeterogeneous": { "alias": "isHeterogeneous"; "required": false; }; }, {}, never, never, false, never>;
}