@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
TypeScript
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>;
}