systelab-components
Version:
systelab-components is a set of components that use wide accepted and adopted standard technologies like Angular and Bootstrap, as well as other popular libraries. Please read the ATTRIBUTION.md file for a complete list of dependencies.
167 lines (166 loc) • 8.59 kB
TypeScript
import { ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit, Renderer2 } from '@angular/core';
import { AgRendererComponent } from 'ag-grid-angular';
import { GetRowIdParams, GridOptions } from 'ag-grid-community';
import { PreferencesService } from 'systelab-preferences';
import * as i0 from "@angular/core";
export declare abstract class AbstractComboBox<T> implements AgRendererComponent, OnInit, OnDestroy {
myRenderer: Renderer2;
chRef: ChangeDetectorRef;
preferencesService?: PreferencesService;
static ROW_HEIGHT: number;
static DROPDOWN_MENU_MARGIN: number;
input: ElementRef;
filterInput: ElementRef;
comboId: string;
customInputRenderer: any;
initialParams: any;
filter: boolean;
multipleSelection: boolean;
listSelectedValues: boolean;
allElement: boolean;
fontFamily: string;
fontSize: string;
fontWeight: string;
fontStyle: string;
withIcon: boolean;
withDeleteOption: boolean;
defaultIdValue: string | number;
defaultDescription: string;
defaultCode: string;
iconClass: string;
inputColor: string;
iconColor: string;
tabindex: number;
deleteIconClass: string;
withEmptyValue: boolean;
getAllFieldIDValue(): string | number;
getAllFieldDescriptionValue(): string;
getAllCodeFieldValue(): string;
getAllInstance(): T;
_values: Array<any>;
set values(newValues: Array<any>);
get values(): Array<any>;
isDisabled: boolean;
expandToParentContainerHeight: boolean;
change: EventEmitter<any>;
idChange: EventEmitter<any>;
descriptionChange: EventEmitter<any>;
levelChange: EventEmitter<any>;
allowEditInput: boolean;
emptyElement: boolean;
selectDeselectAll: boolean;
withFavourites: boolean;
preferenceName: string;
isFavourite: boolean;
favouriteList: Array<string | number>;
isTree: boolean;
_id: number | string;
set id(value: number | string);
get id(): number | string;
_description: string;
set description(value: string);
get description(): string;
_level: number;
set level(value: number);
get level(): number;
_fieldToShow: string;
set fieldToShow(value: string);
get fieldToShow(): string;
fieldToShowChange: EventEmitter<any>;
_code: string;
set code(value: string);
get code(): string;
codeChange: EventEmitter<any>;
_multipleSelectedItemList: Array<T>;
set multipleSelectedItemList(value: Array<T>);
get multipleSelectedItemList(): Array<T>;
multipleSelectedItemListChange: EventEmitter<any>;
multipleSelectedIDListChange: EventEmitter<any>;
selectedItemChange: EventEmitter<any>;
comboboxElement: ElementRef;
dropdownToogleElement: ElementRef;
dropdownMenuElement: ElementRef;
dropdownElement: ElementRef;
inputElement: ElementRef;
hiddenElement: ElementRef;
filterValue: string;
currentSelected: any;
selectionChanged: boolean;
gridOptions: GridOptions;
columnDefs: Array<any>;
params: any;
top: number;
left: number;
windowResized: boolean;
isDropdownOpened: boolean;
windowScrollHandler: any;
private calculatedGridState;
private scrollTimeout;
constructor(myRenderer: Renderer2, chRef: ChangeDetectorRef, preferencesService?: PreferencesService);
ngOnInit(): void;
private setStyle;
protected setDescriptionAndCodeWhenMultiple(value: Array<T>): void;
protected initializeFavouriteList(): void;
protected configGrid(): void;
protected getRowNodeId(item: GetRowIdParams): string | number | undefined;
protected configGridData(): void;
protected setRowHeight(): void;
abstract getInstance(): T;
abstract getDescriptionField(): string;
abstract getCodeField(): string;
abstract getIdField(): string;
refresh(params: any): boolean;
agInit(params: any): void;
getInputHeight(): {
height: string;
};
protected getComboPreferencesPrefix(): string;
doToggleFavourite(event: MouseEvent): void;
deleteValueSelected(event: MouseEvent): void;
onComboClicked(event: any): void;
onComboKeyArrowDown(event: any): void;
onComboKeyArrowUp(event: any): void;
protected toggleFavourite(): void;
setDropdownWidth(): void;
isDropDownOpen(): boolean;
closeDropDown(): void;
resetDropDownPositionAndHeight(): void;
loop(): void;
protected transferFocusToGrid(): void;
onCellKeyDown(e: any): void;
showDropDown(): void;
clickDropDownMenu(e: Event): void;
setDropdownHeight(): void;
protected getTotalItemsInCombo(): number;
protected getTotalItemsForDropdownHeight(): number;
setDropdownPosition(): void;
getSelectedRow(): T;
doSearch(event: any): void;
doFilter(): void;
doSelectAll(): void;
doDeselectAll(): void;
onSelectionChanged(event: any): void;
protected checkIfIsFavourite(id: string | number): void;
onModelUpdated(): void;
setGridSize(): void;
onRowSelected(event: any): void;
private unselectAllNodesInGridOptions;
private unselectNodeAllInGridOptions;
setCodeDescriptionById(): void;
onResize(): void;
protected isComboBoxScrolling(element: HTMLElement): boolean;
protected scroll(event: any): void;
protected addWindowScrollHandler(): void;
protected removeWindowScrollHandler(): void;
protected addGridScrollHandler(): void;
protected removeGridScrollHandler(): void;
ngOnDestroy(): void;
removeItem(item: T): void;
private selectionItemListToIDList;
checkMultipleSelectionClosed(): void;
doGridReady(): void;
private onBodyScroll;
protected doAutoSizeManagement(event?: any): void;
static ɵfac: i0.ɵɵFactoryDeclaration<AbstractComboBox<any>, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractComboBox<any>, never, never, { "customInputRenderer": { "alias": "customInputRenderer"; "required": false; }; "initialParams": { "alias": "initialParams"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "multipleSelection": { "alias": "multipleSelection"; "required": false; }; "listSelectedValues": { "alias": "listSelectedValues"; "required": false; }; "allElement": { "alias": "allElement"; "required": false; }; "fontFamily": { "alias": "fontFamily"; "required": false; }; "fontSize": { "alias": "fontSize"; "required": false; }; "fontWeight": { "alias": "fontWeight"; "required": false; }; "fontStyle": { "alias": "fontStyle"; "required": false; }; "withIcon": { "alias": "withIcon"; "required": false; }; "withDeleteOption": { "alias": "withDeleteOption"; "required": false; }; "defaultIdValue": { "alias": "defaultIdValue"; "required": false; }; "defaultDescription": { "alias": "defaultDescription"; "required": false; }; "defaultCode": { "alias": "defaultCode"; "required": false; }; "iconClass": { "alias": "iconClass"; "required": false; }; "inputColor": { "alias": "inputColor"; "required": false; }; "iconColor": { "alias": "iconColor"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "deleteIconClass": { "alias": "deleteIconClass"; "required": false; }; "withEmptyValue": { "alias": "withEmptyValue"; "required": false; }; "values": { "alias": "values"; "required": false; }; "isDisabled": { "alias": "isDisabled"; "required": false; }; "expandToParentContainerHeight": { "alias": "expandToParentContainerHeight"; "required": false; }; "allowEditInput": { "alias": "allowEditInput"; "required": false; }; "emptyElement": { "alias": "emptyElement"; "required": false; }; "selectDeselectAll": { "alias": "selectDeselectAll"; "required": false; }; "withFavourites": { "alias": "withFavourites"; "required": false; }; "preferenceName": { "alias": "preferenceName"; "required": false; }; "id": { "alias": "id"; "required": false; }; "description": { "alias": "description"; "required": false; }; "level": { "alias": "level"; "required": false; }; "fieldToShow": { "alias": "fieldToShow"; "required": false; }; "code": { "alias": "code"; "required": false; }; "multipleSelectedItemList": { "alias": "multipleSelectedItemList"; "required": false; }; }, { "change": "change"; "idChange": "idChange"; "descriptionChange": "descriptionChange"; "levelChange": "levelChange"; "fieldToShowChange": "fieldToShowChange"; "codeChange": "codeChange"; "multipleSelectedItemListChange": "multipleSelectedItemListChange"; "multipleSelectedIDListChange": "multipleSelectedIDListChange"; "selectedItemChange": "selectedItemChange"; }, never, never, false, never>;
}