@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
JavaScript
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