@neocomplexx/ngx-neo-completer
Version:
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.0.5.
85 lines • 7.88 kB
JavaScript
import { __decorate, __metadata, __param } from "tslib";
import { Directive, ElementRef, Host, HostListener, Input, Renderer2 } from '@angular/core';
import { CtrDropdown, CtrRowItem } from './ctr-dropdown';
let CtrRow = class CtrRow {
constructor(el, renderer, dropdown) {
this.el = el;
this.renderer = renderer;
this.dropdown = dropdown;
this.selected = false;
}
ngOnDestroy() {
if (this._rowIndex) {
this.dropdown.unregisterRow(this._rowIndex);
}
}
set ctrRow(index) {
this._rowIndex = index;
this.dropdown.registerRow(new CtrRowItem(this, this._rowIndex));
}
set dataItem(item) {
this._item = item;
}
onClick(event) {
this.dropdown.onSelected(this._item);
}
onMouseEnter(event) {
this.dropdown.highlightRow(this._rowIndex);
}
onMouseDown(event) {
this.dropdown.rowMouseDown();
}
setHighlighted(selected) {
this.selected = selected;
const highlightClass = 'completer-selected-row';
this.selected ? this.renderer.addClass(this.el.nativeElement, highlightClass) : this.renderer.removeClass(this.el.nativeElement, highlightClass);
}
getNativeElement() {
return this.el.nativeElement;
}
getDataItem() {
return this._item;
}
};
CtrRow.ctorParameters = () => [
{ type: ElementRef },
{ type: Renderer2 },
{ type: CtrDropdown, decorators: [{ type: Host }] }
];
__decorate([
Input(),
__metadata("design:type", Number),
__metadata("design:paramtypes", [Number])
], CtrRow.prototype, "ctrRow", null);
__decorate([
Input(),
__metadata("design:type", Object),
__metadata("design:paramtypes", [Object])
], CtrRow.prototype, "dataItem", null);
__decorate([
HostListener('click', ['$event']),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Object]),
__metadata("design:returntype", void 0)
], CtrRow.prototype, "onClick", null);
__decorate([
HostListener('mouseenter', ['$event']),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Object]),
__metadata("design:returntype", void 0)
], CtrRow.prototype, "onMouseEnter", null);
__decorate([
HostListener('mousedown', ['$event']),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Object]),
__metadata("design:returntype", void 0)
], CtrRow.prototype, "onMouseDown", null);
CtrRow = __decorate([
Directive({
selector: '[ctrRow]',
}),
__param(2, Host()),
__metadata("design:paramtypes", [ElementRef, Renderer2, CtrDropdown])
], CtrRow);
export { CtrRow };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3RyLXJvdy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZW9jb21wbGV4eC9uZ3gtbmVvLWNvbXBsZXRlci8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2N0ci1yb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUk1RixPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTXpELElBQWEsTUFBTSxHQUFuQixNQUFhLE1BQU07SUFNZixZQUFvQixFQUFjLEVBQVUsUUFBbUIsRUFBa0IsUUFBcUI7UUFBbEYsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBa0IsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUo5RixhQUFRLEdBQUcsS0FBSyxDQUFDO0lBSWlGLENBQUM7SUFFcEcsV0FBVztRQUNkLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDL0M7SUFDTCxDQUFDO0lBR0QsSUFBSSxNQUFNLENBQUMsS0FBYTtRQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUdELElBQUksUUFBUSxDQUFDLElBQW1CO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFFeUMsT0FBTyxDQUFDLEtBQVU7UUFDeEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFOEMsWUFBWSxDQUFDLEtBQVU7UUFDbEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFNkMsV0FBVyxDQUFDLEtBQVU7UUFDaEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU0sY0FBYyxDQUFDLFFBQWlCO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLE1BQU0sY0FBYyxHQUFXLHdCQUF3QixDQUFDO1FBQ3hELElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNySixDQUFDO0lBRU0sZ0JBQWdCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDakMsQ0FBQztJQUVNLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztDQUNKLENBQUE7O1lBNUMyQixVQUFVO1lBQW9CLFNBQVM7WUFBNEIsV0FBVyx1QkFBcEMsSUFBSTs7QUFTdEU7SUFEQyxLQUFLLEVBQUU7OztvQ0FJUDtBQUdEO0lBREMsS0FBSyxFQUFFOzs7c0NBR1A7QUFFa0M7SUFBbEMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDOzs7O3FDQUVqQztBQUV1QztJQUF2QyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7Ozs7MENBRXRDO0FBRXNDO0lBQXRDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQzs7Ozt5Q0FFckM7QUFuQ1EsTUFBTTtJQUhsQixTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsVUFBVTtLQUN2QixDQUFDO0lBT29FLFdBQUEsSUFBSSxFQUFFLENBQUE7cUNBQWhELFVBQVUsRUFBb0IsU0FBUyxFQUE0QixXQUFXO0dBTjdGLE1BQU0sQ0FrRGxCO1NBbERZLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3QsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENvbXBsZXRlckl0ZW0gfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbXBsZXRlci1pdGVtJztcbmltcG9ydCB7IEN0ckRyb3Bkb3duLCBDdHJSb3dJdGVtIH0gZnJvbSAnLi9jdHItZHJvcGRvd24nO1xuaW1wb3J0IHR5cGUgeyBDdHJSb3dFbGVtZW50IH0gZnJvbSAnLi9jdHItZHJvcGRvd24nO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tjdHJSb3ddJyxcbn0pXG5leHBvcnQgY2xhc3MgQ3RyUm93IGltcGxlbWVudHMgQ3RyUm93RWxlbWVudCwgT25EZXN0cm95IHtcblxuICAgIHByaXZhdGUgc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9yb3dJbmRleDogbnVtYmVyO1xuICAgIHByaXZhdGUgX2l0ZW06IENvbXBsZXRlckl0ZW07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIEBIb3N0KCkgcHJpdmF0ZSBkcm9wZG93bjogQ3RyRHJvcGRvd24pIHsgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICBpZiAodGhpcy5fcm93SW5kZXgpIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd24udW5yZWdpc3RlclJvdyh0aGlzLl9yb3dJbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBjdHJSb3coaW5kZXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9yb3dJbmRleCA9IGluZGV4O1xuICAgICAgICB0aGlzLmRyb3Bkb3duLnJlZ2lzdGVyUm93KG5ldyBDdHJSb3dJdGVtKHRoaXMsIHRoaXMuX3Jvd0luZGV4KSk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgZGF0YUl0ZW0oaXRlbTogQ29tcGxldGVySXRlbSkge1xuICAgICAgICB0aGlzLl9pdGVtID0gaXRlbTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5kcm9wZG93bi5vblNlbGVjdGVkKHRoaXMuX2l0ZW0pO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInLCBbJyRldmVudCddKSBwdWJsaWMgb25Nb3VzZUVudGVyKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5kcm9wZG93bi5oaWdobGlnaHRSb3codGhpcy5fcm93SW5kZXgpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pIHB1YmxpYyBvbk1vdXNlRG93bihldmVudDogYW55KSB7XG4gICAgICAgIHRoaXMuZHJvcGRvd24ucm93TW91c2VEb3duKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEhpZ2hsaWdodGVkKHNlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgICAgY29uc3QgaGlnaGxpZ2h0Q2xhc3M6IHN0cmluZyA9ICdjb21wbGV0ZXItc2VsZWN0ZWQtcm93JztcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA/IHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCBoaWdobGlnaHRDbGFzcykgOiB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgaGlnaGxpZ2h0Q2xhc3MpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXROYXRpdmVFbGVtZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXREYXRhSXRlbSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2l0ZW07XG4gICAgfVxufVxuIl19