import { OnInit, ChangeDetectorRef, EventEmitter, ElementRef } from '@angular/core'; import { ActionEvent } from '@schoolbelle/common/table-resizer'; import { Table } from '@schoolbelle/common/table'; import { ExcelService } from '@schoolbelle/api/excel'; import { LoadingService } from '@schoolbelle/common/loading'; import { FormControl, FormGroup } from '@angular/forms'; import { MailMergeItem } from '@schoolbelle/api/letter'; import { Subscription } from 'rxjs'; import { MailmergeTableService } from './mailmerge-table.service'; import { ngfSelect } from 'angular-file'; import { ToastrService } from 'ngx-toastr'; import { TranslationService } from '@schoolbelle/common/translation'; import { GroupMemberType } from '@schoolbelle/api/group-member'; import { VirtualScrollerComponent } from 'ngx-virtual-scroller'; import { CountryCallingCode } from 'libphonenumber-js'; export declare class MailmergeTableComponent implements OnInit { private cdRef; private excel; private loading; private mailmergeService; private toastr; private elementRef; private translation; protected DEFAULT_COUNTRY_CALLING_CODE: CountryCallingCode; ngfSelect: ngfSelect; table: Table; memberType: GroupMemberType; searchTypes: Array<'class' | 'type' | 'name' | 'phone-number'>; _mailmerge: MailMergeItem[]; mailmerge: MailMergeItem[]; mailmergeChange: EventEmitter<{}>; selectedRowIndex: any; selectedRowIndexChange: EventEmitter<{}>; height: string; memberMatchRequired: boolean; scroll: VirtualScrollerComponent; tableCtrl: FormControl; tableForm: FormGroup; subscription: Subscription; constructor(cdRef: ChangeDetectorRef, excel: ExcelService, loading: LoadingService, mailmergeService: MailmergeTableService, toastr: ToastrService, elementRef: ElementRef, translation: TranslationService, DEFAULT_COUNTRY_CALLING_CODE: CountryCallingCode); ngOnInit(): void; ngOnDestroy(): void; /** * * @param event * => table + resize = mailmerge * => x,y can't added once ({x:click, y:undefined}, {x:undefined, y:click}) * => * * */ onAction(event: ActionEvent): void; selectRow(index: number): void; private loadTable; /** * ruler cells for the FIXED columns in the top ruler will not be interactive. * @param x * @param y * */ disableIndexCellFn: (x: number, y: number) => boolean; /** * first ruller cell in the left ruler will be painted gray. * @param x * @param y * @returns */ classIndexCellFn: (x: number, y: number) => "" | "table-secondary"; onExcelUpload(file: File): void; private refreshFileInput; downloadAsExcel(): void; downloadTemplate(): void; ngAfterViewInit(): void; trackById(index: number, item: any): any; }