UNPKG

@millieofzo/ion-selectable

Version:
798 lines (797 loc) 32.9 kB
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>; }