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