@edugouvfr/ngx-dsfr-ext
Version:
NgxDsfrExt est une extension au package @edugouvfr/ngx-dsfr (portage Angular des éléments DSFR)
156 lines (155 loc) • 8.71 kB
TypeScript
import { ChangeDetectorRef, EventEmitter, OnInit, TemplateRef } from '@angular/core';
import { DefaultValueAccessorComponent, DsfrOption, DsfrSeverity, DsfrSeverityConst } from '@edugouvfr/ngx-dsfr';
import { DsfrSelectionMode } from '../../models/selection-mode.type';
import * as i0 from "@angular/core";
export declare abstract class AbstractSelectComponent<T> extends DefaultValueAccessorComponent<any[] | any | undefined> implements OnInit {
/** Template pour l'ensemble des valeurs sélectionnées lorsque maxDisplayOptions est atteint */
maxDisplayOptionsTemplate: TemplateRef<any>;
/** Template pour chaque valeur sélectionnée */
selectedOptionTemplate: TemplateRef<any>;
/** Template des labels des options */
optionTemplate: TemplateRef<any>;
/** La liste prend une taille fluide selon la taille des options qu'elle contient (par défaut : taille du select) */
autoWidthDropdown: boolean;
/** Les options sélectionnées sont affichées sous forme de tags supprimables */
clearableOptions: boolean;
/** Id du composant, généré par défaut */
selectId: string;
/** Hauteur maximale avant le scroll sur la liste déroulante. */
scrollHeight: string;
/** Label du champ de sélection (prioritaire sur le slot label) */
label: string;
/** Texte de description additionnel */
hint: string;
/** Nombre max. d'options sélectionnées affichées */
maxDisplayOptions: number;
/** Nombre max. d'options sélectionnables */
maxSelectedOptions: number | undefined;
/** Afficher la case à cocher tout sélectionner */
showSelectAll: boolean;
/** Attacher l'élément de liste déroulante au 'body' ou a un container (réf. vers un élément #div ou nom de la classe du parent) */
appendTo: 'body' | HTMLElement | string | undefined;
/** Afficher la barre de recherche (filtre sur les options) */
showSearch: boolean;
/** Afficher un bouton pour vider le champ de la barre de recherche */
showClearSearch: boolean;
/** Placeholder pour le champ de sélection */
placeHolder: string | undefined;
/** Placeholder pour le champ de recherche */
searchMessage: string | undefined;
/** Placeholder pour le champ de recherche */
noResultsMessage: string | undefined;
/** Afficher un état de chargement */
loading: boolean;
/**
* Message d'information lié au composant
*/
message: string;
/**
* Représente la sévérité du message
*/
messageSeverity: DsfrSeverity;
/** Activer le virtual scroll */
virtualScroll: boolean;
/** Surcharger la hauteur d'un item dans le cas du virtual scroll. Par défaut 32px. */
virtualScrollItemHeight: number;
/** Propriété CSS z-index de la liste, par défaut supérieur aux composants 'lifted' DSFR */
zIndex: number;
/** Vider le champ de recherche lorsque la liste est cachée */
clearSearchOnHide: boolean;
/** 👓 Correspond à l'attribut `aria-invalid` */
ariaInvalid: boolean;
/** 👓 Correspond à l'attribut `aria-required` */
ariaRequired: boolean;
/**
* Cache le label visuellement en le laissant disponible aux lecteurs d'écran.
*/
labelSrOnly: boolean;
/** Liste d'options sélectionnée modifiée */
selectionChange: EventEmitter<any[] | undefined>;
/** @internal texte pour filtrer */
searchText: string;
/** @internal liste des options sélectionnées */
selectedOptions: T[];
/** @internal toutes les options visibles sélectionnées */
isCheckedSelectAll: boolean;
/** @internal afficher le dropdown (recherche et liste déroulante) */
displayDropdown: boolean;
/** @internal liste d'options filtrées */
optionsFilter: T[];
/** @internal Sauvegarder l'index de la premiere option sélectionnée pour la gestion du focus */
indexFirstSelected: number | null;
/**@internal le mode de sélection est single */
isSingleMode: boolean;
protected cd: ChangeDetectorRef;
/** @internal Afin de pouvoir utiliser le type dans l'HTML*/
protected readonly severityConst: typeof DsfrSeverityConst;
/** @internal */
protected _options: T[] | undefined;
/** @internal */
protected _selectionMode: DsfrSelectionMode;
/** @internal compareWith reprise de l'implémentation angular SelectControlValueAccessor */
protected _compareWith: (o1: any, o2: any) => boolean;
private i18n;
/** @internal */
constructor();
/** @internal */
get options(): any[] | undefined;
/** @internal */
get showCheckboxes(): boolean;
/** @internal */
get selectionMode(): DsfrSelectionMode;
/**
* Positionne un message d'erreur
* @deprecated utiliser message et messageSeverity
*/
set error(value: string);
/**
* Positionne un message de validation
* @deprecated utiliser message et messageSeverity
*/
set valid(value: string);
/** Liste des options disponibles. */
set options(val: any[] | undefined);
/** Mode de sélection. Checkbox, multiple ou single */
set selectionMode(mode: DsfrSelectionMode);
/** Personnalisation de la comparaison. Fonction à 2 arguments: val1 et val2 (les values des deux options).
Si compareWith est fourni, sélection de l'option selon le retour de la fonction.*/
set compareWith(fn: (v1: any, v2: any) => boolean);
ngOnInit(): void;
/** @internal */
getLabelKeyOptionsSelected(): string;
/** @internal */
setDisabledState(isDisabled: boolean): void;
/**
* Réinitialiser le champ de recherche
@internal
*/
resetSearchInput(): void;
/**
* Ouverture du multiselect sur arrow down
* @internal */
onButtonKeyDown(e: KeyboardEvent): void;
/** @internal */
toggleDropdown(e?: any): void;
/** @internal */
hide(): void;
/** @internal **/
protected setSelectionMode(mode: DsfrSelectionMode): void;
/**
* Sélectionner ou déselectionner toutes les options
* Si maxSelectedOptions est défini, sélection uniquement des (max) premières options
@internal
*/
abstract selectAll(): void;
/**
* Sélection ou désélection d'une option
* @internal */
abstract onOptionClick(e: any, option: DsfrOption): void;
/**
* Filtrer les options selon la fonction de recherche
* @internal */
abstract onSearch(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<AbstractSelectComponent<any>, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<AbstractSelectComponent<any>, "ng-component", never, { "autoWidthDropdown": { "alias": "autoWidthDropdown"; "required": false; }; "clearableOptions": { "alias": "clearableOptions"; "required": false; }; "selectId": { "alias": "selectId"; "required": false; }; "scrollHeight": { "alias": "scrollHeight"; "required": false; }; "label": { "alias": "label"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "maxDisplayOptions": { "alias": "maxDisplayOptions"; "required": false; }; "maxSelectedOptions": { "alias": "maxSelectedOptions"; "required": false; }; "showSelectAll": { "alias": "showSelectAll"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "showSearch": { "alias": "showSearch"; "required": false; }; "showClearSearch": { "alias": "showClearSearch"; "required": false; }; "placeHolder": { "alias": "placeHolder"; "required": false; }; "searchMessage": { "alias": "searchMessage"; "required": false; }; "noResultsMessage": { "alias": "noResultsMessage"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "message": { "alias": "message"; "required": false; }; "messageSeverity": { "alias": "messageSeverity"; "required": false; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; }; "virtualScrollItemHeight": { "alias": "virtualScrollItemHeight"; "required": false; }; "zIndex": { "alias": "zIndex"; "required": false; }; "clearSearchOnHide": { "alias": "clearSearchOnHide"; "required": false; }; "ariaInvalid": { "alias": "ariaInvalid"; "required": false; }; "ariaRequired": { "alias": "ariaRequired"; "required": false; }; "labelSrOnly": { "alias": "labelSrOnly"; "required": false; }; "error": { "alias": "error"; "required": false; }; "valid": { "alias": "valid"; "required": false; }; "options": { "alias": "options"; "required": false; }; "selectionMode": { "alias": "selectionMode"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; }, { "selectionChange": "selectionChange"; }, ["maxDisplayOptionsTemplate", "selectedOptionTemplate", "optionTemplate"], never, true, never>;
}