UNPKG

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