import { BooleanInput, NumberInput } from '@angular/cdk/coercion'; import { ChangeDetectorRef, ElementRef, EventEmitter, TemplateRef } from '@angular/core'; import { IDejaChipsComponentCloseEvent } from '@deja-js/component/chips'; import { DejaClipboardService, Destroy } from '@deja-js/component/core'; import { GroupingService, IGroupInfo, IItemBase, ISortInfos, ItemListService, IViewListResult, IViewPort, SortingService, ViewPortService } from '@deja-js/component/core/item-list'; import { IDejaDragEvent } from '@deja-js/component/dragdrop'; import { DejaTreeListScrollEvent } from '@deja-js/component/tree-list'; import { Observable } from 'rxjs'; import { IDejaGridColumn, IDejaGridColumnEvent, IDejaGridColumnLayoutEvent, IDejaGridColumnSizeEvent } from './data-grid-column/data-grid-column'; import { IDejaGridColumnLayout } from './data-grid-column/data-grid-column-layout'; import { IDejaGridGroupsEvent } from './data-grid-grouparea/data-grid-group'; import { IDejaGridRow } from './data-grid-row/data-grid-row'; import { DejaGridRowEvent } from './data-grid-row/data-grid-row-event'; import { DejaGridRowsEvent } from './data-grid-row/data-grid-rows-event'; import * as i0 from "@angular/core"; /** @deprecated use ag-grid instead */ export declare class DejaGridComponent extends Destroy { private changeDetectorRef; private elementRef; private clipboardService; placeholder: string; /** Texte à afficher par default dans la zone de recherche */ /** Texte affiché si aucune donnée n'est présente dans le tableau */ nodataholder: string; /** Correspond au ngModel du champ de filtrage ou recherche */ query: string; /** Définit un texte de conseil en cas d'erreur de validation ou autre */ hintLabel: string; /** Les trois valeurs acceptés en paramètre se trouvent dans l'enum ViewportMode (disabled, fixed, variable ou auto) * Attention, une désactivation du viewport dégrade considérablement les performances de la liste et ne doit pas être activée si la liste * est suceptible de contenir beaucoup d'éléments. */ viewportMode: string; /** Champ utilisé pour la liste des enfants d'un parent */ childrenField: string; /** Définit le champ à utiliser comme valeur d'affichage. */ textField: string; /** Définit le champ à utiliser comme valeur de comparaison. */ valueField: string; /** Définit le champ à utiliser comme champ de recherche. * Ce champ peut indiquer, un champ contenant une valeur, un texte indexé, ou une fonction. */ searchField: string; /** Ligne courant ou ligne active */ currentRow: unknown; /** Liste des éléments sélectionnés en mode multiselect */ selectedItems: unknown[]; /** Elément selectioné en mode single select */ selectedItem: unknown; /** Liste des models selectionés en mode multiselect */ selectedModels: unknown[]; /** Model selectioné en mode single select */ selectedModel: unknown; /** Definit le service de tri utilisé par ce composant. */ sortingService: SortingService; /** Definit le service de regroupement utilisé par ce composant. */ groupingService: GroupingService; /** Définit la largeur minimum que peut prendre une colonne en cas de redimensionement. */ columnsMinWidth: number; /** Permet de définir un template de ligne par binding */ rowTemplateExternal: TemplateRef; /** Permet de définir un template de ligne parente par binding. */ parentRowTemplateExternal: TemplateRef; /** Permet de définir un template d'entête par binding. */ headerTemplateExternal: TemplateRef; /** Permet de définir un template d'entête de colonnes par binding. */ columnHeaderTemplateExternal: TemplateRef; /** Permet de définir un template comme prefixe de la zone de recherche par binding. */ searchPrefixTemplateExternal: TemplateRef; /** Permet de définir un template comme suffixe de la zone de recherche par binding. */ searchSuffixTemplateExternal: TemplateRef; /** Set a observable called before the rows will be displayed */ loadingRows: (query: string | RegExp, selectedRows: IDejaGridRow[]) => Observable; /** Set a promise called before a row selection */ selectingRow: (row: IDejaGridRow) => Promise> | Observable>; /** Set a promise called before a row deselection */ unselectingRow: (row: IDejaGridRow) => Promise> | Observable>; /** Set a promise called before a row expand */ expandingRow: (row: IDejaGridRow) => Promise> | Observable>; /** Set a promise called before a row collapse */ collapsingRow: (row: IDejaGridRow) => Promise> | Observable>; /** Exécuté lorsque le déplacement d'une ligne est terminée. */ readonly itemDragEnd: EventEmitter; /** Exécuté lorsque le déplacement d'une ligne commence. */ readonly itemDragStart: EventEmitter; /** Exécuté lorsque l'utilisateur sélectionne ou désélectionne une ligne. */ readonly selectedChange: EventEmitter | DejaGridRowsEvent>; /** Cet évenement est levé lorsque la position des colonnes est modifiée */ readonly columnLayoutChanged: EventEmitter; /** Cet évenement est levé lorsque la taille d'une colonne est modifiée */ readonly columnSizeChanged: EventEmitter; /** Exécuté lorsque le calcul du viewPort est executé. */ readonly viewPortChanged: EventEmitter; /** Exécuté lorsque le sorting à changé. */ readonly sortChanged: EventEmitter; /** Exécuté lorsque le grouping à changé. */ readonly groupChanged: EventEmitter; private rowTemplateInternal; private parentRowTemplateInternal; private _cellTemplate; private _parentTitleTemplate; private _columnHeaderTemplate; private headerTemplateInternal; private searchPrefixTemplateInternal; private searchSuffixTemplateInternal; private header; private treeListComponent; /** retourne la largeur calculée des lignes */ rowsWidth: number; private _rows; private _columns; private _columnLayout; private lastScrollLeft; private printColumnLayout$; private disableUserSelection$; private _noHorizontalScroll; private _itemListService; private sizingLayoutInfos; private columnsLayoutInfos; private hasPercentageColumns; private _sortable; private _searchArea; private _groupArea; private _rowsDraggable; private _rowsSortable; private _columnsDraggable; private _columnsSortable; private _columnsSizable; private _multiSelect; private _minSearchLength; private _maxHeight; private _pageSize; private _viewPortRowHeight; private columnGroups$; private columns$; private _columnGroups; private _waiter; /** Définit la hauteur d'une ligne pour le calcul du viewport en pixels */ set viewPortRowHeight(value: NumberInput); get viewPortRowHeight(): NumberInput; /** Permet de définir la longueur minimale de caractères dans le champ de recherche avant que la recherche ou le filtrage soient effectués */ set minSearchLength(value: NumberInput); get minSearchLength(): NumberInput; /** Hauteur maximum avant que le composant affiche une scrollbar * spécifier une grande valeur pour ne jamais afficher de scrollbar * Spécifier 0 pour que le composant determine sa hauteur à partir du container */ set maxHeight(value: NumberInput); get maxHeight(): NumberInput; /** Définit le nombre de lignes à sauter en cas de pression sur les touches PageUp ou PageDown */ set pageSize(value: NumberInput); get pageSize(): NumberInput; /** Définit si le waiter doit être affiché dans la grille. */ set waiter(value: BooleanInput); get waiter(): BooleanInput; /** Permet de trier le tableau au clic sur l'entête de la colonne */ set sortable(value: BooleanInput); get sortable(): BooleanInput; /** Définit les options de regroupement utilisateur de la grille. Plusieurs champs peuvent etre spécifiés dans le HTML en utilisant la , comme séparateur (Ex: columnGroups="color, name") */ set columnGroups(value: IDejaGridColumn[]); get columnGroups(): IDejaGridColumn[]; get noHorizontalScroll(): boolean; /** Affiche un barre de recherche au dessus du tableau. */ set searchArea(value: BooleanInput); get searchArea(): BooleanInput; /** Affiche une zone de regroupement des colonnes par drag and drop. */ set groupArea(value: BooleanInput); get groupArea(): BooleanInput; /** Rend les lignes du tableau draggable vers un autre composant (ne pas confondre avec la propriété `sortable`) */ set rowsDraggable(value: BooleanInput); get rowsDraggable(): BooleanInput; /** Rend les lignes du tableau triables par drag-and-drop */ set rowsSortable(value: BooleanInput); get rowsSortable(): BooleanInput; /** Définit si toutes les colonnes peuvent être draggable vers un autre composant. */ set columnsDraggable(value: BooleanInput); get columnsDraggable(): BooleanInput; /** Définit si toutes les colonnes peuvent être déplacées parmis les autres colonnes. */ set columnsSortable(value: BooleanInput); get columnsSortable(): BooleanInput; /** Permet de redimensionner manuellement les colonnes du tableau. */ set columnsSizable(value: BooleanInput); get columnsSizable(): BooleanInput; /** Permet la sélection multiple des ligne de la grille (avec la touche shift ou ctrl) */ set multiSelect(value: BooleanInput); get multiSelect(): BooleanInput; /** Définit la structure des colonnes de la grille. */ set columns(columns: IDejaGridColumn[]); /** Retourne la structure des colonnes de la grille. */ get columns(): IDejaGridColumn[]; /** Définit le modèle affiché dans les lignes de la grille. */ set rows(rows: unknown[] | Promise | Observable); /** Retourne le modèle affiché dans les lignes de la grille. */ get rows(): unknown[] | Promise | Observable; /** Définit la colonne en surbrillance. */ set currentColumn(column: IDejaGridColumn); /** Retourne la colonne en surbrillance. */ get currentColumn(): IDejaGridColumn; /** Definit le service de liste utilisé par ce composant. Ce srevice permet de controller dynamiquement la liste, ou de faire du lazyloading. */ set itemListService(value: ItemListService); /** Retourne le service de liste utilisé par ce composant. */ get itemListService(): ItemListService; /** Retourne une valeur indiquant le nombre de niveau hierarchiques affichés par la grille. */ get depthMax(): number; /** Retourne le service de viewport utilisé pour la grille */ get viewPort(): ViewPortService; get searchPrefixTemplate(): TemplateRef; get searchSuffixTemplate(): TemplateRef; get rowTemplate(): TemplateRef; get parentRowTemplate(): TemplateRef; get cellTemplate(): TemplateRef; get parentTitleTemplate(): TemplateRef; get columnsHeaderTemplate(): TemplateRef; get columnHeaderTemplate(): TemplateRef; get columnLayout(): IDejaGridColumnLayout; constructor(changeDetectorRef: ChangeDetectorRef, elementRef: ElementRef, clipboardService: DejaClipboardService); get value(): unknown; set value(value: unknown); /** Nettoye les caches et réaffiche le viewport. */ refresh(): void; /** Recalcule le viewport. */ refreshViewPort(item?: IItemBase): void; /** Efface la hauteur calculée des lignes en mode automatique */ clearRowsHeight(): void; /** Efface le viewport */ clearViewPort(): void; /** Calcul la position de la scrollbar horizontale pour que la colonne spéfiée soit dans la zone visible. */ ensureColumnVisible(column: IDejaGridColumn): boolean; scroll(event: DejaTreeListScrollEvent): void; /** Trie la liste par le champs spécifié. */ sort(name?: string): void; /** Trie la liste par le champs spécifié. */ sort$(name?: string): Observable>; /** Groupe les éléments en fonction du modèle de groupe spécifié * @param groupInfos Modèle de groupe à appliquer. * @return Observable résolu par la fonction. */ group$(groups: IGroupInfo[]): Observable>; /** Retire les groupe correspondants au modèle de groupe spécifié * @param groupInfos Modèle de groupe à retirer. * @return Observable résolu par la fonction. */ ungroup$(groupInfo: IGroupInfo): Observable>; onColumnHeaderClicked(event: IDejaGridColumnEvent): void; onColumnDragEnd(): void; onColumnLayoutChanged(e: IDejaGridColumnLayoutEvent): void; onColumnSizeChanged(e: IDejaGridColumnSizeEvent): void; onGroupRemoved(event: IDejaChipsComponentCloseEvent): void; onGroupsChanged(e: IDejaGridGroupsEvent): void; calcColumnsLayout(rows?: unknown[]): void; private ensureSizingVisible; private clearColumnLayout; private getColumnElementFromHtmlElement; private getColumnFromHtmlElement; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }