UNPKG

@edugouvfr/ngx-dsfr-ext

Version:

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

93 lines (92 loc) 3.82 kB
import { AfterViewInit, ElementRef, EventEmitter, OnDestroy } from '@angular/core'; import { DsfrI18nService, LoggerService } from '@edugouvfr/ngx-dsfr'; import { DsfrDateEvent } from '../../shared/models/date-event'; import { DsfrCalendarComponent } from '../calendar.component'; import * as i0 from "@angular/core"; export declare class DsfrCalendarModalComponent implements AfterViewInit, OnDestroy { private elementRef; private i18n; private logger; /** * Date minimale inclue. Doit être au format IS0-8601 : AAAA-MM-JJ. * Ce paramètre peut être utilisé seul ou avec la propriété max. */ min: string; /** * Date maximale inclue. Doit être au format IS0-8601 : AAAA-MM-JJ. * Ce paramètre peut être utilisé seul ou avec la propriété min. */ max: string; /** * Valeur de l'attribut aria-label du bouton d'ouverture de la modale. */ ariaLabel: string; /** * Message du `tooltip` (attribut `title` du bouton) ou ajout d'un `span` en `sr-only` si pas de label. */ tooltipMessage: string; /** * Valeur de l'attribut disabled du bouton d'ouverture de la modale. */ disabled: boolean; /** * Emission de la date au format DsfrDateEvent */ dateChange: EventEmitter<DsfrDateEvent>; protected modal: ElementRef<HTMLDivElement>; protected calendar: DsfrCalendarComponent; /** * Id aléatoire, unique, de la modale (le calendrier) */ protected modalId: string; protected isOpen: boolean; protected dialogTitle: string; protected translatedMonths: string[]; protected dialogTriggerBtnNode: HTMLButtonElement; private _value; private currentMonthIndex; private currentYear; private subscription; constructor(elementRef: ElementRef, i18n: DsfrI18nService, logger: LoggerService); get value(): string | undefined; /** * Valeur initial de la date. * La valeur doit prendre la forme dd/mm/yyyy pour la locale fr et mm/dd/yyyy pour la locale en. */ set value(value: string | undefined); ngAfterViewInit(): void; ngOnDestroy(): void; /** * Gère le clic en dehors de la modale */ protected onCalendarOutside(): void; protected handleTriggerBtnClick(): void; protected handleDataChange(dateEvent: DsfrDateEvent): void; protected handleModalKeydown(keyEvent: KeyboardEvent): void; protected handleCancelButton(): void; /** * Met à jour le titre de la dialog (visuellement caché) pour les besoins d'accessibilité. */ private updateDialogTitle; /** * Ferme la modale. * * Positionne le focus sur le bouton d'ouverture de la modale si besoin. * * @param focusTriggerBtn Permet de savoir si le focus doit être donné au bouton d'ouverture de la modale */ private close; private updateMonthTranslations; /** * Gestion du changement de langue dans le composant. * * @param code Code de la locale à prendre en compte */ private onLangChange; /** * Mise à jour des valeurs des deux listes déroulantes, mois et année. */ private updateMonthIndexAndYear; static ɵfac: i0.ɵɵFactoryDeclaration<DsfrCalendarModalComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<DsfrCalendarModalComponent, "dsfr-ext-calendar-modal, dsfrx-calendar-modal", never, { "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": true; }; "tooltipMessage": { "alias": "tooltipMessage"; "required": true; }; "disabled": { "alias": "disabled"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "dateChange": "dateChange"; }, never, never, true, never>; }