import { EventEmitter, OnInit, ViewContainerRef, Renderer2 } from '@angular/core'; import { FormGroup } from '@angular/forms'; import { DataStateChangeEvent, GridDataResult } from '@progress/kendo-angular-grid'; import { ExcelExportData } from '@progress/kendo-angular-excel-export'; import { GroupDescriptor, State } from '@progress/kendo-data-query'; import { SortDescriptor } from '@progress/kendo-data-query'; import { ThfGridBaseComponent } from '@totvs/thf-core/components/thf-grid-base/thf-grid-base.component'; import { ThfGridColumn } from '@totvs/thf-core/components/thf-grid-base/thf-grid-column.interface'; /** * @extends ThfGridBaseComponent * * @description * * Para o correto funcionamento do THF Grid deve ser importado o módulo `BrowserAnimationsModule` no módulo principal da sua aplicação. * * > Módulo da sua aplicação: * * ``` * import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; * * ... * * @NgModule({ * imports: [ * BrowserModule, * BrowserAnimationsModule, * ... * ThfModule, * ... * ], * declarations: [ * AppComponent * ], * providers: [], * bootstrap: [AppComponent] * }) * export class AppModule { } * ``` * * No arquivo `angular-cli.json` da sua aplicação deve ser importado o arquivo `all.css`, que pertence ao * pacote `@progress/kendo-theme-default`. * * > Arquivo .angular-cli.json: * * ``` * ... * "styles": [ * "../node_modules/@progress/kendo-theme-default/dist/all.css" * ] * ... * ``` * * @example * * * * */ export declare class ThfGridComponent extends ThfGridBaseComponent implements OnInit { private viewRef; private renderer; /** * Objeto com as informações das colunas a serem exibidas. */ columns: ThfGridColumn[]; /** Habilita a opção de ordenação dos dados nas colunas. */ sortable: boolean; /** Habilita a opção de selecionar uma linha do grid */ selectable: boolean; /** Habilita o botão para edição da coluna. */ editable: boolean; /** Habilita a opção para agrupamento permitindo agrupar no máximo dois níveis. */ groupable: boolean; /** Habilita a opção para exportação dos dados. */ exportButtons: boolean; /** Recebe valores "true" ou "false" para habilitar ou desabilitar o botão "Carregar Mais Resultados" */ showMoreDisabled: string; /** Habilita o botão "Remover" permitindo que o usuário possa remover uma linha do grid. */ showRemoveButton: boolean; /** Habilita o botão para adicionar linhas */ addButton: boolean; /** * Executa um método antes de salvar uma linha editada no thf-grid. Este método recebe como parâmetro o atributo *event*, * para acessar o objeto selecionado no thf-grid utilizando o *event.data*. * Se o método retornar o valor booleano *true*, a edição da linha é confirmada, * caso contrário as informações alteradas serão canceladas. */ saveAction?: string; /** * Executa um método antes de remover uma linha selecionada no thf-grid. Este método recebe como parâmetro o atributo *event*, * para acessar o objeto selecionado no thf-grid utilizando o *event.data*. * Se o método retornar o valor booleano *true*, a remoção da linha é confirmada, * caso contrário as informações serão mantidas. */ removeAction?: string; /** * Método executado antes de adicionar uma nova linha ao thf-grid. * * Esse método recebe como parâmetro o atributo *data* contendo a referência do objeto que será adicionado, dessa forma é possível * informar alguns valores para a nova linha, para que as alterações sejam efetivadas, deve-se retornar *true*. * Caso tenha necessidade, é possível cancelar a inclusão de uma nova linha retornando *false*, nesse caso as informações serão * descartadas e a nova linha não será incluída no thf-grid. */ addAction?: string; /** Habilita um botão "Carregar mais resultados" com evento de clique que chama um método do componente. */ showMore?: EventEmitter; /** Evento de seleção de linha que chama um método do componente. Este atributo é utilizado em conjunto com o atributo "t-selectable". */ selectionChange?: EventEmitter; /** Evento disparado ao salvar dados do modo de edição inline, contém o modelo que foi alterado. */ saveValue?: EventEmitter; _parentRef: any; editedRowIndex: number; editedProducted: any; groups: GroupDescriptor[]; gridView: GridDataResult; state: State; sortableObject: any; sort: SortDescriptor[]; private addButtonCalled; private isCancelling; formGroup: FormGroup; private dataArrayOrdered; private grid; constructor(viewRef: ViewContainerRef, renderer: Renderer2); ngOnInit(): void; defineColumnType(): any; isChildOf(el: any, className: any): boolean; hasClass(el: any, className: any): boolean; validateSaveEventInDocument(target: any): void; sortChange(sort: SortDescriptor[]): void; dataStateChange(state: DataStateChangeEvent): void; private updateIndex(dataUpdated); private loadData(); createFormGroup(): void; addHandler({sender}: { sender: any; }): void; executeFunctionValidation(func: any, param: any): any; saveLine(): void; editClickHandler({rowIndex, dataItem}: { rowIndex: any; dataItem: any; }): void; getRowIndex(arr: any, searchFor: any): number; editHandler({sender, rowIndex, dataItem}: { sender: any; rowIndex: any; dataItem: any; }): void; saveClick(): void; isGroup(): boolean; getColumn(key: any): ThfGridColumn; closeEditor(grid: any, rowIndex?: any): void; saveHandler({sender, rowIndex, formGroup, isNew}: { sender: any; rowIndex: any; formGroup: any; isNew: any; }): void; cancelPropagation(event: any): void; cancelHandler({sender, rowIndex}: { sender: any; rowIndex: any; }): void; removeHandler({rowIndex}: { rowIndex: any; }): void; isValidForm(): boolean; allData(): ExcelExportData; changeValueCheckbox(event: any, index: any, data: any, column: any): void; onSelectionChange(e: any): void; onShowMore(): void; groupChange(groups: GroupDescriptor[]): void; private loadDataGroupable(); private getObjects(data); }