UNPKG

@edugouvfr/ngx-dsfr-ext

Version:

NgxDsfrExt est une extension au package @edugouvfr/ngx-dsfr (portage Angular des éléments DSFR)

124 lines (123 loc) 4.98 kB
import { AfterViewInit, ElementRef, EventEmitter, OnChanges, SimpleChanges, TemplateRef } from '@angular/core'; import { DsfrSelectionMode } from '../shared/models/selection-mode.type'; import { TreeFocusable } from '../shared/utils/tree/tree-focus-manager'; import { TreeSelectable } from '../shared/utils/tree/tree-select-manager'; import { DsfrNode } from '../shared/utils/tree/tree.model'; import * as i0 from "@angular/core"; /** Événement émis lors de la sélection d'un nœud. */ export interface DsfrNodeEvent extends Omit<DsfrNode, 'children'> { } export interface DsfrTreeNodeEvent { node: DsfrNodeEvent | null; nodesSelected: DsfrNode[]; } export declare class DsfrTreeComponent implements TreeFocusable, TreeSelectable, AfterViewInit, OnChanges { private elementRef; /** Un tableau de nœuds d'arbre */ value: DsfrNode[]; /** Template pour personnaliser le contenu d'un noeud. * Le slot s'ajoute après le label en mode checkbox et le remplace dans les autres modes. */ nodeTemplate: TemplateRef<any>; /** Indique le changement d'état d'un nœud. */ nodeSelect: EventEmitter<DsfrNodeEvent>; /** Indique un changement sur la sélection. Renvoie le noeud concerné et liste des noeuds (feuilles) sélectionnés */ selectionChange: EventEmitter<DsfrTreeNodeEvent>; /** Indique si toutes les options sont sélectionnées ou non. */ /** @internal */ isAllSelected: boolean; protected isModeSelectable: boolean; private cd; private focusManager; private selectManager; private _viewNodes; constructor(elementRef: ElementRef); get selectionMode(): DsfrSelectionMode; /** Synonyme de value, mais plus explicite. */ get nodes(): DsfrNode[]; /** Mode de sélection, `undefined` par défaut. */ set selectionMode(value: DsfrSelectionMode); /** * Permet la récupération du modèle interne de l'arbre. * * @returns Un tableau de DsfrNode[]. */ getTreeState(): DsfrNode[]; /** * Permet la récupération de la sélection courante de l'arbre. * * @returns Un tableau de DsfrNode[]. */ getSelection(): DsfrNode[]; /** @internal */ ngAfterViewInit(): void; /** @internal */ ngOnChanges({ value }: SimpleChanges): void; /** @internal */ getCheckboxId(node: DsfrNode): string; /** @internal */ isCheckboxMode(): boolean; /** @internal */ isSelectable(): boolean; /** * Ouvre tous les nœuds de l'arborescence. */ /** @internal */ onNodeButton(node: DsfrNode): void; /** * Sélection du label d'un nœud lorsque que l'on a un label sans checkbox. Si le mode est `selectable` : * - on inverse la sélection, uniquement du nœud, on émet un événement. */ /** @internal */ onNodeSelect(node: DsfrNode, event: Event): void; /** * Gestion des touches de navigation. * On transfère la gestion au composant qui gère la liste. */ /** @internal */ onNodeKeydown(node: DsfrNode, event: KeyboardEvent): void; /** Ouvre tous les nœuds de l'arborescence. */ /** @internal */ expandAll(): void; /** Ferme tous les nœuds de l'arborescence. */ /** @internal */ collapseAll(): void; /** @internal */ doNodeDefaultAction(node: DsfrNode, event: Event): void; /** * Trouver tous les noeuds <li> visibles (possèdent une hauteur minimale). * * @internal */ findVisibleNodesElt(): HTMLElement[]; /** Retourne l'élément avec focus ou undefined. */ /** @internal */ findFocusElement(): HTMLElement | undefined; /** * Mise a jour du contenu de l'arbre. Conserve l'état (nœuds étendus et sélectionnés) si l'id des nœuds est renseigné. * @internal */ updateContent(): void; /** * Réinitialise l'état de l'arbre (nœuds étendus et sélectionnés) * @internal */ reinitializeState(): void; /** Sélectionne / désélectionne tous les nœuds en mode multiple ou checkbox. * @internal */ selectAll(selected?: boolean): void; /** Emission d'un événement pour un nœud. * @internal */ notifySelectEvent(node: DsfrNode): void; /** * Met à jour la propriété `indeterminate` de la checkbox `node.inputId` en fonction de la valeur de 'node.selected'. * @param node Nœud de l'arbre */ /** @internal */ updateIndeterminate(node: DsfrNode): void; /** @internal */ trackById(index: number, item: DsfrNode): string | undefined; static ɵfac: i0.ɵɵFactoryDeclaration<DsfrTreeComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<DsfrTreeComponent, "dsfr-ext-tree, dsfrx-tree", never, { "value": { "alias": "value"; "required": false; }; "selectionMode": { "alias": "selectionMode"; "required": false; }; }, { "nodeSelect": "nodeSelect"; "selectionChange": "selectionChange"; }, ["nodeTemplate"], never, true, never>; }