import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnInit, QueryList } from '@angular/core'; import { ApiService, FieldDefine, FieldDefineGroup, FieldType, FormStatus, LanguagesService, MessageService, SearchDefine, StateService } from '../../../core'; import { UserButtonDirective, UserGridEditFormDirective } from '../../directive'; import { BaseFormComponent } from '../base-form'; import { InlineItemColumn } from '../../define'; import { CompositeFilterDescriptor, DataResult, GroupDescriptor, SortDescriptor, State } from '@progress/kendo-data-query'; import { ColumnReorderEvent, ColumnResizeArgs, ColumnVisibilityChangeEvent, DataStateChangeEvent, GridComponent, GridDataResult, PageSizeItem, RowClassArgs, SelectionEvent } from '@progress/kendo-angular-grid'; import { ColumnComponent, ColumnReorderEvent as ColumnReorderEventTreeList, ColumnResizeArgs as ColumnResizeArgsTreeList, ColumnVisibilityChangeEvent as ColumnVisibilityChangeEventTreeList, RowArgs } from '@progress/kendo-angular-grid'; import { MultiSelectComponent } from '../multi-select/multi-select.component'; import { DatePipe } from '@angular/common'; export declare class GridFormComponent extends BaseFormComponent implements OnInit, AfterViewInit { lang: LanguagesService; protected api: ApiService; protected message: MessageService; protected el: ElementRef; protected datePipe: DatePipe; protected state: StateService; protected cd: ChangeDetectorRef; protected ngZone: NgZone; constructor(lang: LanguagesService, api: ApiService, message: MessageService, el: ElementRef, datePipe: DatePipe, state: StateService, cd: ChangeDetectorRef, ngZone: NgZone); config: { apiRoot: any; languagesApi: string; workflowActionApi: string; listApi: string; logicApi: string; businessApi: string; formApi: string; loginPath: string; logoutPath: string; profilePath: string; workflowDataVersionPath: string; dateFormat: string; timeFormat: string; dateTimeFormat: string; dateFormatWithWeekDay: string; dateTimeFormatWithWeekDay: string; dateYearMonthFormat: string; dateFormatServer: string; dateTimeFormatServer: string; datePickerWeekNumber: boolean; datePickerCalendarTypeClassic: boolean; timeZone: any; prod: any; dateFieldWidth: number; dateFieldWidthEditMode: number; timeFieldWidth: number; timeFieldWidthEditMode: number; dateTimeFieldWidth: number; dateTimeFieldWidthEditMode: number; dateTimeWeekWidth: number; listBoxMinWidth: number; minFieldWidth: number; defaultGridHeaderFilterable: any; defaultGridAutosize: boolean; defaultGridSelection: boolean; defaultGridView: boolean; defaultGridWrapHeader: boolean; defaultGridShowButtonText: boolean; defaultGridButtonPrimary: boolean; defaultGridButtonOnTop: boolean; defaultDefineWithData: boolean; defaultTextAreaHeight: number; defaultHeaderGrouping: boolean; defaultCheckboxColor: string; checkboxStyle: any; numberSymbolDecimal: string; numberSymbolGroup: string; try2Login: boolean; }; get virtualColumns(): boolean; set virtualColumns(v: boolean); private searchListValuesCache; private searchListValuesCacheParam; groups: GroupDescriptor[]; gridData: DataResult; dataLoading: boolean; FormStatusEnum: typeof FormStatus; FieldTypeEnum: typeof FieldType; visibleDetailModal: boolean; detailModalTitle: string; detailModalIcon: string; visibleColumnPanel: boolean; visibleFields: FieldDefine[]; searchOnlyFields: FieldDefine[]; searchFields: any[]; visibleSearchPane: boolean; visibleEditColumnPane: boolean; searchBySearchPane: boolean; searchPaneTitle: any; selectEditColumnPaneTitle: string; importDeleteOption: boolean; importNote: any; cellClassFunction: (field: string, rec: { [key: string]: any; }) => string; dataPagerVisible: boolean; pageSizesThreshold: number; rowButtonVisible: boolean; charWidth: number; wrapHeader: boolean; currentIndex: any; searchCache: { [key: string]: SearchDefine; }; searchCacheSearchPane: { [key: string]: SearchDefine; }; searchOptions: { [key: string]: any[]; }; pageSizes: PageSizeItem[]; settingCommands: any[]; editModeFieldCheck: {}; editModeFieldIndeterminate: {}; columnTableFields: GridDataResult; columnTableState: State; defaultColumnWidth: number; grid: GridComponent; columnSelection: ColumnComponent; columnSystem: ColumnComponent; columnInlines: QueryList; rightColumnInlines: QueryList; userButtonDirectives: QueryList; editFormDirective: UserGridEditFormDirective; inlineItems: InlineItemColumn[]; inlineItem: InlineItemColumn; selection: boolean; view: boolean; groupAble: boolean; autoSize: boolean; copyDialogTitle: string; addDialogTitle: string; updateDialogTitle: string; viewDialogTitle: string; detailDialogWidth: any; searchDialogWidth: any; enableMasterDetail: boolean; masterDetailPaneCols: number; masterDetailPaneEditHeight: number; headerResizable: boolean; excelColumnSelectable: boolean; inCellEditable: boolean; showButtonText: boolean; buttonPrimary: boolean; buttonOnTop: boolean; headerGrouping: boolean; headerFilterable: boolean; protected defaultEditWidth: number; protected defaultEditWidthFile: number; expandedDetailKeys: any[]; changed: EventEmitter<{ name: string; index: number; value: any; listItem: any; }>; imported: EventEmitter; selectedKeys: any[]; forSelectableCheckSelectedCount: number; sortDescriptor: SortDescriptor[]; filterDescriptor: CompositeFilterDescriptor; multiSelectComponent: MultiSelectComponent; columnSettingPhpCode: any; private virtualColumnVar; isSelectable: (rec: { [key: string]: any; }) => boolean; isCheckSelectable: (fieldName: string, rec: { [key: string]: any; }) => boolean; isDeletable: (rec: { [key: string]: any; }) => boolean; deletableCheckMessage: any; isEditable: (rec: { [key: string]: any; }) => boolean; isFieldEditable: (fieldName: string, rec: { [key: string]: any; }) => boolean; isHeaderAllCheckChangeable: (fieldName: string, rec: { [key: string]: any; }) => boolean; editableCheckMessage: any; selectableCheckMessage: any; private doubleClicked; formSettingList: { [key: string]: string; }[]; formSettingSelected: string; formSettingSelectedSave: string; formSettingVisible: boolean; formSettingMode: number; formSettingInWorkspace: boolean; formSettingSelectedSaveDefault: string; showSearchPane: boolean; private searchRequireErrorFocusField; singleSelectMode: boolean; currentInCellEditSerial: number; bulkUpdating: boolean; bulkCoping: boolean; bulkUpdateSelectedItems: { [key: string]: boolean; }; private static removeArrayItem; private static addArrayItem; ngOnInit(): void; openMultiSelectDetail(event: MultiSelectComponent): void; onFieldValueChange(value: any, serial: number, name: string): void; init(): void; fieldEditable(serial: number, field: FieldDefine, inDetail?: boolean): boolean; loadDefine(onComplete?: () => void, onLoaded?: () => void): void; checkSearchRequire(showMessage?: boolean): boolean; private getSearchRequireErrorMessage; private setSearchRequireMark; loadSearchOptions(): void; loadSearchCache(): void; footerAvailable(): boolean; createSearchCacheField(field: FieldDefine): SearchDefine; checkAll(check?: boolean): void; checkAt(index: number): void; private doLoadSuccess; private resetOptionsMap; load(OnLoaded?: () => void): void; startEdit(serial: number, event: any): void; startEditMultiWithEvent(event: any): void; startCopyMultiWithEvent(event: any): void; startEditMulti(): void; startCopy(serial: number): void; startCopyMulti(): void; removeNewRow(): void; addNewRow(rec?: { [key: string]: any; }, edit?: boolean): number; startInsert(event?: any): void; startBulkUpdate(copy?: boolean): void; startMultiInsert(count?: number): void; cancelEdit(serial: number): void; cancel(resetInCellEdit?: boolean): void; viewDetail(serial: number): void; saveBulk(serial: number, OnSaved?: (success: number, message: string) => void): void; save(serial?: number, OnSaved?: (success: number, message: string) => void): void; excel(): void; delete(serial?: number): void; checkSelected(): boolean; saveSetting(): void; loadSetting(): void; deleteSetting(): void; resetSetting(onCompleted?: () => void): void; edit(): void; getCheckedData(toServerFormat?: boolean): any[]; openDetailModal(serial: number): void; ngAfterViewInit(): void; gridSelectionKey(context: RowArgs): number; columnVisibilityChange(event: ColumnVisibilityChangeEvent | ColumnVisibilityChangeEventTreeList): void; columnResize(event: Array): void; columnSwap(field: FieldDefine, currentIndex: any, toIndex: any): void; columnReorder(event: ColumnReorderEvent | ColumnReorderEventTreeList): void; sortChange(sort: SortDescriptor[]): void; filterChange(event: CompositeFilterDescriptor): void; onPageChange(event: any): void; groupChange(groups: GroupDescriptor[]): void; onResize(_: any): void; onImported(): void; settingCommandClick(e: any): void; loadSettingCommands(): void; columnTableStateChange(state: DataStateChangeEvent): void; editModeFieldCheckClick(fieldName: string): void; /** * Update header checkbox status of edit mode field * @param fieldName * @private */ private updateEditModeCheck; openColumnSetting(event: any): void; private pushFitColumn; protected fitColumns(editMode?: boolean): void; private updateFieldWidth; updateFitColumnWidth(updateDefine?: boolean, editMode?: boolean): void; protected fitSystemColumns(): void; private getListOptionsDefaultParams; private updateState; private loadGridData; private createCopyItem; private createColumnSettingPhpCode; expandDetailsBy: (dataItem: any) => any; openMasterDetail(): void; cellClass(field: string): { [key: string]: any; }; rowCallback: (context: RowClassArgs) => {}; wrapCaption(field: FieldDefine): string; fitHeaderHeight(): void; cellClickHandler({ column, dataItem, originalEvent }: { column: any; dataItem: any; originalEvent: any; }): void; dblClickEvent(): void; formatFormSettingList(): void; doFormSettingAction(deleteFlag?: boolean): void; selectionChange(event: SelectionEvent): void; onEnter(e: any): void; onEscape(): void; onKeydown(e: any): void; loadSearchListValues(name: string, searchPane?: boolean): void; protected loadFieldGroups(nullGroup?: any): FieldDefineGroup[]; hasSearchCondition(): boolean; }