@samotics/ngx-treeview
Version:
An Angular treeview component with checkbox
250 lines (233 loc) • 11.5 kB
TypeScript
import * as i0 from '@angular/core';
import { OnChanges, OnInit, TemplateRef, EventEmitter, SimpleChanges, PipeTransform, ElementRef, AfterViewInit, ModuleWithProviders } from '@angular/core';
import * as i8 from '@angular/forms';
import * as i9 from '@angular/common';
interface TreeviewSelection {
checkedItems: TreeviewItem[];
uncheckedItems: TreeviewItem[];
}
interface TreeItem {
text: string;
value: any;
disabled?: boolean;
checked?: boolean;
collapsed?: boolean;
children?: TreeItem[];
}
declare class TreeviewItem {
private internalDisabled;
private internalChecked;
private internalCollapsed;
private internalChildren;
text: string;
value: any;
constructor(item: TreeItem, autoCorrectChecked?: boolean);
get checked(): boolean;
set checked(value: boolean);
get indeterminate(): boolean;
setCheckedRecursive(value: boolean): void;
get disabled(): boolean;
set disabled(value: boolean);
get collapsed(): boolean;
set collapsed(value: boolean);
setCollapsedRecursive(value: boolean): void;
get children(): TreeviewItem[];
set children(value: TreeviewItem[]);
getSelection(): TreeviewSelection;
correctChecked(): void;
private getCorrectChecked;
}
declare abstract class TreeviewI18n {
abstract getText(selection: TreeviewSelection): string;
abstract getAllCheckboxText(): string;
abstract getFilterPlaceholder(): string;
abstract getFilterNoItemsFoundText(): string;
abstract getTooltipCollapseExpandText(isCollapse: boolean): string;
static ɵfac: i0.ɵɵFactoryDeclaration<TreeviewI18n, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<TreeviewI18n>;
}
declare class DefaultTreeviewI18n extends TreeviewI18n {
getText(selection: TreeviewSelection): string;
getAllCheckboxText(): string;
getFilterPlaceholder(): string;
getFilterNoItemsFoundText(): string;
getTooltipCollapseExpandText(isCollapse: boolean): string;
static ɵfac: i0.ɵɵFactoryDeclaration<DefaultTreeviewI18n, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<DefaultTreeviewI18n>;
}
declare class TreeviewConfig {
hasAllCheckBox: boolean;
hasFilter: boolean;
hasCollapseExpand: boolean;
decoupleChildFromParent: boolean;
maxHeight: number;
get hasDivider(): boolean;
static create(fields?: {
hasAllCheckBox?: boolean;
hasFilter?: boolean;
hasCollapseExpand?: boolean;
decoupleChildFromParent?: boolean;
maxHeight?: number;
}): TreeviewConfig;
static ɵfac: i0.ɵɵFactoryDeclaration<TreeviewConfig, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<TreeviewConfig>;
}
interface TreeviewHeaderTemplateContext {
config: TreeviewConfig;
item: TreeviewItem;
onCollapseExpand: () => void;
onCheckedChange: (checked: boolean) => void;
onFilterTextChange: (text: string) => void;
}
interface TreeviewItemTemplateContext {
item: TreeviewItem;
onCollapseExpand: () => void;
onCheckedChange: () => void;
}
declare abstract class TreeviewEventParser {
abstract getSelectedChange(component: TreeviewComponent): any[];
static ɵfac: i0.ɵɵFactoryDeclaration<TreeviewEventParser, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<TreeviewEventParser>;
}
declare class DefaultTreeviewEventParser extends TreeviewEventParser {
getSelectedChange(component: TreeviewComponent): any[];
static ɵfac: i0.ɵɵFactoryDeclaration<DefaultTreeviewEventParser, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<DefaultTreeviewEventParser>;
}
interface DownlineTreeviewItem {
item: TreeviewItem;
parent: DownlineTreeviewItem;
}
declare class DownlineTreeviewEventParser extends TreeviewEventParser {
getSelectedChange(component: TreeviewComponent): any[];
private getLinks;
static ɵfac: i0.ɵɵFactoryDeclaration<DownlineTreeviewEventParser, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<DownlineTreeviewEventParser>;
}
declare class OrderDownlineTreeviewEventParser extends TreeviewEventParser {
private currentDownlines;
private parser;
getSelectedChange(component: TreeviewComponent): any[];
static ɵfac: i0.ɵɵFactoryDeclaration<OrderDownlineTreeviewEventParser, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<OrderDownlineTreeviewEventParser>;
}
declare class TreeviewComponent implements OnChanges, OnInit {
i18n: TreeviewI18n;
private defaultConfig;
private eventParser;
headerTemplate: TemplateRef<TreeviewHeaderTemplateContext>;
itemTemplate: TemplateRef<TreeviewItemTemplateContext>;
items: TreeviewItem[];
config: TreeviewConfig;
selectedChange: EventEmitter<any[]>;
filterChange: EventEmitter<string>;
headerTemplateContext: TreeviewHeaderTemplateContext;
allItem: TreeviewItem;
filterText: string;
filterItems: TreeviewItem[];
selection: TreeviewSelection;
constructor(i18n: TreeviewI18n, defaultConfig: TreeviewConfig, eventParser: TreeviewEventParser);
get hasFilterItems(): boolean;
get maxHeight(): string;
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
onAllCollapseExpand(): void;
onFilterTextChange(text: string): void;
onAllCheckedChange(): void;
onItemCheckedChange(item: TreeviewItem, checked: boolean): void;
raiseSelectedChange(): void;
private createHeaderTemplateContext;
private generateSelection;
private updateFilterItems;
private filterItem;
private updateCheckedOfAll;
private updateCollapsedOfAll;
static ɵfac: i0.ɵɵFactoryDeclaration<TreeviewComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<TreeviewComponent, "ngx-treeview", never, { "headerTemplate": { "alias": "headerTemplate"; "required": false; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; "items": { "alias": "items"; "required": false; }; "config": { "alias": "config"; "required": false; }; }, { "selectedChange": "selectedChange"; "filterChange": "filterChange"; }, never, never, false, never>;
}
declare class TreeviewItemComponent {
private defaultConfig;
config: TreeviewConfig;
template: TemplateRef<TreeviewItemTemplateContext>;
item: TreeviewItem;
checkedChange: EventEmitter<boolean>;
constructor(defaultConfig: TreeviewConfig);
onCollapseExpand: () => void;
onCheckedChange: () => void;
onChildCheckedChange(child: TreeviewItem, checked: boolean): void;
static ɵfac: i0.ɵɵFactoryDeclaration<TreeviewItemComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<TreeviewItemComponent, "ngx-treeview-item", never, { "config": { "alias": "config"; "required": false; }; "template": { "alias": "template"; "required": false; }; "item": { "alias": "item"; "required": false; }; }, { "checkedChange": "checkedChange"; }, never, never, false, never>;
}
declare class TreeviewPipe implements PipeTransform {
transform(objects: any[], textField: string): TreeviewItem[];
static ɵfac: i0.ɵɵFactoryDeclaration<TreeviewPipe, never>;
static ɵpipe: i0.ɵɵPipeDeclaration<TreeviewPipe, "ngxTreeview", false>;
}
declare class DropdownDirective {
toggleElement: any;
internalOpen: boolean;
openChange: EventEmitter<boolean>;
get isOpen(): boolean;
onKeyupEsc(): void;
onDocumentClick(event: MouseEvent): void;
open(): void;
close(): void;
toggle(): void;
private isEventFromToggle;
static ɵfac: i0.ɵɵFactoryDeclaration<DropdownDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<DropdownDirective, "[ngxDropdown]", ["ngxDropdown"], { "internalOpen": { "alias": "open"; "required": false; }; }, { "openChange": "openChange"; }, never, never, false, never>;
}
declare class DropdownMenuDirective {
dropdown: DropdownDirective;
constructor(dropdown: DropdownDirective);
static ɵfac: i0.ɵɵFactoryDeclaration<DropdownMenuDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<DropdownMenuDirective, "[ngxDropdownMenu]", never, {}, {}, never, never, false, never>;
}
declare class DropdownToggleDirective {
dropdown: DropdownDirective;
constructor(dropdown: DropdownDirective, elementRef: ElementRef);
static ɵfac: i0.ɵɵFactoryDeclaration<DropdownToggleDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<DropdownToggleDirective, "[ngxDropdownToggle]", never, {}, {}, never, never, false, never>;
}
declare class DropdownTreeviewComponent implements AfterViewInit {
i18n: TreeviewI18n;
private defaultConfig;
buttonClass: string;
headerTemplate: TemplateRef<TreeviewHeaderTemplateContext>;
itemTemplate: TemplateRef<TreeviewItemTemplateContext>;
items: TreeviewItem[];
config: TreeviewConfig;
selectedChange: EventEmitter<any[]>;
filterChange: EventEmitter<string>;
treeviewComponent: i0.Signal<TreeviewComponent>;
private selectionVersion;
buttonLabel: i0.Signal<string>;
constructor(i18n: TreeviewI18n, defaultConfig: TreeviewConfig);
ngAfterViewInit(): void;
onSelectedChange(values: any[]): void;
onFilterChange(text: string): void;
static ɵfac: i0.ɵɵFactoryDeclaration<DropdownTreeviewComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<DropdownTreeviewComponent, "ngx-dropdown-treeview", never, { "buttonClass": { "alias": "buttonClass"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; "items": { "alias": "items"; "required": false; }; "config": { "alias": "config"; "required": false; }; }, { "selectedChange": "selectedChange"; "filterChange": "filterChange"; }, never, never, false, never>;
}
declare class TreeviewModule {
static forRoot(): ModuleWithProviders<TreeviewModule>;
static ɵfac: i0.ɵɵFactoryDeclaration<TreeviewModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<TreeviewModule, [typeof TreeviewComponent, typeof TreeviewItemComponent, typeof TreeviewPipe, typeof DropdownDirective, typeof DropdownMenuDirective, typeof DropdownToggleDirective, typeof DropdownTreeviewComponent], [typeof i8.FormsModule, typeof i9.CommonModule], [typeof TreeviewComponent, typeof TreeviewPipe, typeof DropdownTreeviewComponent]>;
static ɵinj: i0.ɵɵInjectorDeclaration<TreeviewModule>;
}
declare const TreeviewHelper: {
findItem: typeof findItem;
findItemInList: typeof findItemInList;
findParent: typeof findParent;
removeItem: typeof removeItem;
concatSelection: typeof concatSelection;
};
declare function findItem(root: TreeviewItem, value: any): TreeviewItem;
declare function findItemInList(list: TreeviewItem[], value: any): TreeviewItem;
declare function findParent(root: TreeviewItem, item: TreeviewItem): TreeviewItem;
declare function removeItem(root: TreeviewItem, item: TreeviewItem): boolean;
declare function concatSelection(items: TreeviewItem[], checked: TreeviewItem[], unchecked: TreeviewItem[]): {
[k: string]: TreeviewItem[];
};
export { DefaultTreeviewEventParser, DefaultTreeviewI18n, DownlineTreeviewEventParser, DropdownDirective, DropdownToggleDirective, DropdownTreeviewComponent, OrderDownlineTreeviewEventParser, TreeviewComponent, TreeviewConfig, TreeviewEventParser, TreeviewHelper, TreeviewI18n, TreeviewItem, TreeviewModule, TreeviewPipe };
export type { DownlineTreeviewItem, TreeItem, TreeviewItemTemplateContext, TreeviewSelection };