@millieofzo/ion-selectable
Version:
Ionic selectable with extended features
798 lines (797 loc) • 32.9 kB
TypeScript
import { DoCheck, ElementRef, EventEmitter, IterableDiffers, OnInit, Renderer2, TemplateRef } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { IonItem, ModalController, Platform } from '@ionic/angular';
import { AnimationBuilder } from '@ionic/core';
import { IonSelectableModalComponent } from './ion-selectable-modal.component';
import * as i0 from "@angular/core";
export declare class IonSelectableComponent implements ControlValueAccessor, OnInit, DoCheck {
private _modalController;
private _platform;
private ionItem;
private _iterableDiffers;
private _element;
private _renderer;
_cssClass: boolean;
_isIos: boolean;
_isMD: boolean;
get _isMultipleCssClass(): boolean;
get _hasValueCssClass(): boolean;
get _hasPlaceholderCssClass(): boolean;
get _hasIonLabelCssClass(): boolean;
get _hasDefaultIonLabelCssClass(): boolean;
get _hasFixedIonLabelCssClass(): boolean;
get _hasStackedIonLabelCssClass(): boolean;
get _hasFloatingIonLabelCssClass(): boolean;
private _isOnSearchEnabled;
private _isEnabled;
private _shouldBackdropClose;
private _isOpened;
private _value;
private _modal;
private _itemsDiffer;
private _hasObjects;
private _canClear;
private _hasConfirmButton;
private _isMultiple;
private _canAddItem;
private _addItemObservable;
private _deleteItemObservable;
private onItemsChange;
private _ionItemElement;
private _ionLabelElement;
private _hasIonLabel;
private _ionLabelPosition;
private _label;
private get _hasInfiniteScroll();
get _shouldStoreItemValue(): boolean;
_valueItems: any[];
_searchText: string;
_hasSearchText: boolean;
_groups: any[];
_itemsToConfirm: any[];
_selectedItems: any[];
_modalComponent: IonSelectableModalComponent;
_filteredGroups: any[];
_hasGroups: boolean;
_isSearching: boolean;
_hasPlaceholder: boolean;
_isAddItemTemplateVisible: boolean;
_isFooterVisible: boolean;
_itemToAdd: any;
_footerButtonsCount: number;
_hasFilteredItems: boolean;
/**
* Text of [Ionic Label](https://ionicframework.com/docs/api/label).
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#label).
*
* @readonly
* @default null
* @memberof IonSelectableComponent
*/
get label(): string;
/**
* Text that the user has typed in Searchbar.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#searchtext).
*
* @readonly
* @default ''
* @memberof IonSelectableComponent
*/
get searchText(): string;
set searchText(searchText: string);
/**
* Determines whether search is running.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#issearching).
*
* @default false
* @readonly
* @memberof IonSelectableComponent
*/
get isSearching(): boolean;
/**
* Determines whether user has typed anything in Searchbar.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#hassearchtext).
*
* @default false
* @readonly
* @memberof IonSelectableComponent
*/
get hasSearchText(): boolean;
get value(): any;
set value(value: any);
/**
* A list of items.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#items).
*
* @default []
* @memberof IonSelectableComponent
*/
items: any[];
itemsChange: EventEmitter<any>;
/**
* Determines whether the component is enabled.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#isenabled).
*
* @default true
* @memberof IonSelectableComponent
*/
get isEnabled(): boolean;
set isEnabled(isEnabled: boolean);
/**
* Determines whether Modal should be closed when backdrop is clicked.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#shouldbackdropclose).
*
* @default true
* @memberof IonSelectableComponent
*/
get shouldBackdropClose(): boolean;
set shouldBackdropClose(shouldBackdropClose: boolean);
/**
* Modal CSS class.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#modalcssclass).
*
* @default null
* @memberof IonSelectableComponent
*/
modalCssClass: string;
/**
* Modal enter animation.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#modalenteranimation).
*
* @default null
* @memberof IonSelectableComponent
*/
modalEnterAnimation: AnimationBuilder;
/**
* Modal leave animation.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#modalleaveanimation).
*
* @default null
* @memberof IonSelectableComponent
*/
modalLeaveAnimation: AnimationBuilder;
/**
* Determines whether Modal is opened.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#isopened).
*
* @default false
* @readonly
* @memberof IonSelectableComponent
*/
get isOpened(): boolean;
/**
* Determines whether Confirm button is enabled.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#isconfirmbuttonenabled).
*
* @default true
* @memberof IonSelectableComponent
*/
isConfirmButtonEnabled: boolean;
/**
* Determines whether Confirm button is visible for single selection.
* By default Confirm button is visible only for multiple selection.
* **Note**: It is always true for multiple selection and cannot be changed.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#hasconfirmbutton).
*
* @default true
* @memberof IonSelectableComponent
*/
get hasConfirmButton(): boolean;
set hasConfirmButton(hasConfirmButton: boolean);
/**
* Item property to use as a unique identifier, e.g, `'id'`.
* **Note**: `items` should be an object array.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#itemvaluefield).
*
* @default null
* @memberof IonSelectableComponent
*/
itemValueField: string;
/**
* Item property to display, e.g, `'name'`.
* **Note**: `items` should be an object array.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#itemtextfield).
*
* @default false
* @memberof IonSelectableComponent
*/
itemTextField: string;
/**
*
* Group property to use as a unique identifier to group items, e.g. `'country.id'`.
* **Note**: `items` should be an object array.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#groupvaluefield).
*
* @default null
* @memberof IonSelectableComponent
*/
groupValueField: string;
/**
* Group property to display, e.g. `'country.name'`.
* **Note**: `items` should be an object array.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#grouptextfield).
*
* @default null
* @memberof IonSelectableComponent
*/
groupTextField: string;
/**
* Determines whether to show Searchbar.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#cansearch).
*
* @default false
* @memberof IonSelectableComponent
*/
canSearch: boolean;
/**
* Determines whether `onSearch` event is enabled.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#isonsearchenabled).
*
* @default true
* @memberof IonSelectableComponent
*/
get isOnSearchEnabled(): boolean;
set isOnSearchEnabled(isOnSearchEnabled: boolean);
/**
* Determines whether to show Clear button.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#canclear).
*
* @default false
* @memberof IonSelectableComponent
*/
get canClear(): boolean;
set canClear(canClear: boolean);
/**
* Determines whether Ionic [InfiniteScroll](https://ionicframework.com/docs/api/components/infinite-scroll/InfiniteScroll/) is enabled.
* **Note**: Infinite scroll cannot be used together with virtual scroll.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#hasinfinitescroll).
*
* @default false
* @memberof IonSelectableComponent
*/
hasInfiniteScroll: boolean;
/**
* Determines whether Ionic [VirtualScroll](https://ionicframework.com/docs/api/components/virtual-scroll/VirtualScroll/) is enabled.
* **Note**: Virtual scroll cannot be used together with infinite scroll.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#hasvirtualscroll).
*
* @default false
* @memberof IonSelectableComponent
*/
hasVirtualScroll: boolean;
/**
* See Ionic VirtualScroll [approxItemHeight](https://ionicframework.com/docs/api/components/virtual-scroll/VirtualScroll/).
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#virtualscrollapproxitemheight).
*
* @default '40px'
* @memberof IonSelectableComponent
*/
virtualScrollApproxItemHeight: string;
/**
* A placeholder for Searchbar.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#searchplaceholder).
*
* @default 'Search'
* @memberof IonSelectableComponent
*/
searchPlaceholder: string;
/**
* A placeholder.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#placeholder).
*
* @default null
* @memberof IonSelectableComponent
*/
placeholder: string;
/**
* Determines whether multiple items can be selected.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#ismultiple).
*
* @default false
* @memberof IonSelectableComponent
*/
get isMultiple(): boolean;
set isMultiple(isMultiple: boolean);
/**
* Text to display when no items have been found during search.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#searchfailtext).
*
* @default 'No items found.'
* @memberof IonSelectableComponent
*/
searchFailText: string;
/**
* Clear button text.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#clearbuttontext).
*
* @default 'Clear'
* @memberof IonSelectableComponent
*/
clearButtonText: string;
/**
* Add button text.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#addbuttontext).
*
* @default 'Add'
* @memberof IonSelectableComponent
*/
addButtonText: string;
/**
* Confirm button text.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#confirmbuttontext).
*
* @default 'OK'
* @memberof IonSelectableComponent
*/
confirmButtonText: string;
/**
* Close button text.
* The field is only applicable to **iOS** platform, on **Android** only Cross icon is displayed.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#closebuttontext).
*
* @default 'Cancel'
* @memberof IonSelectableComponent
*/
closeButtonText: string;
/**
* Determines whether Searchbar should receive focus when Modal is opened.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#shouldfocussearchbar).
*
* @default false
* @memberof IonSelectableComponent
*/
shouldFocusSearchbar: boolean;
/**
* Header color. [Ionic colors](https://ionicframework.com/docs/theming/advanced#colors) are supported.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#headercolor).
*
* @default null
* @memberof IonSelectableComponent
*/
headerColor: string;
/**
* Group color. [Ionic colors](https://ionicframework.com/docs/theming/advanced#colors) are supported.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#groupcolor).
*
* @default null
* @memberof IonSelectableComponent
*/
groupColor: string;
/**
* Close button slot. [Ionic slots](https://ionicframework.com/docs/api/buttons) are supported.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#closebuttonslot).
*
* @default 'start'
* @memberof IonSelectableComponent
*/
closeButtonSlot: string;
/**
* Item icon slot. [Ionic slots](https://ionicframework.com/docs/api/item) are supported.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#itemiconslot).
*
* @default 'start'
* @memberof IonSelectableComponent
*/
itemIconSlot: string;
/**
* Fires when item/s has been selected and Modal closed.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#onchange).
*
* @memberof IonSelectableComponent
*/
onChange: EventEmitter<{
component: IonSelectableComponent;
value: any;
}>;
/**
* Fires when the user is typing in Searchbar.
* **Note**: `canSearch` and `isOnSearchEnabled` has to be enabled.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#onsearch).
*
* @memberof IonSelectableComponent
*/
onSearch: EventEmitter<{
component: IonSelectableComponent;
text: string;
}>;
/**
* Fires when no items have been found.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#onsearchfail).
*
* @memberof IonSelectableComponent
*/
onSearchFail: EventEmitter<{
component: IonSelectableComponent;
text: string;
}>;
/**
* Fires when some items have been found.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#onsearchsuccess).
*
* @memberof IonSelectableComponent
*/
onSearchSuccess: EventEmitter<{
component: IonSelectableComponent;
text: string;
}>;
/**
* Fires when the user has scrolled to the end of the list.
* **Note**: `hasInfiniteScroll` has to be enabled.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#oninfinitescroll).
*
* @memberof IonSelectableComponent
*/
onInfiniteScroll: EventEmitter<{
component: IonSelectableComponent;
text: string;
}>;
/**
* Fires when Modal has been opened.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#onopen).
*
* @memberof IonSelectableComponent
*/
onOpen: EventEmitter<{
component: IonSelectableComponent;
}>;
/**
* Fires when Modal has been closed.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#onclose).
*
* @memberof IonSelectableComponent
*/
onClose: EventEmitter<{
component: IonSelectableComponent;
}>;
/**
* Fires when an item has been selected or unselected.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#onselect).
*
* @memberof IonSelectableComponent
*/
onSelect: EventEmitter<{
component: IonSelectableComponent;
item: any;
isSelected: boolean;
}>;
/**
* Fires when Clear button has been clicked.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#onclear).
*
* @memberof IonSelectableComponent
*/
onClear: EventEmitter<{
component: IonSelectableComponent;
items: any[];
}>;
/**
* A list of items that are selected and awaiting confirmation by user, when he has clicked Confirm button.
* After the user has clicked Confirm button items to confirm are cleared.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#itemstoconfirm).
*
* @default []
* @readonly
* @memberof IonSelectableComponent
*/
get itemsToConfirm(): any[];
/**
* How long, in milliseconds, to wait to filter items or to trigger `onSearch` event after each keystroke.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#searchdebounce).
*
* @default 250
* @memberof IonSelectableComponent
*/
searchDebounce: number;
/**
* A list of items to disable.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#disableditems).
*
* @default []
* @memberof IonSelectableComponent
*/
disabledItems: any[];
/**
* Determines whether item value only should be stored in `ngModel`, not the entire item.
* **Note**: Item value is defined by `itemValueField`.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#shouldstoreitemvalue).
*
* @default false
* @memberof IonSelectableComponent
*/
shouldStoreItemValue: boolean;
/**
* Determines whether to allow editing items.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#cansaveitem).
*
* @default false
* @memberof IonSelectableComponent
*/
canSaveItem: boolean;
/**
* Determines whether to allow deleting items.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#candeleteitem).
*
* @default false
* @memberof IonSelectableComponent
*/
canDeleteItem: boolean;
/**
* Determines whether to allow adding items.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#canadditem).
*
* @default false
* @memberof IonSelectableComponent
*/
get canAddItem(): boolean;
set canAddItem(canAddItem: boolean);
/**
* Fires when Edit item button has been clicked.
* When the button has been clicked `IonSelectableAddItemTemplate` will be shown. Use the template to create a form to edit item.
* **Note**: `canSaveItem` has to be enabled.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#onsaveitem).
*
* @memberof IonSelectableComponent
*/
onSaveItem: EventEmitter<{
component: IonSelectableComponent;
item: any;
}>;
/**
* Fires when Delete item button has been clicked.
* **Note**: `canDeleteItem` has to be enabled.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#ondeleteitem).
*
* @memberof IonSelectableComponent
*/
onDeleteItem: EventEmitter<{
component: IonSelectableComponent;
item: any;
}>;
/**
* Fires when Add item button has been clicked.
* When the button has been clicked `IonSelectableAddItemTemplate` will be shown. Use the template to create a form to add item.
* **Note**: `canAddItem` has to be enabled.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#onadditem).
*
* @memberof IonSelectableComponent
*/
onAddItem: EventEmitter<{
component: IonSelectableComponent;
}>;
valueTemplate: TemplateRef<any>;
itemTemplate: TemplateRef<any>;
itemEndTemplate: TemplateRef<any>;
titleTemplate: TemplateRef<any>;
placeholderTemplate: TemplateRef<any>;
messageTemplate: TemplateRef<any>;
groupTemplate: TemplateRef<any>;
groupEndTemplate: TemplateRef<any>;
closeButtonTemplate: TemplateRef<any>;
searchFailTemplate: TemplateRef<any>;
addItemTemplate: TemplateRef<any>;
footerTemplate: TemplateRef<any>;
_addItemTemplateFooterHeight: string;
headerTemplate: TemplateRef<any>;
itemIconTemplate: TemplateRef<any>;
iconTemplate: TemplateRef<any>;
/**
* See Ionic VirtualScroll [headerFn](https://ionicframework.com/docs/api/components/virtual-scroll/VirtualScroll/).
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#virtualscrollheaderfn).
*
* @memberof IonSelectableComponent
*/
virtualScrollHeaderFn: () => any;
constructor(_modalController: ModalController, _platform: Platform, ionItem: IonItem, _iterableDiffers: IterableDiffers, _element: ElementRef, _renderer: Renderer2);
initFocus(): void;
enableIonItem(isEnabled: boolean): void;
_isNullOrWhiteSpace(value: any): boolean;
_setHasSearchText(): void;
_hasOnSearch(): boolean;
_hasOnSaveItem(): boolean;
_hasOnAddItem(): boolean;
_hasOnDeleteItem(): boolean;
_emitValueChange(): void;
_emitSearch(): void;
_emitOnSelect(item: any, isSelected: boolean): void;
_emitOnClear(items: any[]): void;
_emitOnSearchSuccessOrFail(isSuccess: boolean): void;
_formatItem(item: any): string;
_formatValueItem(item: any): string;
_getItemValue(item: any): any;
_getStoredItemValue(item: any): any;
_onSearchbarClear(): void;
_filterItems(): void;
_isItemDisabled(item: any): boolean;
_isItemSelected(item: any): boolean;
_addSelectedItem(item: any): void;
_deleteSelectedItem(item: any): void;
_click(): void;
_saveItem(event: Event, item: any): void;
_deleteItemClick(event: Event, item: any): void;
_addItemClick(): void;
_positionAddItemTemplate(): void;
_close(): void;
_clear(): void;
_getMoreItems(): void;
_setItemsToConfirm(items: any[]): void;
_doSelect(selectedItem: any): void;
_select(item: any): void;
_confirm(): void;
private _getLabelText;
private _areGroupsEmpty;
private _countFooterButtons;
private _setItems;
private _getPropertyValue;
private _setIonItemHasFocus;
private _setIonItemHasValue;
private _setHasPlaceholder;
private propagateOnChange;
private propagateOnTouched;
private _setIonItemCssClass;
private _toggleAddItemTemplate;
writeValue(value: any): void;
registerOnChange(method: any): void;
registerOnTouched(method: () => void): void;
setDisabledState(isDisabled: boolean): void;
ngOnInit(): void;
ngDoCheck(): void;
/**
* Adds item.
* **Note**: If you want an item to be added to the original array as well use two-way data binding syntax on `[(items)]` field.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#additem).
*
* @param item Item to add.
* @returns Promise that resolves when item has been added.
* @memberof IonSelectableComponent
*/
addItem(item: any): Promise<any>;
/**
* Deletes item.
* **Note**: If you want an item to be deleted from the original array as well use two-way data binding syntax on `[(items)]` field.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#deleteitem).
*
* @param item Item to delete.
* @returns Promise that resolves when item has been deleted.
* @memberof IonSelectableComponent
*/
deleteItem(item: any): Promise<any>;
/**
* Determines whether any item has been selected.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#hasvalue).
*
* @returns A boolean determining whether any item has been selected.
* @memberof IonSelectableComponent
*/
hasValue(): boolean;
/**
* Opens Modal.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#open).
*
* @returns Promise that resolves when Modal has been opened.
* @memberof IonSelectableComponent
*/
open(): Promise<void>;
/**
* Closes Modal.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#close).
*
* @returns Promise that resolves when Modal has been closed.
* @memberof IonSelectableComponent
*/
close(): Promise<void>;
/**
* Clears value.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#clear).
*
* @memberof IonSelectableComponent
*/
clear(): void;
/**
* Confirms selected items by updating value.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#confirm).
*
* @memberof IonSelectableComponent
*/
confirm(): void;
/**
* Selects or deselects all or specific items.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#toggleitems).
*
* @param isSelect Determines whether to select or deselect items.
* @param [items] Items to toggle. If items are not set all items will be toggled.
* @memberof IonSelectableComponent
*/
toggleItems(isSelect: boolean, items?: any[]): void;
/**
* Scrolls to the top of Modal content.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#scrolltotop).
*
* @returns Promise that resolves when scroll has been completed.
* @memberof IonSelectableComponent
*/
scrollToTop(): Promise<any>;
/**
* Scrolls to the bottom of Modal content.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#scrolltobottom).
*
* @returns Promise that resolves when scroll has been completed.
* @memberof IonSelectableComponent
*/
scrollToBottom(): Promise<any>;
/**
* Starts search process by showing Loading spinner.
* Use it together with `onSearch` event to indicate search start.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#startsearch).
*
* @memberof IonSelectableComponent
*/
startSearch(): void;
/**
* Ends search process by hiding Loading spinner and refreshing items.
* Use it together with `onSearch` event to indicate search end.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#endsearch).
*
* @memberof IonSelectableComponent
*/
endSearch(): void;
/**
* Enables infinite scroll.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#enableinfinitescroll).
*
* @memberof IonSelectableComponent
*/
enableInfiniteScroll(): void;
/**
* Disables infinite scroll.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#disableinfinitescroll).
*
* @memberof IonSelectableComponent
*/
disableInfiniteScroll(): void;
/**
* Ends infinite scroll.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#endinfinitescroll).
*
* @memberof IonSelectableComponent
*/
endInfiniteScroll(): void;
/**
* Triggers search of items.
* **Note**: `canSearch` has to be enabled.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#search).
*
* @param text Text to search items by.
* @memberof IonSelectableComponent
*/
search(text: string): void;
/**
* Shows Loading spinner.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#showloading).
*
* @memberof IonSelectableComponent
*/
showLoading(): void;
/**
* Hides Loading spinner.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#hideloading).
*
* @memberof IonSelectableComponent
*/
hideLoading(): void;
/**
* Shows `IonSelectableAddItemTemplate`.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#showadditemtemplate).
*
* @memberof IonSelectableComponent
*/
showAddItemTemplate(): void;
/**
* Hides `IonSelectableAddItemTemplate`.
* See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#hideadditemtemplate).
*
* @memberof IonSelectableComponent
*/
hideAddItemTemplate(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<IonSelectableComponent, [null, null, { optional: true; }, null, null, null]>;
static ɵcmp: i0.ɵɵComponentDeclaration<IonSelectableComponent, "ion-selectable", never, { "items": { "alias": "items"; "required": false; }; "isEnabled": { "alias": "isEnabled"; "required": false; }; "shouldBackdropClose": { "alias": "shouldBackdropClose"; "required": false; }; "modalCssClass": { "alias": "modalCssClass"; "required": false; }; "modalEnterAnimation": { "alias": "modalEnterAnimation"; "required": false; }; "modalLeaveAnimation": { "alias": "modalLeaveAnimation"; "required": false; }; "isConfirmButtonEnabled": { "alias": "isConfirmButtonEnabled"; "required": false; }; "hasConfirmButton": { "alias": "hasConfirmButton"; "required": false; }; "itemValueField": { "alias": "itemValueField"; "required": false; }; "itemTextField": { "alias": "itemTextField"; "required": false; }; "groupValueField": { "alias": "groupValueField"; "required": false; }; "groupTextField": { "alias": "groupTextField"; "required": false; }; "canSearch": { "alias": "canSearch"; "required": false; }; "isOnSearchEnabled": { "alias": "isOnSearchEnabled"; "required": false; }; "canClear": { "alias": "canClear"; "required": false; }; "hasInfiniteScroll": { "alias": "hasInfiniteScroll"; "required": false; }; "hasVirtualScroll": { "alias": "hasVirtualScroll"; "required": false; }; "virtualScrollApproxItemHeight": { "alias": "virtualScrollApproxItemHeight"; "required": false; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "isMultiple": { "alias": "isMultiple"; "required": false; }; "searchFailText": { "alias": "searchFailText"; "required": false; }; "clearButtonText": { "alias": "clearButtonText"; "required": false; }; "addButtonText": { "alias": "addButtonText"; "required": false; }; "confirmButtonText": { "alias": "confirmButtonText"; "required": false; }; "closeButtonText": { "alias": "closeButtonText"; "required": false; }; "shouldFocusSearchbar": { "alias": "shouldFocusSearchbar"; "required": false; }; "headerColor": { "alias": "headerColor"; "required": false; }; "groupColor": { "alias": "groupColor"; "required": false; }; "closeButtonSlot": { "alias": "closeButtonSlot"; "required": false; }; "itemIconSlot": { "alias": "itemIconSlot"; "required": false; }; "searchDebounce": { "alias": "searchDebounce"; "required": false; }; "disabledItems": { "alias": "disabledItems"; "required": false; }; "shouldStoreItemValue": { "alias": "shouldStoreItemValue"; "required": false; }; "canSaveItem": { "alias": "canSaveItem"; "required": false; }; "canDeleteItem": { "alias": "canDeleteItem"; "required": false; }; "canAddItem": { "alias": "canAddItem"; "required": false; }; "virtualScrollHeaderFn": { "alias": "virtualScrollHeaderFn"; "required": false; }; }, { "itemsChange": "itemsChange"; "onChange": "onChange"; "onSearch": "onSearch"; "onSearchFail": "onSearchFail"; "onSearchSuccess": "onSearchSuccess"; "onInfiniteScroll": "onInfiniteScroll"; "onOpen": "onOpen"; "onClose": "onClose"; "onSelect": "onSelect"; "onClear": "onClear"; "onSaveItem": "onSaveItem"; "onDeleteItem": "onDeleteItem"; "onAddItem": "onAddItem"; }, ["valueTemplate", "itemTemplate", "itemEndTemplate", "titleTemplate", "placeholderTemplate", "messageTemplate", "groupTemplate", "groupEndTemplate", "closeButtonTemplate", "searchFailTemplate", "addItemTemplate", "footerTemplate", "headerTemplate", "itemIconTemplate", "iconTemplate"], never, true, never>;
}