import { ElementRef, OnInit, AfterViewInit, NgZone, ApplicationRef, PipeTransform, OnDestroy, EventEmitter } from '@angular/core'; import { Http } from '@angular/http'; import { Router } from '@angular/router'; import { PermissionProvider, TestLogger } from './../services/index'; import { IComposableFilter, IButtonInfo, IDataStructure, IEntityDataService, IEmptyConstruct, FieldFilter } from './../interfaces/index'; import { GlobalDataSharing } from './../models/global-data-sharing.model'; import { DataTable, LazyLoadEvent } from 'primeng/primeng'; import { ErrorService } from './../services/error.service'; export declare class WrapperPipe implements PipeTransform { private locale; private formatDate; registeredPipes: Map; constructor(locale: string, formatDate: string); transform(value: string, args: string[]): any; } export declare class CheckItem { IsChecked: boolean; ID: string; } export declare class GridPrimeControl implements OnInit, AfterViewInit, OnDestroy { private logger; private http; private router; private entityService; private zone; private elRef; private applicationRef; private errorService; private permissionService; /** Set Grid Entity Type */ entityType: IEmptyConstruct; /** Property for showing Export Button */ showExportExcelButton: boolean; /** File Name */ fileName: string; /** Property for showing Refresh Button */ showRefreshButton: boolean; /** Link to add new entity */ addNewLink: string; /** Property for showing Add Button */ showAddButton: boolean; /** Checking Insert Claim */ private canAdd; /** Link to edit entity */ editLink: string; /** Condition for opening detail on double click */ openEntityDetail: boolean; /** Output double click event */ doubleClickEvent: EventEmitter; /** Checking Update Claim */ private canEdit; /** Property for showing Delete Button */ private showDeleteButton; /** Checking Remove Claim */ private canDelete; /** Number of Page Links */ pageLinks: number; /** Number of records per page */ pageSize: number; /** Property for setting location of buttons column on grid */ buttonsInFirstColumn: boolean; /** Selected page */ private pageNumber; /** Total records */ private totalRecords; /** Filters defined outside */ filters: Array; /** Output on click clear filter */ clearFilterEvent: EventEmitter; /** Filters defined in primeng */ private primeFilters; /** Combine filters & primeFilters */ private totalFilters; /** Sort Order By Property */ orderBy: string; /** Sort Order Direction Property */ orderDirection: string; /** List of buttons which are defined by developers */ actionButtons: Array; /** Event on click buttons */ actionInvoked: EventEmitter<{ FunctionName: string; ids: string[]; }>; /** Property for showing checkbox column */ showCheckList: boolean; /** Event on check */ checkedEvent: EventEmitter; /** List items was checked */ private checkLists; /** Output error when user deletes entities */ errorEvent: EventEmitter; srclink: string; parentType: IEmptyConstruct; /** List entities are showing */ private showEntityList; /** Grid Entity */ private showEntity; /** DataStructure of Grid Entity */ private entityDataStructure; /** The global control id number (will be increased 1 when it has the constructor)*/ static idComponent: number; /** The control id number*/ private myIDComponent; /** Subscription Data Changed*/ private subscription; /** Error Subscription*/ private errorSubscription; /** Data Type Enum */ private dataTypeEnum; static destroyedOnes: Array; private cd; table: DataTable; private tableWidthEM; itemFilter: Array; private totalResultInGridText; private totalNumberOfPage; /** Tooltip Config*/ private toolTipConfig; private busy; constructor(logger: TestLogger, gds: GlobalDataSharing, http: Http, router: Router, entityService: IEntityDataService, zone: NgZone, elRef: ElementRef, applicationRef: ApplicationRef, errorService: ErrorService, permissionService: PermissionProvider); /** loadData*/ loadData(): void; /** Lazy load */ loadLazy(event: LazyLoadEvent): void; /** Register Data Service */ private registerDataService(); /** Event on multiple buttons clicked */ private btnMultipleClick(btn); /** Event on single buttons clicked */ private btnSingleClick(btn, data); /** Event on row double clicked */ private dblClick(event); /** Combine filters & primefilters */ private getTotalFilters(); /** Event on click add button */ private newEntity(); /** Open detail page */ private openDetail(entity); /** Clear primefilters */ private clearFilters(); /** Show confirm on delete button clicked */ private delete(); /** Delete entities */ private onDelete(); /** Event on checked changed */ private CheckedChanged(id, isChecked); /** Get number of multiple buttons */ private numberOfMultipleSelection(value, index, array); /** Get number of single buttons */ private numberOfSingleSelection(value, index, array); /** Get number of seleted items */ private numberOfSelectedItems(value, index, array); /** Get index of checked id */ private getIndex(id); exportExcel(): void; exportExcelByFilter(itemList: IDataStructure[]): void; exportExcelByItemSelected(): boolean; /** * Implements method(ngOnInit) of interface OnInit */ ngOnInit(): void; /** * Implements method(ngOnDestroy) of interface OnDestroy */ ngOnDestroy(): void; /** * Implements method(ngAfterViewInit) of interface AfterViewInit */ ngAfterViewInit(): void; private showTotalResultInGrid(pageNumber, pageSize, totalRecords); private changePageSize(event); permissionCheck(buttons: Array): void; }