@neocomplexx/ngx-neo-completer-mat
Version:
130 lines • 13.3 kB
JavaScript
import { Directive, EventEmitter, Output } from '@angular/core';
import * as i0 from "@angular/core";
// tslint:disable-next-line:directive-class-suffix
export class CtrCompleter {
constructor() {
this.selected = new EventEmitter();
this.highlighted = new EventEmitter();
this.opened = new EventEmitter();
this.dataSourceChange = new EventEmitter();
this._hasHighlighted = false;
this._hasSelected = false;
this._cancelBlur = false;
this._isOpen = false;
}
registerList(list) {
this.list = list;
}
registerDropdown(dropdown) {
this.dropdown = dropdown;
}
onHighlighted(item) {
this.highlighted.emit(item);
this._hasHighlighted = !!item;
}
onSelected(item, clearList = true) {
this.selected.emit(item);
if (item) {
this._hasSelected = true;
}
if (clearList) {
this.clear();
}
}
onDataSourceChange() {
if (this.hasSelected) {
this.selected.emit(null);
this._hasSelected = false;
}
this.dataSourceChange.emit();
}
search(term) {
if (this._hasSelected) {
this.selected.emit(null);
this._hasSelected = false;
}
if (this.list) {
this.list.search(term);
}
}
clear() {
this._hasHighlighted = false;
this.isOpen = false;
if (this.dropdown) {
this.dropdown.clear();
}
if (this.list) {
this.list.clear();
}
}
selectCurrent() {
if (this.dropdown) {
this.dropdown.selectCurrent();
}
}
nextRow() {
if (this.dropdown) {
this.dropdown.nextRow();
}
}
prevRow() {
if (this.dropdown) {
this.dropdown.prevRow();
}
}
hasHighlighted() {
return this._hasHighlighted;
}
cancelBlur(cancel) {
this._cancelBlur = cancel;
}
isCancelBlur() {
return this._cancelBlur;
}
open() {
if (!this._isOpen) {
this.isOpen = true;
this.list.open();
}
}
get isOpen() {
return this._isOpen;
}
set isOpen(open) {
this._isOpen = open;
this.opened.emit(this._isOpen);
if (this.list) {
this.list.isOpen(open);
}
}
get autoHighlightIndex() {
return this._autoHighlightIndex;
}
set autoHighlightIndex(index) {
this._autoHighlightIndex = index;
if (this.dropdown) {
this.dropdown.highlightRow(this._autoHighlightIndex);
}
}
get hasSelected() {
return this._hasSelected;
}
}
CtrCompleter.ɵfac = function CtrCompleter_Factory(t) { return new (t || CtrCompleter)(); };
CtrCompleter.ɵdir = i0.ɵɵdefineDirective({ type: CtrCompleter, selectors: [["", "ctrCompleter", ""]], outputs: { selected: "selected", highlighted: "highlighted", opened: "opened", dataSourceChange: "dataSourceChange" } });
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(CtrCompleter, [{
type: Directive,
args: [{
// tslint:disable-next-line:directive-selector
selector: '[ctrCompleter]',
}]
}], null, { selected: [{
type: Output
}], highlighted: [{
type: Output
}], opened: [{
type: Output
}], dataSourceChange: [{
type: Output
}] }); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3RyLWNvbXBsZXRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZW9jb21wbGV4eC9uZ3gtbmVvLWNvbXBsZXRlci1tYXQvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9jdHItY29tcGxldGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUF1QmhFLGtEQUFrRDtBQUNsRCxNQUFNLE9BQU8sWUFBWTtJQUx6QjtRQU1xQixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQXdCLENBQUM7UUFDcEQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBd0IsQ0FBQztRQUN2RCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNyQyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBSXJELG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLFlBQU8sR0FBRyxLQUFLLENBQUM7S0F3SDNCO0lBckhVLFlBQVksQ0FBQyxJQUFtQjtRQUNuQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsUUFBa0M7UUFDdEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVNLGFBQWEsQ0FBQyxJQUEwQjtRQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDbEMsQ0FBQztJQUVNLFVBQVUsQ0FBQyxJQUFtQixFQUFFLFNBQVMsR0FBRyxJQUFJO1FBQ25ELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUks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QUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDeEQ7SUFDTCxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3QixDQUFDOzt3RUFsSVEsWUFBWTtpREFBWixZQUFZO2tEQUFaLFlBQVk7Y0FMeEIsU0FBUztlQUFDO2dCQUNQLDhDQUE4QztnQkFDOUMsUUFBUSxFQUFFLGdCQUFnQjthQUM3Qjs7a0JBR0ksTUFBTTs7a0JBQ04sTUFBTTs7a0JBQ04sTUFBTTs7a0JBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IENvbXBsZXRlckl0ZW0gfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbXBsZXRlci1pdGVtJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGxldGVyTGlzdCB7XHJcbiAgICBzZWFyY2godGVybTogc3RyaW5nKTogdm9pZDtcclxuICAgIG9wZW4oKTogdm9pZDtcclxuICAgIGlzT3BlbihvcGVuOiBib29sZWFuKTogdm9pZDtcclxuICAgIGNsZWFyKCk6IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGxldGVyRHJvcGRvd24ge1xyXG4gICAgY2xlYXIoKTogdm9pZDtcclxuICAgIHNlbGVjdEN1cnJlbnQoKTogdm9pZDtcclxuICAgIG5leHRSb3coKTogdm9pZDtcclxuICAgIHByZXZSb3coKTogdm9pZDtcclxuICAgIGhpZ2hsaWdodFJvdyhpbmRleDogbnVtYmVyIHwgbnVsbCk6IHZvaWQ7XHJcbn1cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRpcmVjdGl2ZS1zZWxlY3RvclxyXG4gICAgc2VsZWN0b3I6ICdbY3RyQ29tcGxldGVyXScsXHJcbn0pXHJcbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpkaXJlY3RpdmUtY2xhc3Mtc3VmZml4XHJcbmV4cG9ydCBjbGFzcyBDdHJDb21wbGV0ZXIge1xyXG4gICAgQE91dHB1dCgpIHB1YmxpYyBzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tcGxldGVySXRlbSB8IG51bGw+KCk7XHJcbiAgICBAT3V0cHV0KCkgcHVibGljIGhpZ2hsaWdodGVkID0gbmV3IEV2ZW50RW1pdHRlcjxDb21wbGV0ZXJJdGVtIHwgbnVsbD4oKTtcclxuICAgIEBPdXRwdXQoKSBwdWJsaWMgb3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gICAgQE91dHB1dCgpIHB1YmxpYyBkYXRhU291cmNlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIHByaXZhdGUgbGlzdDogQ29tcGxldGVyTGlzdDtcclxuICAgIHByaXZhdGUgZHJvcGRvd246IENvbXBsZXRlckRyb3Bkb3duIHwgbnVsbDtcclxuICAgIHByaXZhdGUgX2hhc0hpZ2hsaWdodGVkID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIF9oYXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBfY2FuY2VsQmx1ciA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBfaXNPcGVuID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIF9hdXRvSGlnaGxpZ2h0SW5kZXg6IG51bWJlciB8IG51bGw7XHJcblxyXG4gICAgcHVibGljIHJlZ2lzdGVyTGlzdChsaXN0OiBDb21wbGV0ZXJMaXN0KSB7XHJcbiAgICAgICAgdGhpcy5saXN0ID0gbGlzdDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVnaXN0ZXJEcm9wZG93bihkcm9wZG93bjogQ29tcGxldGVyRHJvcGRvd24gfCBudWxsKSB7XHJcbiAgICAgICAgdGhpcy5kcm9wZG93biA9IGRyb3Bkb3duO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbkhpZ2hsaWdodGVkKGl0ZW06IENvbXBsZXRlckl0ZW0gfCBudWxsKSB7XHJcbiAgICAgICAgdGhpcy5oaWdobGlnaHRlZC5lbWl0KGl0ZW0pO1xyXG4gICAgICAgIHRoaXMuX2hhc0hpZ2hsaWdodGVkID0gISFpdGVtO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvblNlbGVjdGVkKGl0ZW06IENvbXBsZXRlckl0ZW0sIGNsZWFyTGlzdCA9IHRydWUpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkLmVtaXQoaXRlbSk7XHJcbiAgICAgICAgaWYgKGl0ZW0pIHtcclxuICAgICAgICAgICAgdGhpcy5faGFzU2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoY2xlYXJMaXN0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xlYXIoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uRGF0YVNvdXJjZUNoYW5nZSgpIHtcclxuICAgICAgICBpZiAodGhpcy5oYXNTZWxlY3RlZCkge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkLmVtaXQobnVsbCk7XHJcbiAgICAgICAgICAgIHRoaXMuX2hhc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZUNoYW5nZS5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNlYXJjaCh0ZXJtOiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAodGhpcy5faGFzU2VsZWN0ZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZC5lbWl0KG51bGwpO1xyXG4gICAgICAgICAgICB0aGlzLl9oYXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5saXN0KSB7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdC5zZWFyY2godGVybSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjbGVhcigpIHtcclxuICAgICAgICB0aGlzLl9oYXNIaWdobGlnaHRlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmRyb3Bkb3duKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd24uY2xlYXIoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmxpc3QpIHtcclxuICAgICAgICAgICAgdGhpcy5saXN0LmNsZWFyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZWxlY3RDdXJyZW50KCkge1xyXG4gICAgICAgIGlmICh0aGlzLmRyb3Bkb3duKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd24uc2VsZWN0Q3VycmVudCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmV4dFJvdygpIHtcclxuICAgICAgICBpZiAodGhpcy5kcm9wZG93bikge1xyXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duLm5leHRSb3coKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHByZXZSb3coKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZHJvcGRvd24pIHtcclxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bi5wcmV2Um93KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYXNIaWdobGlnaHRlZCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faGFzSGlnaGxpZ2h0ZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNhbmNlbEJsdXIoY2FuY2VsOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fY2FuY2VsQmx1ciA9IGNhbmNlbDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaXNDYW5jZWxCbHVyKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jYW5jZWxCbHVyO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvcGVuKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5faXNPcGVuKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5saXN0Lm9wZW4oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBpc09wZW4oKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzT3BlbjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0IGlzT3BlbihvcGVuOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5faXNPcGVuID0gb3BlbjtcclxuICAgICAgICB0aGlzLm9wZW5lZC5lbWl0KHRoaXMuX2lzT3Blbik7XHJcbiAgICAgICAgaWYgKHRoaXMubGlzdCkge1xyXG4gICAgICAgICAgICB0aGlzLmxpc3QuaXNPcGVuKG9wZW4pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGF1dG9IaWdobGlnaHRJbmRleCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fYXV0b0hpZ2hsaWdodEluZGV4O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXQgYXV0b0hpZ2hsaWdodEluZGV4KGluZGV4OiBudW1iZXIgfCBudWxsKSB7XHJcbiAgICAgICAgdGhpcy5fYXV0b0hpZ2hsaWdodEluZGV4ID0gaW5kZXg7XHJcbiAgICAgICAgaWYgKHRoaXMuZHJvcGRvd24pIHtcclxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bi5oaWdobGlnaHRSb3codGhpcy5fYXV0b0hpZ2hsaWdodEluZGV4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBoYXNTZWxlY3RlZCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faGFzU2VsZWN0ZWQ7XHJcbiAgICB9XHJcbn1cclxuIl19