@neocomplexx/ngx-neo-completer-mat
Version:
70 lines • 8.04 kB
JavaScript
import { Directive, ElementRef, Host, HostListener, Input, Renderer2 } from '@angular/core';
import { CtrDropdown, CtrRowItem } from './ctr-dropdown';
import * as i0 from "@angular/core";
import * as i1 from "./ctr-dropdown";
export 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.ɵfac = function CtrRow_Factory(t) { return new (t || CtrRow)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i1.CtrDropdown, 1)); };
CtrRow.ɵdir = i0.ɵɵdefineDirective({ type: CtrRow, selectors: [["", "ctrRow", ""]], hostBindings: function CtrRow_HostBindings(rf, ctx) { if (rf & 1) {
i0.ɵɵlistener("click", function CtrRow_click_HostBindingHandler($event) { return ctx.onClick($event); })("mouseenter", function CtrRow_mouseenter_HostBindingHandler($event) { return ctx.onMouseEnter($event); })("mousedown", function CtrRow_mousedown_HostBindingHandler($event) { return ctx.onMouseDown($event); });
} }, inputs: { ctrRow: "ctrRow", dataItem: "dataItem" } });
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(CtrRow, [{
type: Directive,
args: [{
selector: '[ctrRow]',
}]
}], function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.CtrDropdown, decorators: [{
type: Host
}] }]; }, { ctrRow: [{
type: Input
}], dataItem: [{
type: Input
}], onClick: [{
type: HostListener,
args: ['click', ['$event']]
}], onMouseEnter: [{
type: HostListener,
args: ['mouseenter', ['$event']]
}], onMouseDown: [{
type: HostListener,
args: ['mousedown', ['$event']]
}] }); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3RyLXJvdy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZW9jb21wbGV4eC9uZ3gtbmVvLWNvbXBsZXRlci1tYXQvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9jdHItcm93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUk1RixPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFNekQsTUFBTSxPQUFPLE1BQU07SUFNZixZQUFvQixFQUFjLEVBQVUsUUFBbUIsRUFBa0IsUUFBcUI7UUFBbEYsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBa0IsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUo5RixhQUFRLEdBQUcsS0FBSyxDQUFDO0lBSWlGLENBQUM7SUFFcEcsV0FBVztRQUNkLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDL0M7SUFDTCxDQUFDO0lBRUQsSUFDSSxNQUFNLENBQUMsS0FBYTtRQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELElBQ0ksUUFBUSxDQUFDLElBQW1CO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFFeUMsT0FBTyxDQUFDLEtBQVU7UUFDeEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFOEMsWUFBWSxDQUFDLEtBQVU7UUFDbEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFNkMsV0FBVyxDQUFDLEtBQVU7UUFDaEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU0sY0FBYyxDQUFDLFFBQWlCO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLE1BQU0sY0FBYyxHQUFXLHdCQUF3QixDQUFDO1FBQ3hELElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNySixDQUFDO0lBRU0sZ0JBQWdCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDakMsQ0FBQztJQUVNLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQzs7NERBakRRLE1BQU07MkNBQU4sTUFBTTt5RkFBTixtQkFBZSxrRkFBZix3QkFBb0IsZ0ZBQXBCLHVCQUFtQjs7a0RBQW5CLE1BQU07Y0FIbEIsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxVQUFVO2FBQ3ZCOztzQkFPcUUsSUFBSTs7a0JBUXJFLEtBQUs7O2tCQU1MLEtBQUs7O2tCQUtMLFlBQVk7bUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOztrQkFJaEMsWUFBWTttQkFBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUM7O2tCQUlyQyxZQUFZO21CQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdCwgSG9zdExpc3RlbmVyLCBJbnB1dCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQ29tcGxldGVySXRlbSB9IGZyb20gJy4uL2NvbXBvbmVudHMvY29tcGxldGVyLWl0ZW0nO1xyXG5pbXBvcnQgeyBDdHJEcm9wZG93biwgQ3RyUm93SXRlbSB9IGZyb20gJy4vY3RyLWRyb3Bkb3duJztcclxuaW1wb3J0IHR5cGUgeyBDdHJSb3dFbGVtZW50IH0gZnJvbSAnLi9jdHItZHJvcGRvd24nO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tjdHJSb3ddJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEN0clJvdyBpbXBsZW1lbnRzIEN0clJvd0VsZW1lbnQsIE9uRGVzdHJveSB7XHJcblxyXG4gICAgcHJpdmF0ZSBzZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBfcm93SW5kZXg6IG51bWJlcjtcclxuICAgIHByaXZhdGUgX2l0ZW06IENvbXBsZXRlckl0ZW07XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBASG9zdCgpIHByaXZhdGUgZHJvcGRvd246IEN0ckRyb3Bkb3duKSB7IH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3Jvd0luZGV4KSB7XHJcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd24udW5yZWdpc3RlclJvdyh0aGlzLl9yb3dJbmRleCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgY3RyUm93KGluZGV4OiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLl9yb3dJbmRleCA9IGluZGV4O1xyXG4gICAgICAgIHRoaXMuZHJvcGRvd24ucmVnaXN0ZXJSb3cobmV3IEN0clJvd0l0ZW0odGhpcywgdGhpcy5fcm93SW5kZXgpKTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGRhdGFJdGVtKGl0ZW06IENvbXBsZXRlckl0ZW0pIHtcclxuICAgICAgICB0aGlzLl9pdGVtID0gaXRlbTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBhbnkpIHtcclxuICAgICAgICB0aGlzLmRyb3Bkb3duLm9uU2VsZWN0ZWQodGhpcy5faXRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicsIFsnJGV2ZW50J10pIHB1YmxpYyBvbk1vdXNlRW50ZXIoZXZlbnQ6IGFueSkge1xyXG4gICAgICAgIHRoaXMuZHJvcGRvd24uaGlnaGxpZ2h0Um93KHRoaXMuX3Jvd0luZGV4KTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nLCBbJyRldmVudCddKSBwdWJsaWMgb25Nb3VzZURvd24oZXZlbnQ6IGFueSkge1xyXG4gICAgICAgIHRoaXMuZHJvcGRvd24ucm93TW91c2VEb3duKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldEhpZ2hsaWdodGVkKHNlbGVjdGVkOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xyXG4gICAgICAgIGNvbnN0IGhpZ2hsaWdodENsYXNzOiBzdHJpbmcgPSAnY29tcGxldGVyLXNlbGVjdGVkLXJvdyc7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA/IHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCBoaWdobGlnaHRDbGFzcykgOiB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgaGlnaGxpZ2h0Q2xhc3MpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXROYXRpdmVFbGVtZW50KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldERhdGFJdGVtKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pdGVtO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==