import { BooleanInput, NumberInput } from '@angular/cdk/coercion'; import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, TemplateRef } from '@angular/core'; import { ControlValueAccessor, NgControl } from '@angular/forms'; import { DejaChildValidatorDirective, DejaClipboardService } from '@deja-js/component/core'; import { DejaItemComponent, DejaItemEvent, DejaItemsEvent, GroupingService, IItemBase, IItemTree, ItemListBase, ItemListService, IViewListResult, IViewPort, SortingService, ViewPortService } from '@deja-js/component/core/item-list'; import { IDejaDragContext, IDejaDragEvent, IDejaDropContext } from '@deja-js/component/dragdrop'; import { Observable, Subject } from 'rxjs'; import { DejaTreeListScrollEvent } from './tree-list-scroll-event'; import * as i0 from "@angular/core"; /** Composant de liste évoluée avec gestion de viewport et templating */ export declare class DejaTreeListComponent extends ItemListBase implements AfterViewInit, AfterContentInit, ControlValueAccessor { viewPort: ViewPortService; elementRef: ElementRef; control: NgControl; private clipboardService; options: DejaItemComponent[]; /** Exécuté lorsque la scrollbar change de position. */ readonly scroll: EventEmitter; /** Texte à afficher par default dans la zone de recherche */ placeholder: string; /** Texte affiché si aucune donnée n'est présente dans le tableau */ nodataholder: string; /** Correspond au ngModel du champ de filtrage ou recherche */ query: string; /** Permet de définir un template de ligne par binding */ itemTemplateExternal: TemplateRef; /** Permet de définir un template de ligne parente par binding. */ parentItemTemplateExternal: TemplateRef; /** Permet de définir un template pour le loader par binding. */ loaderTemplateExternal: TemplateRef; /** Permet de définir un template d'entête de colonne par binding. */ headerTemplateExternal: TemplateRef; /** Permet de définir un template comme prefixe de la zone de recherche par binding. */ searchPrefixTemplateExternal: TemplateRef; /** Permet de définir un template comme suffixe de la zone de recherche par binding. */ searchSuffixTemplateExternal: TemplateRef; /** Largeur des éléments par defaut si différent de 100% */ itemsWidth: number; /** Exécuté lorsque le déplacement d'une ligne est terminée. */ readonly itemDragEnd: EventEmitter; /** Exécuté lorsque le déplacement d'une ligne commence. */ readonly itemDragStart: EventEmitter; /** Exécuté lorsque l'utilisateur sélectionne ou désélectionne une ligne. */ readonly selectedChange: EventEmitter | DejaItemEvent>; /** Exécuté lorsque le calcul du viewPort est executé. */ readonly viewPortChanged: EventEmitter; /** Internal use */ input: ElementRef; _disabled: boolean; private itemTemplateInternal; private parentItemTemplateInternal; private loaderTemplateInternal; private headerTemplateInternal; private searchPrefixTemplateInternal; private searchSuffixTemplateInternal; setQuery$: Subject; private _keyboardNavigation; private clickedItem; private rangeStartIndex; private filterExpression; private _searchArea; private _sortable; private _itemsDraggable; private hasCustomService; private hasLoadingEvent; private _modelIsValue; private keyboardNavigation$; private mouseUp$sub; private clearFilterExpression$; private writeValue$; private selectItems$; private contentInitialized$; /** Définit la longueur minimale de caractères dans le champ de recherche avant que la recherche ou le filtrage soient effectués */ set minSearchlength(value: NumberInput); get minSearchlength(): NumberInput; constructor(changeDetectorRef: ChangeDetectorRef, viewPort: ViewPortService, elementRef: ElementRef, control: NgControl, clipboardService: DejaClipboardService); set listElememtRef(elem: ElementRef); keyboardNavigation(): boolean; /** Affiche un barre de recherche au dessus de la liste. */ set searchArea(value: BooleanInput); get searchArea(): BooleanInput; /** Définit une valeur indiquant si en reactive form le model renvoyé doit être un obeject oue une valeur */ set modelIsValue(value: BooleanInput); get modelIsValue(): BooleanInput; /** Retourne ou définit une valeur indiquant si les lignes de la liste peuvent être déplacées manuelement par l'utilisateur */ set sortable(value: BooleanInput); get sortable(): BooleanInput; /** Retourne ou définit une valeur indiquant si les lignes peuvent être déplacées vers un autre composant */ set itemsDraggable(value: BooleanInput); get itemsDraggable(): BooleanInput; set pageSize(value: NumberInput); /** Retourne le nombre de lignes à sauter en cas de pression sur les touches PageUp ou PageDown */ get pageSize(): NumberInput; /** Définit un texte de conseil en cas d'erreur de validation ou autre */ set hintLabel(value: string); /** Retourne un texte de conseil en cas d'erreur de validation ou autre */ get hintLabel(): string; /** Définit la hauteur d'une ligne pour le calcul du viewport en pixels (la valeur par défaut sera utilisée si aucune valeur n'est setté). */ set viewPortRowHeight(value: NumberInput); /** * Les valeurs acceptées en paramètre se trouvent dans l'enum ViewportMode (disabled, constant, variable ou auto) * Attention, une désactivation du viewport dégrade considérablement les performances de la liste et ne doit pas être activée si la liste * est suceptible de contenir beaucoup d'éléments. */ set viewportMode(mode: string); /** Retourne le champ utilisé pour la liste des enfants d'un parent */ set childrenField(value: string); /** Définit le champ utilisé pour la liste des enfants d'un parent */ get childrenField(): string; /** Définit le champ à utiliser comme valeur d'affichage. */ set textField(value: string); /** Définit le champ à utiliser comme valeur de comparaison. */ set valueField(value: string); /** Définit le champ à utiliser comme champ de recherche. * Ce champ peut indiquer, un champ contenant une valeur, un texte indexé, ou une fonction. */ set searchField(value: string); /** Retourne le champ à utiliser comme champ de recherche. * Ce champ peut indiquer, un champ contenant une valeur, un texte indexé, ou une fonction. */ get searchField(): string; /** Définit la hauteur maximum avant que le composant affiche une scrollbar * spécifier une grande valeur pour ne jamais afficher de scrollbar * Spécifier 0 pour que le composant determine sa hauteur à partir du container */ set maxHeight(value: NumberInput); /** Retourne la hauteur maximum avant que le composant affiche une scrollbar * spécifier une grande valeur pour ne jamais afficher de scrollbar * Spécifier 0 pour que le composant determine sa hauteur à partir du container */ get maxHeight(): NumberInput; /** Définit la ligne courant ou ligne active */ set currentItem(item: IItemBase); /** Retourne la ligne courant ou ligne active */ get currentItem(): IItemBase; /** Retourne le nombre de niveau pour une liste hierarchique */ get depthMax(): number; /** Définit une valeur indiquant si plusieurs lignes peuvent être sélectionées. */ set multiSelect(value: BooleanInput); /** Retourne une valeur indiquant si plusieurs lignes peuvent être sélectionées. */ get multiSelect(): BooleanInput; /** Définit la liste des éléments selectionés en mode multiselect */ set selectedItems(value: IItemBase[]); /** Retourne la liste des éléments selectionés en mode multiselect */ get selectedItems(): IItemBase[]; /** Définit l'élément selectioné en mode single select */ set selectedItem(value: unknown); /** Retourne l'éléments selectioné en mode single select */ get selectedItem(): unknown; /** Définit le model selectioné en mode single select */ set selectedModel(value: unknown); /** Retourne le model selectioné en mode single select */ get selectedModel(): unknown; /** Définit la liste des models selectionés en mode multiselect */ set selectedModels(value: unknown[]); /** Retourne la liste des models selectionés en mode multiselect */ get selectedModels(): unknown[]; /** Definit le service de liste utilisé par ce composant. Ce srevice permet de controller dynamiquement la liste, ou de faire du lazyloading. */ set itemListService(itemListService: ItemListService); /** Retourne le service de liste utilisé par ce composant. Ce srevice permet de controller dynamiquement la liste, ou de faire du lazyloading. */ get itemListService(): ItemListService; /** Definit le service utilisé pour le tri de la liste */ set sortingService(value: SortingService); /** Definit le service utilisé pour le regroupement de la liste */ set groupingService(value: GroupingService); /** Définit la liste des éléments */ set items(items: IItemBase[] | Promise[]> | Observable[]>); /** * Set a observable called before the list will be displayed */ set loadingItems(fn: (query: string | RegExp, selectedItems: IItemBase[]) => Observable[]>); /** * Set a promise or an observable called before an item selection */ set selectingItem(fn: (item: IItemBase) => Promise> | Observable>); /** * Set a promise or an observable called before an item deselection */ set unselectingItem(fn: (item: IItemBase) => Promise> | Observable>); /** * Set a promise or an observable called before an item expand */ set expandingItem(fn: (item: IItemTree) => Promise> | Observable>); /** * Set a promise or an observable called before an item collapse */ set collapsingItem(fn: (item: IItemTree) => Promise> | Observable>); /** Définit la liste des éléments (tout type d'objet métier) */ set models(items: unknown[] | Observable); /** Permet de désactiver la liste */ set disabled(value: BooleanInput); get disabled(): BooleanInput; /** Definit si le waiter doit être affiché dans la liste. */ set waiter(value: BooleanInput); /** Retourne si le waiter doit être affiché dans la liste. */ get waiter(): BooleanInput; set inputValidatorDirective(value: DejaChildValidatorDirective); set currentItemIndex(value: number); get currentItemIndex(): number; get itemTemplate(): TemplateRef; get parentItemTemplate(): TemplateRef; get loaderTemplate(): TemplateRef; get headerTemplate(): TemplateRef; get searchPrefixTemplate(): TemplateRef; get searchSuffixTemplate(): TemplateRef; get value(): unknown; set value(val: unknown); writeValue(value: IItemBase[] | IItemBase): void; registerOnChange(fn: (_a: unknown) => void): void; registerOnTouched(fn: () => void): void; setDisabledState(isDisabled: boolean): void; /** Change l'état d'expansion de toute les lignes parentes */ toggleAll$(collapsed?: boolean): Observable[]>; /** Change l'état d'expansion de toute les lignes parentes */ toggleAll(collapsed?: boolean): void; /** Positionne a scrollbar pour assurer que l'élément spécifié soit visible */ ensureItemVisible(item: IItemBase | number): void; /** Efface le contenu de la liste */ clearViewPort(): void; ngAfterContentInit(): void; ngAfterViewInit(): void; mousedown(e: MouseEvent): boolean; getDragContext(index: number): IDejaDragContext; getDropContext(): IDejaDropContext; dragLeave(event: DragEvent): void; onSelectionChange(): void; selectRange$(indexFrom: number, indexTo?: number): Observable; toggleSelect$(items: IItemBase[], state: boolean): Observable[]>; calcViewList$(): Observable>; getItemClass(item: IItemTree): string; onTouchedCallback: () => void; onChangeCallback: (_a?: unknown) => void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }