UNPKG

@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
/**----------------------------------------------------------------------------------------- * 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>; }