UNPKG

@catull/igniteui-angular

Version:

Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps

64 lines (63 loc) 6.22 kB
import { __decorate, __metadata } from "tslib"; import { IgxDropDownItemComponent } from './../drop-down/drop-down-item.component'; import { Component, Input } from '@angular/core'; let IgxSelectItemComponent = class IgxSelectItemComponent extends IgxDropDownItemComponent { /** * An @Input property that gets/sets the item's text to be displayed in the select component's input when the item is selected. * * ```typescript * //get * let mySelectedItem = this.dropDown.selectedItem; * let selectedItemText = mySelectedItem.text; * ``` * ```html * // set * <igx-select-item [text]="'London'"></igx-select-item> * ``` */ get text() { return this._text; } set text(text) { this._text = text; } /** @hidden @internal */ get itemText() { if (this._text !== undefined) { return this._text; } // If text @Input is undefined, try extract a meaningful item text out of the item template return this.elementRef.nativeElement.textContent.trim(); } /** * Sets/Gets if the item is the currently selected one in the select * * ```typescript * let mySelectedItem = this.select.selectedItem; * let isMyItemSelected = mySelectedItem.selected; // true * ``` */ get selected() { return !this.isHeader && !this.disabled && this.selection.is_item_selected(this.dropDown.id, this); } set selected(value) { if (value && !this.isHeader && !this.disabled) { this.dropDown.selectItem(this); } } ngDoCheck() { } }; __decorate([ Input(), __metadata("design:type", String), __metadata("design:paramtypes", [String]) ], IgxSelectItemComponent.prototype, "text", null); IgxSelectItemComponent = __decorate([ Component({ selector: 'igx-select-item', template: '<ng-content></ng-content>' }) ], IgxSelectItemComponent); export { IgxSelectItemComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vaWduaXRldWktYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9zZWxlY3Qvc2VsZWN0LWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsU0FBUyxFQUFXLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0xRCxJQUFhLHNCQUFzQixHQUFuQyxNQUFhLHNCQUF1QixTQUFRLHdCQUF3QjtJQUloRTs7Ozs7Ozs7Ozs7OztPQWFHO0lBRUgsSUFBVyxJQUFJO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFXLElBQUksQ0FBQyxJQUFZO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFFRCx3QkFBd0I7SUFDeEIsSUFBVyxRQUFRO1FBQ2YsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUMxQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDckI7UUFDRCwyRkFBMkY7UUFDM0YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxJQUFXLFFBQVE7UUFDZixPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RyxDQUFDO0lBRUQsSUFBVyxRQUFRLENBQUMsS0FBVTtRQUMxQixJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzNDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2xDO0lBQ0wsQ0FBQztJQUtELFNBQVM7SUFDVCxDQUFDO0NBQ0osQ0FBQTtBQXhDRztJQURDLEtBQUssRUFBRTs7O2tEQUdQO0FBckJRLHNCQUFzQjtJQUpsQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsaUJBQWlCO1FBQzNCLFFBQVEsRUFBRSwyQkFBMkI7S0FDeEMsQ0FBQztHQUNXLHNCQUFzQixDQTJEbEM7U0EzRFksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWd4RHJvcERvd25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi8uLi9kcm9wLWRvd24vZHJvcC1kb3duLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IENvbXBvbmVudCwgRG9DaGVjaywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdpZ3gtc2VsZWN0LWl0ZW0nLFxuICAgIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pidcbn0pXG5leHBvcnQgY2xhc3MgSWd4U2VsZWN0SXRlbUNvbXBvbmVudCBleHRlbmRzIElneERyb3BEb3duSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIERvQ2hlY2sge1xuXG4gICAgcHJpdmF0ZSBfdGV4dDogYW55O1xuXG4gICAgLyoqXG4gICAgICogQW4gQElucHV0IHByb3BlcnR5IHRoYXQgZ2V0cy9zZXRzIHRoZSBpdGVtJ3MgdGV4dCB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIHNlbGVjdCBjb21wb25lbnQncyBpbnB1dCB3aGVuIHRoZSBpdGVtIGlzIHNlbGVjdGVkLlxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqICAvL2dldFxuICAgICAqICBsZXQgbXlTZWxlY3RlZEl0ZW0gPSB0aGlzLmRyb3BEb3duLnNlbGVjdGVkSXRlbTtcbiAgICAgKiAgbGV0IHNlbGVjdGVkSXRlbVRleHQgPSBteVNlbGVjdGVkSXRlbS50ZXh0O1xuICAgICAqIGBgYFxuXG4gICAgICogYGBgaHRtbFxuICAgICAqIC8vIHNldFxuICAgICAqIDxpZ3gtc2VsZWN0LWl0ZW0gW3RleHRdPVwiJ0xvbmRvbidcIj48L2lneC1zZWxlY3QtaXRlbT5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgdGV4dCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGV4dDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHRleHQodGV4dDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3RleHQgPSB0ZXh0O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHB1YmxpYyBnZXQgaXRlbVRleHQoKSB7XG4gICAgICAgIGlmICh0aGlzLl90ZXh0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl90ZXh0O1xuICAgICAgICB9XG4gICAgICAgIC8vIElmIHRleHQgQElucHV0IGlzIHVuZGVmaW5lZCwgdHJ5IGV4dHJhY3QgYSBtZWFuaW5nZnVsIGl0ZW0gdGV4dCBvdXQgb2YgdGhlIGl0ZW0gdGVtcGxhdGVcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50LnRyaW0oKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzL0dldHMgaWYgdGhlIGl0ZW0gaXMgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBvbmUgaW4gdGhlIHNlbGVjdFxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqICBsZXQgbXlTZWxlY3RlZEl0ZW0gPSB0aGlzLnNlbGVjdC5zZWxlY3RlZEl0ZW07XG4gICAgICogIGxldCBpc015SXRlbVNlbGVjdGVkID0gbXlTZWxlY3RlZEl0ZW0uc2VsZWN0ZWQ7IC8vIHRydWVcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHNlbGVjdGVkKCkge1xuICAgICAgICByZXR1cm4gIXRoaXMuaXNIZWFkZXIgJiYgIXRoaXMuZGlzYWJsZWQgJiYgdGhpcy5zZWxlY3Rpb24uaXNfaXRlbV9zZWxlY3RlZCh0aGlzLmRyb3BEb3duLmlkLCB0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHNlbGVjdGVkKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgaWYgKHZhbHVlICYmICF0aGlzLmlzSGVhZGVyICYmICF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLmRyb3BEb3duLnNlbGVjdEl0ZW0odGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgaXNIZWFkZXI6IGJvb2xlYW47XG5cbiAgICBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgfVxufVxuIl19