igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
55 lines • 5.03 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, HostListener, HostBinding } from '@angular/core';
import { IgxDropDownItemBase } from './drop-down-item.base';
/**
* The `<igx-drop-down-item>` is a container intended for row items in
* a `<igx-drop-down>` container.
*/
export class IgxDropDownItemComponent extends IgxDropDownItemBase {
/**
* @hidden \@internal
* @return {?}
*/
get setTabIndex() {
/** @type {?} */
const shouldSetTabIndex = this.dropDown.allowItemsFocus && !(this.disabled || this.isHeader);
if (shouldSetTabIndex) {
return 0;
}
else {
return null;
}
}
/**
* @hidden \@internal
* @param {?} event
* @return {?}
*/
clicked(event) {
if (this.disabled || this.isHeader) {
/** @type {?} */
const focusedItem = this.dropDown.items.find((item) => item.focused);
if (this.dropDown.allowItemsFocus && focusedItem) {
focusedItem.element.nativeElement.focus({ preventScroll: true });
}
return;
}
if (this.selection) {
this.dropDown.selectItem(this, event);
}
}
}
IgxDropDownItemComponent.decorators = [
{ type: Component, args: [{
selector: 'igx-drop-down-item',
template: "<ng-content></ng-content>"
}] }
];
IgxDropDownItemComponent.propDecorators = {
setTabIndex: [{ type: HostBinding, args: ['attr.tabindex',] }],
clicked: [{ type: HostListener, args: ['click', ['$event'],] }]
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcC1kb3duLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vaWduaXRldWktYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9kcm9wLWRvd24vZHJvcC1kb3duLWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7O0FBVTVELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxtQkFBbUI7Ozs7O0lBSTdELElBQ0ksV0FBVzs7Y0FDTCxpQkFBaUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzVGLElBQUksaUJBQWlCLEVBQUU7WUFDbkIsT0FBTyxDQUFDLENBQUM7U0FDWjthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNMLENBQUM7Ozs7OztJQU1ELE9BQU8sQ0FBQyxLQUFLO1FBQ1QsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7O2tCQUMxQixXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ3BFLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLElBQUksV0FBVyxFQUFFO2dCQUM5QyxXQUFXLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQzthQUNwRTtZQUNELE9BQU87U0FDVjtRQUNELElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDekM7SUFDTCxDQUFDOzs7WUFqQ0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLHFDQUE0QzthQUMvQzs7OzBCQUtJLFdBQVcsU0FBQyxlQUFlO3NCQWEzQixZQUFZLFNBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRG9DaGVjayxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSG9zdEJpbmRpbmdcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJZ3hEcm9wRG93bkl0ZW1CYXNlIH0gZnJvbSAnLi9kcm9wLWRvd24taXRlbS5iYXNlJztcblxuLyoqXG4gKiBUaGUgYDxpZ3gtZHJvcC1kb3duLWl0ZW0+YCBpcyBhIGNvbnRhaW5lciBpbnRlbmRlZCBmb3Igcm93IGl0ZW1zIGluXG4gKiBhIGA8aWd4LWRyb3AtZG93bj5gIGNvbnRhaW5lci5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdpZ3gtZHJvcC1kb3duLWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnZHJvcC1kb3duLWl0ZW0uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIElneERyb3BEb3duSXRlbUNvbXBvbmVudCBleHRlbmRzIElneERyb3BEb3duSXRlbUJhc2UgaW1wbGVtZW50cyBEb0NoZWNrIHtcbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gICAgZ2V0IHNldFRhYkluZGV4KCkge1xuICAgICAgICBjb25zdCBzaG91bGRTZXRUYWJJbmRleCA9IHRoaXMuZHJvcERvd24uYWxsb3dJdGVtc0ZvY3VzICYmICEodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmlzSGVhZGVyKTtcbiAgICAgICAgaWYgKHNob3VsZFNldFRhYkluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgY2xpY2tlZChldmVudCkge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmlzSGVhZGVyKSB7XG4gICAgICAgICAgICBjb25zdCBmb2N1c2VkSXRlbSA9IHRoaXMuZHJvcERvd24uaXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5mb2N1c2VkKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmRyb3BEb3duLmFsbG93SXRlbXNGb2N1cyAmJiBmb2N1c2VkSXRlbSkge1xuICAgICAgICAgICAgICAgIGZvY3VzZWRJdGVtLmVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmRyb3BEb3duLnNlbGVjdEl0ZW0odGhpcywgZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19