ionic-selectable-v3
Version:
An Ionic component similar to Ionic Select, that allows to search items, including async search, group, add, edit, delete items, and much more.
1 lines • 43.1 kB
JSON
{"__symbolic":"module","version":4,"metadata":{"IonicSelectableModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule"},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"ionic-angular","name":"IonicPageModule"},"member":"forChild"},"arguments":[{"__symbolic":"reference","name":"IonicSelectableComponent"}]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"ionic-angular","name":"IonicPageModule"},"member":"forChild"},"arguments":[{"__symbolic":"reference","name":"IonicSelectableModalComponent"}]}],"declarations":[{"__symbolic":"reference","name":"IonicSelectableComponent"},{"__symbolic":"reference","name":"IonicSelectableModalComponent"},{"__symbolic":"reference","name":"IonicSelectableValueTemplateDirective"},{"__symbolic":"reference","name":"IonicSelectableItemTemplateDirective"},{"__symbolic":"reference","name":"IonicSelectableItemEndTemplateDirective"},{"__symbolic":"reference","name":"IonicSelectableTitleTemplateDirective"},{"__symbolic":"reference","name":"IonicSelectablePlaceholderTemplateDirective"},{"__symbolic":"reference","name":"IonicSelectableMessageTemplateDirective"},{"__symbolic":"reference","name":"IonicSelectableGroupTemplateDirective"},{"__symbolic":"reference","name":"IonicSelectableGroupEndTemplateDirective"},{"__symbolic":"reference","name":"IonicSelectableCloseButtonTemplateDirective"},{"__symbolic":"reference","name":"IonicSelectableSearchFailTemplateDirective"},{"__symbolic":"reference","name":"IonicSelectableAddItemTemplateDirective"},{"__symbolic":"reference","name":"IonicSelectableFooterTemplateDirective"},{"__symbolic":"reference","name":"IonicSelectableHeaderTemplateDirective"},{"__symbolic":"reference","name":"IonicSelectableItemIconTemplateDirective"}],"exports":[{"__symbolic":"reference","name":"IonicSelectableComponent"},{"__symbolic":"reference","name":"IonicSelectableModalComponent"},{"__symbolic":"reference","name":"IonicSelectableValueTemplateDirective"},{"__symbolic":"reference","name":"IonicSelectableItemTemplateDirective"},{"__symbolic":"reference","name":"IonicSelectableItemEndTemplateDirective"},{"__symbolic":"reference","name":"IonicSelectableTitleTemplateDirective"},{"__symbolic":"reference","name":"IonicSelectablePlaceholderTemplateDirective"},{"__symbolic":"reference","name":"IonicSelectableMessageTemplateDirective"},{"__symbolic":"reference","name":"IonicSelectableGroupTemplateDirective"},{"__symbolic":"reference","name":"IonicSelectableGroupEndTemplateDirective"},{"__symbolic":"reference","name":"IonicSelectableCloseButtonTemplateDirective"},{"__symbolic":"reference","name":"IonicSelectableSearchFailTemplateDirective"},{"__symbolic":"reference","name":"IonicSelectableAddItemTemplateDirective"},{"__symbolic":"reference","name":"IonicSelectableFooterTemplateDirective"},{"__symbolic":"reference","name":"IonicSelectableHeaderTemplateDirective"},{"__symbolic":"reference","name":"IonicSelectableItemIconTemplateDirective"}],"entryComponents":[{"__symbolic":"reference","name":"IonicSelectableComponent"},{"__symbolic":"reference","name":"IonicSelectableModalComponent"}]}]}],"members":{}},"IonicSelectableAddItemTemplateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[ionicSelectableAddItemTemplate]"}]}],"members":{}},"IonicSelectableCloseButtonTemplateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[ionicSelectableCloseButtonTemplate]"}]}],"members":{}},"IonicSelectableFooterTemplateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[ionicSelectableFooterTemplate]"}]}],"members":{}},"IonicSelectableGroupEndTemplateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[ionicSelectableGroupEndTemplate]"}]}],"members":{}},"IonicSelectableGroupTemplateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[ionicSelectableGroupTemplate]"}]}],"members":{}},"IonicSelectableHeaderTemplateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[ionicSelectableHeaderTemplate]"}]}],"members":{}},"IonicSelectableItemEndTemplateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[ionicSelectableItemEndTemplate]"}]}],"members":{}},"IonicSelectableItemIconTemplateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[ionicSelectableItemIconTemplate]"}]}],"members":{}},"IonicSelectableItemTemplateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[ionicSelectableItemTemplate]"}]}],"members":{}},"IonicSelectableMessageTemplateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[ionicSelectableMessageTemplate]"}]}],"members":{}},"IonicSelectableModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"ionic-selectable-modal","template":"<ion-header>\n <ion-navbar *ngIf=\"!selectComponent.headerTemplate\"\n [color]=\"selectComponent.headerColor ? selectComponent.headerColor : null\">\n <ion-title>\n <!-- Use span for titleTemplate to preserve Ionic ellipsis styles. -->\n <span *ngIf=\"selectComponent.titleTemplate\"\n [ngTemplateOutlet]=\"selectComponent.titleTemplate\">\n </span>\n <span *ngIf=\"!selectComponent.titleTemplate\">\n {{selectComponent.label}}\n </span>\n </ion-title>\n <ion-buttons start>\n <button ion-button (click)=\"selectComponent._close()\">\n <span *ngIf=\"selectComponent.closeButtonTemplate\"\n [ngTemplateOutlet]=\"selectComponent.closeButtonTemplate\">\n </span>\n <span *ngIf=\"!selectComponent.closeButtonTemplate\" ion-text\n showWhen=\"ios\">\n {{selectComponent.closeButtonText}}\n </span>\n <ion-icon *ngIf=\"!selectComponent.closeButtonTemplate\" name=\"md-close\"\n hideWhen=\"ios\">\n </ion-icon>\n </button>\n </ion-buttons>\n </ion-navbar>\n <div *ngIf=\"selectComponent.headerTemplate\"\n [ngTemplateOutlet]=\"selectComponent.headerTemplate\">\n </div>\n <ion-toolbar>\n <ion-searchbar #searchbarComponent\n [(ngModel)]=\"selectComponent._searchText\"\n (ionInput)=\"selectComponent._filterItems()\"\n [placeholder]=\"selectComponent.searchPlaceholder\"\n [debounce]=\"selectComponent.searchDebounce\">\n </ion-searchbar>\n <div class=\"ionic-selectable-message\"\n *ngIf=\"selectComponent.messageTemplate\">\n <div [ngTemplateOutlet]=\"selectComponent.messageTemplate\">\n </div>\n </div>\n </ion-toolbar>\n</ion-header>\n<ion-content>\n <div class=\"ionic-selectable-spinner\" *ngIf=\"selectComponent._isSearching\">\n <div class=\"ionic-selectable-spinner-background\"></div>\n <ion-spinner></ion-spinner>\n </div>\n\n <button ion-item detail-none\n *ngIf=\"selectComponent._searchText\"\n (click)=\"selectComponent._select(selectComponent._searchText)\"\n class=\"ionic-selectable-item searchTextItem\"\n [ngClass]=\"{ 'ionic-selectable-item-is-selected': selectComponent._isItemSelected(selectComponent._searchText) }\">\n <span *ngIf=\"!selectComponent.itemTemplate\">\n Add new symptom\n </span>\n <ion-icon class=\"addCustomItemIcon\" name=\"md-add\"></ion-icon>\n </button>\n <ion-list no-margin\n *ngIf=\"!selectComponent.hasVirtualScroll && selectComponent._hasFilteredItems\">\n <ion-item-group *ngFor=\"let group of selectComponent._filteredGroups\"\n class=\"ionic-selectable-group\">\n <ion-item-divider *ngIf=\"selectComponent._hasGroups\"\n [color]=\"selectComponent.groupColor ? selectComponent.groupColor : null\">\n <!-- Use span for groupTemplate to preserve Ionic ellipsis styles. -->\n <span *ngIf=\"selectComponent.groupTemplate\"\n [ngTemplateOutlet]=\"selectComponent.groupTemplate\"\n [ngTemplateOutletContext]=\"{ group: group }\">\n </span>\n <span *ngIf=\"!selectComponent.groupTemplate\">\n {{group.text}}\n </span>\n <div *ngIf=\"selectComponent.groupEndTemplate\" item-right>\n <div [ngTemplateOutlet]=\"selectComponent.groupEndTemplate\"\n [ngTemplateOutletContext]=\"{ group: group }\">\n </div>\n </div>\n </ion-item-divider>\n <button ion-item detail-none *ngFor=\"let item of group.items\"\n (click)=\"selectComponent._select(item)\" class=\"ionic-selectable-item\"\n [ngClass]=\"{\n 'ionic-selectable-item-is-selected': selectComponent._isItemSelected(item),\n 'ionic-selectable-item-is-disabled': selectComponent._isItemDisabled(item)\n }\" [disabled]=\"selectComponent._isItemDisabled(item)\">\n <!-- Use span for itemTemplate to preserve Ionic ellipsis styles. -->\n <span *ngIf=\"selectComponent.itemTemplate\"\n [ngTemplateOutlet]=\"selectComponent.itemTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, isItemSelected: selectComponent._isItemSelected(item) }\">\n </span>\n <span *ngIf=\"!selectComponent.itemTemplate\">\n {{selectComponent._formatItem(item)}}\n </span>\n <div *ngIf=\"selectComponent.itemEndTemplate\" item-right>\n <div [ngTemplateOutlet]=\"selectComponent.itemEndTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, isItemSelected: selectComponent._isItemSelected(item) }\">\n </div>\n </div>\n <span *ngIf=\"selectComponent.itemIconTemplate\" item-left\n class=\"ionic-selectable-item-icon-template\"\n [ngTemplateOutlet]=\"selectComponent.itemIconTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, isItemSelected: selectComponent._isItemSelected(item) }\">\n </span>\n <ion-icon *ngIf=\"!selectComponent.itemIconTemplate\"\n [name]=\"selectComponent._isItemSelected(item) ? 'checkmark-circle' : 'radio-button-off'\"\n [color]=\"selectComponent._isItemSelected(item) ? 'primary' : 'daek'\"\n item-left>\n </ion-icon>\n <button *ngIf=\"selectComponent.canSaveItem\"\n class=\"ionic-selectable-item-button\" ion-button icon-only item-end\n outline (click)=\"selectComponent._saveItem($event, item)\">\n <ion-icon name=\"md-create\"></ion-icon>\n </button>\n <button *ngIf=\"selectComponent.canDeleteItem\"\n class=\"ionic-selectable-item-button\" ion-button icon-only item-end\n outline (click)=\"selectComponent._deleteItemClick($event, item)\">\n <ion-icon name=\"md-trash\"></ion-icon>\n </button>\n </button>\n </ion-item-group>\n </ion-list>\n <!-- Fail text should be above InfiniteScroll to avoid a gap when no items are found. -->\n <div *ngIf=\"!selectComponent._hasFilteredItems\">\n <span *ngIf=\"selectComponent.searchFailTemplate\"\n [ngTemplateOutlet]=\"selectComponent.searchFailTemplate\">\n </span>\n <div *ngIf=\"!selectComponent.searchFailTemplate\" margin>\n {{selectComponent.searchFailText}}\n </div>\n </div>\n <ion-infinite-scroll *ngIf=\"!selectComponent.hasVirtualScroll\"\n [enabled]=\"selectComponent.hasInfiniteScroll\"\n (ionInfinite)=\"selectComponent._getMoreItems($event)\">\n <ion-infinite-scroll-content></ion-infinite-scroll-content>\n </ion-infinite-scroll>\n <ion-list no-margin\n *ngIf=\"selectComponent.hasVirtualScroll && selectComponent._hasFilteredItems\"\n [virtualScroll]=\"selectComponent._filteredGroups[0].items\"\n [approxItemHeight]=\"selectComponent.virtualScrollApproxItemHeight\"\n [approxItemWidth]=\"selectComponent.virtualScrollApproxItemWidth\"\n [bufferRatio]=\"selectComponent.virtualScrollBufferRatio\"\n [headerFn]=\"selectComponent.virtualScrollHeaderFn\">\n <ion-item-divider *virtualHeader=\"let header\"\n [color]=\"selectComponent.groupColor ? selectComponent.groupColor : null\">\n {{header}}\n </ion-item-divider>\n <button ion-item detail-none *virtualItem=\"let item\"\n (click)=\"selectComponent._select(item)\" class=\"ionic-selectable-item\"\n [ngClass]=\"{\n 'ionic-selectable-item-is-selected': selectComponent._isItemSelected(item),\n 'ionic-selectable-item-is-disabled': selectComponent._isItemDisabled(item)\n }\" [disabled]=\"selectComponent._isItemDisabled(item)\">\n <!-- Use span for itemTemplate to preserve Ionic ellipsis styles. -->\n <span *ngIf=\"selectComponent.itemTemplate\"\n [ngTemplateOutlet]=\"selectComponent.itemTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, isItemSelected: selectComponent._isItemSelected(item) }\">\n </span>\n <span *ngIf=\"!selectComponent.itemTemplate\">\n {{selectComponent._formatItem(item)}}\n </span>\n <div *ngIf=\"selectComponent.itemEndTemplate\" item-right>\n <div [ngTemplateOutlet]=\"selectComponent.itemEndTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, isItemSelected: selectComponent._isItemSelected(item) }\">\n </div>\n </div>\n <span *ngIf=\"selectComponent.itemIconTemplate\" item-left\n class=\"ionic-selectable-item-icon-template\"\n [ngTemplateOutlet]=\"selectComponent.itemIconTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, isItemSelected: selectComponent._isItemSelected(item) }\">\n </span>\n <ion-icon *ngIf=\"!selectComponent.itemIconTemplate\"\n [name]=\"selectComponent._isItemSelected(item) ? 'checkmark-circle' : 'radio-button-off'\"\n [color]=\"selectComponent._isItemSelected(item) ? 'primary' : 'daek'\"\n item-left>\n </ion-icon>\n <button *ngIf=\"selectComponent.canSaveItem\"\n class=\"ionic-selectable-item-button\" ion-button icon-only item-end\n outline (click)=\"selectComponent._saveItem($event, item)\">\n <ion-icon name=\"md-create\"></ion-icon>\n </button>\n <button *ngIf=\"selectComponent.canDeleteItem\"\n class=\"ionic-selectable-item-button\" ion-button icon-only item-end\n outline (click)=\"selectComponent._deleteItemClick($event, item)\">\n <ion-icon name=\"md-trash\"></ion-icon>\n </button>\n </button>\n </ion-list>\n</ion-content>\n<div class=\"ionic-selectable-add-item-template\"\n *ngIf=\"selectComponent._isAddItemTemplateVisible\"\n [ngStyle]=\"{ 'top.px': _header.offsetHeight }\">\n <span [ngTemplateOutlet]=\"selectComponent.addItemTemplate\"\n [ngTemplateOutletContext]=\"{ item: selectComponent._itemToAdd, isAdd: selectComponent._itemToAdd === null }\">\n </span>\n</div>\n<ion-footer\n *ngIf=\"selectComponent._footerButtonsCount > 0 || selectComponent.footerTemplate\"\n [ngStyle]=\"{ 'visibility': selectComponent._isFooterVisible ? 'initial' : 'hidden' }\">\n <ion-toolbar *ngIf=\"!selectComponent.footerTemplate\">\n <ion-row>\n <ion-col *ngIf=\"selectComponent.canClear\">\n <button ion-button full no-margin (click)=\"selectComponent._clear()\"\n [disabled]=\"!selectComponent._selectedItems.length\">\n {{selectComponent.clearButtonText}}\n </button>\n </ion-col>\n <ion-col *ngIf=\"selectComponent.canAddItem\">\n <button ion-button full no-margin\n (click)=\"selectComponent._addItemClick()\">\n {{selectComponent.addButtonText}}\n </button>\n </ion-col>\n <ion-col\n *ngIf=\"selectComponent.isMultiple || selectComponent.hasConfirmButton\">\n <button ion-button full no-margin (click)=\"selectComponent._confirm()\"\n [disabled]=\"!selectComponent.isConfirmButtonEnabled\">\n {{selectComponent.confirmButtonText}}\n </button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n <div *ngIf=\"selectComponent.footerTemplate\"\n [ngTemplateOutlet]=\"selectComponent.footerTemplate\">\n </div>\n</ion-footer>\n"}]}],"members":{"_cssClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.ionic-selectable-modal"]}]}],"_canClearCssClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.ionic-selectable-modal-can-clear"]}]}],"_isMultipleCssClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.ionic-selectable-modal-is-multiple"]}]}],"_isSearchingCssClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.ionic-selectable-modal-is-searching"]}]}],"_isAddItemTemplateVisibleCssClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.ionic-selectable-modal-is-add-item-template-visible"]}]}],"_isIos":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.ionic-selectable-modal-ios"]}]}],"_isMD":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.ionic-selectable-modal-md"]}]}],"_searchbarComponent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild"},"arguments":["searchbarComponent"]}]}],"_content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild"},"arguments":[{"__symbolic":"reference","module":"ionic-angular","name":"Content"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ionic-angular","name":"NavParams"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"}]}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"IonicSelectablePlaceholderTemplateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[ionicSelectablePlaceholderTemplate]"}]}],"members":{}},"IonicSelectableSearchFailTemplateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[ionicSelectableSearchFailTemplate]"}]}],"members":{}},"IonicSelectableTitleTemplateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[ionicSelectableTitleTemplate]"}]}],"members":{}},"IonicSelectableValueTemplateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[ionicSelectableValueTemplate]"}]}],"members":{}},"IonicSelectableComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"ionic-selectable","template":"<div class=\"ionic-selectable-value\">\n <div *ngIf=\"valueTemplate && _valueItems.length && isMultiple\"\n [ngTemplateOutlet]=\"valueTemplate\"\n [ngTemplateOutletContext]=\"{ value: _valueItems }\">\n </div>\n <div class=\"ionic-selectable-value-item\"\n *ngIf=\"valueTemplate && _valueItems.length && !isMultiple\">\n <div [ngTemplateOutlet]=\"valueTemplate\"\n [ngTemplateOutletContext]=\"{ value: _valueItems[0] }\">\n </div>\n </div>\n <span *ngIf=\"!valueTemplate && _valueItems.length\">\n <div class=\"ionic-selectable-value-item\"\n *ngFor=\"let valueItem of _valueItems\">\n {{_formatValueItem(valueItem)}}\n </div>\n </span>\n <div *ngIf=\"_hasPlaceholder && placeholderTemplate\"\n class=\"ionic-selectable-value-item\">\n <div [ngTemplateOutlet]=\"placeholderTemplate\">\n </div>\n </div>\n <div class=\"ionic-selectable-value-item\"\n *ngIf=\"_hasPlaceholder && !placeholderTemplate\">\n {{placeholder}}\n </div>\n</div>\n<div class=\"ionic-selectable-icon\">\n <div class=\"ionic-selectable-icon-inner\"></div>\n</div>\n<button aria-haspopup=\"true\" ion-button=\"item-cover\" class=\"item-cover\"\n [disabled]=\"!isEnabled\">\n</button>\n","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR"},"useExisting":{"__symbolic":"reference","name":"IonicSelectableComponent"},"multi":true}]}]}],"members":{"_cssClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.ionic-selectable"]}]}],"_isIos":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.ionic-selectable-ios"]}]}],"_isMD":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.ionic-selectable-md"]}]}],"_isMultipleCssClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.ionic-selectable-is-multiple"]}]}],"_hasValueCssClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.ionic-selectable-has-value"]}]}],"_hasPlaceholderCssClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.ionic-selectable-has-placeholder"]}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"itemsChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"isEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.ionic-selectable-is-enabled"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["isEnabled"]}]}],"shouldBackdropClose":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["shouldBackdropClose"]}]}],"modalCssClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"modalEnterAnimation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"modalLeaveAnimation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"isConfirmButtonEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["isConfirmButtonEnabled"]}]}],"hasConfirmButton":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["hasConfirmButton"]}]}],"itemValueField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"itemTextField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"groupValueField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"groupTextField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"canSearch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"isOnSearchEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["isOnSearchEnabled"]}]}],"canClear":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.ionic-selectable-can-clear"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["canClear"]}]}],"hasInfiniteScroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"hasVirtualScroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"virtualScrollApproxItemHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"virtualScrollApproxItemWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"virtualScrollBufferRatio":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"virtualScrollHeaderFn":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"searchPlaceholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"placeholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"isMultiple":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["isMultiple"]}]}],"searchFailText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"clearButtonText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"addButtonText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"confirmButtonText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"closeButtonText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"focusSearchbar":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"headerColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"groupColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"onChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"onSearch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"onSearchFail":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"onSearchSuccess":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"onInfiniteScroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"onOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"onClose":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"onSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"onClear":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"valueTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild"},"arguments":[{"__symbolic":"reference","name":"IonicSelectableValueTemplateDirective"},{"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef"}}]}]}],"itemTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild"},"arguments":[{"__symbolic":"reference","name":"IonicSelectableItemTemplateDirective"},{"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef"}}]}]}],"itemEndTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild"},"arguments":[{"__symbolic":"reference","name":"IonicSelectableItemEndTemplateDirective"},{"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef"}}]}]}],"titleTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild"},"arguments":[{"__symbolic":"reference","name":"IonicSelectableTitleTemplateDirective"},{"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef"}}]}]}],"placeholderTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild"},"arguments":[{"__symbolic":"reference","name":"IonicSelectablePlaceholderTemplateDirective"},{"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef"}}]}]}],"messageTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild"},"arguments":[{"__symbolic":"reference","name":"IonicSelectableMessageTemplateDirective"},{"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef"}}]}]}],"groupTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild"},"arguments":[{"__symbolic":"reference","name":"IonicSelectableGroupTemplateDirective"},{"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef"}}]}]}],"groupEndTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild"},"arguments":[{"__symbolic":"reference","name":"IonicSelectableGroupEndTemplateDirective"},{"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef"}}]}]}],"closeButtonTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild"},"arguments":[{"__symbolic":"reference","name":"IonicSelectableCloseButtonTemplateDirective"},{"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef"}}]}]}],"searchFailTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild"},"arguments":[{"__symbolic":"reference","name":"IonicSelectableSearchFailTemplateDirective"},{"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef"}}]}]}],"addItemTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild"},"arguments":[{"__symbolic":"reference","name":"IonicSelectableAddItemTemplateDirective"},{"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef"}}]}]}],"footerTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild"},"arguments":[{"__symbolic":"reference","name":"IonicSelectableFooterTemplateDirective"},{"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef"}}]}]}],"headerTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild"},"arguments":[{"__symbolic":"reference","name":"IonicSelectableHeaderTemplateDirective"},{"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef"}}]}]}],"itemIconTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild"},"arguments":[{"__symbolic":"reference","name":"IonicSelectableItemIconTemplateDirective"},{"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef"}}]}]}],"searchDebounce":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"disabledItems":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"shouldStoreItemValue":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"canSaveItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"canDeleteItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"canAddItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["canAddItem"]}]}],"onSaveItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"onDeleteItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"onAddItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}],null,null],"parameters":[{"__symbolic":"reference","module":"ionic-angular","name":"ModalController"},{"__symbolic":"reference","module":"ionic-angular","name":"Form"},{"__symbolic":"reference","module":"ionic-angular","name":"Platform"},{"__symbolic":"reference","module":"ionic-angular","name":"Item"},{"__symbolic":"reference","module":"@angular/core","name":"IterableDiffers"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"}]}],"initFocus":[{"__symbolic":"method"}],"enableIonItem":[{"__symbolic":"method"}],"_click":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["click",["$event"]]}]}],"_isNullOrWhiteSpace":[{"__symbolic":"method"}],"_setHasSearchText":[{"__symbolic":"method"}],"_hasOnSearch":[{"__symbolic":"method"}],"_hasOnSaveItem":[{"__symbolic":"method"}],"_hasOnAddItem":[{"__symbolic":"method"}],"_hasOnDeleteItem":[{"__symbolic":"method"}],"_emitValueChange":[{"__symbolic":"method"}],"_emitSearch":[{"__symbolic":"method"}],"_emitOnSelect":[{"__symbolic":"method"}],"_emitOnClear":[{"__symbolic":"method"}],"_emitOnSearchSuccessOrFail":[{"__symbolic":"method"}],"_formatItem":[{"__symbolic":"method"}],"_formatValueItem":[{"__symbolic":"method"}],"_getItemValue":[{"__symbolic":"method"}],"_getStoredItemValue":[{"__symbolic":"method"}],"_filterItems":[{"__symbolic":"method"}],"_isItemDisabled":[{"__symbolic":"method"}],"_isItemSelected":[{"__symbolic":"method"}],"_addSelectedItem":[{"__symbolic":"method"}],"_deleteSelectedItem":[{"__symbolic":"method"}],"_saveItem":[{"__symbolic":"method"}],"_deleteItemClick":[{"__symbolic":"method"}],"_addItemClick":[{"__symbolic":"method"}],"_close":[{"__symbolic":"method"}],"_clear":[{"__symbolic":"method"}],"_getMoreItems":[{"__symbolic":"method"}],"_setItemsToConfirm":[{"__symbolic":"method"}],"_doSelect":[{"__symbolic":"method"}],"_select":[{"__symbolic":"method"}],"_confirm":[{"__symbolic":"method"}],"_getLabelText":[{"__symbolic":"method"}],"_areGroupsEmpty":[{"__symbolic":"method"}],"_countFooterButtons":[{"__symbolic":"method"}],"_setItems":[{"__symbolic":"method"}],"_getPropertyValue":[{"__symbolic":"method"}],"_setIonItemHasFocus":[{"__symbolic":"method"}],"_setIonItemHasValue":[{"__symbolic":"method"}],"_setHasPlaceholder":[{"__symbolic":"method"}],"_setIonItemValidityClasses":[{"__symbolic":"method"}],"_toggleAddItemTemplate":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"addItem":[{"__symbolic":"method"}],"deleteItem":[{"__symbolic":"method"}],"hasValue":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}],"confirm":[{"__symbolic":"method"}],"toggleItems":[{"__symbolic":"method"}],"scrollToTop":[{"__symbolic":"method"}],"scrollToBottom":[{"__symbolic":"method"}],"startSearch":[{"__symbolic":"method"}],"endSearch":[{"__symbolic":"method"}],"enableInfiniteScroll":[{"__symbolic":"method"}],"disableInfiniteScroll":[{"__symbolic":"method"}],"endInfiniteScroll":[{"__symbolic":"method"}],"search":[{"__symbolic":"method"}],"showLoading":[{"__symbolic":"method"}],"hideLoading":[{"__symbolic":"method"}],"showAddItemTemplate":[{"__symbolic":"method"}],"hideAddItemTemplate":[{"__symbolic":"method"}]}}},"origins":{"IonicSelectableModule":"./src/app/components/ionic-selectable/ionic-selectable.module","IonicSelectableAddItemTemplateDirective":"./src/app/components/ionic-selectable/ionic-selectable-add-item-template.directive","IonicSelectableCloseButtonTemplateDirective":"./src/app/components/ionic-selectable/ionic-selectable-close-button-template.directive","IonicSelectableFooterTemplateDirective":"./src/app/components/ionic-selectable/ionic-selectable-footer-template.directive","IonicSelectableGroupEndTemplateDirective":"./src/app/components/ionic-selectable/ionic-selectable-group-end-template.directive","IonicSelectableGroupTemplateDirective":"./src/app/components/ionic-selectable/ionic-selectable-group-template.directive","IonicSelectableHeaderTemplateDirective":"./src/app/components/ionic-selectable/ionic-selectable-header-template.directive","IonicSelectableItemEndTemplateDirective":"./src/app/components/ionic-selectable/ionic-selectable-item-end-template.directive","IonicSelectableItemIconTemplateDirective":"./src/app/components/ionic-selectable/ionic-selectable-item-icon-template.directive","IonicSelectableItemTemplateDirective":"./src/app/components/ionic-selectable/ionic-selectable-item-template.directive","IonicSelectableMessageTemplateDirective":"./src/app/components/ionic-selectable/ionic-selectable-message-template.directive","IonicSelectableModalComponent":"./src/app/components/ionic-selectable/ionic-selectable-modal.component","IonicSelectablePlaceholderTemplateDirective":"./src/app/components/ionic-selectable/ionic-selectable-placeholder-template.directive","IonicSelectableSearchFailTemplateDirective":"./src/app/components/ionic-selectable/ionic-selectable-search-fail-template.directive","IonicSelectableTitleTemplateDirective":"./src/app/components/ionic-selectable/ionic-selectable-title-template.directive","IonicSelectableValueTemplateDirective":"./src/app/components/ionic-selectable/ionic-selectable-value-template.directive","IonicSelectableComponent":"./src/app/components/ionic-selectable/ionic-selectable.component"},"importAs":"ionic-selectable-v3"}