UNPKG

@neocomplexx/ngx-neo-completer-mat

Version:
144 lines 14.6 kB
import { Directive, EventEmitter, Output } from '@angular/core'; import * as i0 from "@angular/core"; var CtrCompleter = /** @class */ (function () { function CtrCompleter() { 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; } CtrCompleter.prototype.registerList = function (list) { this.list = list; }; CtrCompleter.prototype.registerDropdown = function (dropdown) { this.dropdown = dropdown; }; CtrCompleter.prototype.onHighlighted = function (item) { this.highlighted.emit(item); this._hasHighlighted = !!item; }; CtrCompleter.prototype.onSelected = function (item, clearList) { if (clearList === void 0) { clearList = true; } this.selected.emit(item); if (item) { this._hasSelected = true; } if (clearList) { this.clear(); } }; CtrCompleter.prototype.onDataSourceChange = function () { if (this.hasSelected) { this.selected.emit(null); this._hasSelected = false; } this.dataSourceChange.emit(); }; CtrCompleter.prototype.search = function (term) { if (this._hasSelected) { this.selected.emit(null); this._hasSelected = false; } if (this.list) { this.list.search(term); } }; CtrCompleter.prototype.clear = function () { this._hasHighlighted = false; this.isOpen = false; if (this.dropdown) { this.dropdown.clear(); } if (this.list) { this.list.clear(); } }; CtrCompleter.prototype.selectCurrent = function () { if (this.dropdown) { this.dropdown.selectCurrent(); } }; CtrCompleter.prototype.nextRow = function () { if (this.dropdown) { this.dropdown.nextRow(); } }; CtrCompleter.prototype.prevRow = function () { if (this.dropdown) { this.dropdown.prevRow(); } }; CtrCompleter.prototype.hasHighlighted = function () { return this._hasHighlighted; }; CtrCompleter.prototype.cancelBlur = function (cancel) { this._cancelBlur = cancel; }; CtrCompleter.prototype.isCancelBlur = function () { return this._cancelBlur; }; CtrCompleter.prototype.open = function () { if (!this._isOpen) { this.isOpen = true; this.list.open(); } }; Object.defineProperty(CtrCompleter.prototype, "isOpen", { get: function () { return this._isOpen; }, set: function (open) { this._isOpen = open; this.opened.emit(this._isOpen); if (this.list) { this.list.isOpen(open); } }, enumerable: true, configurable: true }); Object.defineProperty(CtrCompleter.prototype, "autoHighlightIndex", { get: function () { return this._autoHighlightIndex; }, set: function (index) { this._autoHighlightIndex = index; if (this.dropdown) { this.dropdown.highlightRow(this._autoHighlightIndex); } }, enumerable: true, configurable: true }); Object.defineProperty(CtrCompleter.prototype, "hasSelected", { get: function () { return this._hasSelected; }, enumerable: true, configurable: true }); 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" } }); return CtrCompleter; }()); export { CtrCompleter }; /*@__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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3RyLWNvbXBsZXRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZW9jb21wbGV4eC9uZ3gtbmVvLWNvbXBsZXRlci1tYXQvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9jdHItY29tcGxldGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFtQmhFO0lBQUE7UUFNcUIsYUFBUSxHQUFHLElBQUksWUFBWSxFQUF3QixDQUFDO1FBQ3BELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXdCLENBQUM7UUFDdkQsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDckMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUlyRCxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixZQUFPLEdBQUcsS0FBSyxDQUFDO0tBd0gzQjtJQXJIVSxtQ0FBWSxHQUFuQixVQUFvQixJQUFtQjtRQUNuQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRU0sdUNBQWdCLEdBQXZCLFVBQXdCLFFBQWtDO1FBQ3RELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzdCLENBQUM7SUFFTSxvQ0FBYSxHQUFwQixVQUFxQixJQUEwQjtRQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDbEMsQ0FBQztJQUVNLGlDQUFVLEdBQWpCLFVBQWtCLElBQW1CLEVBQUUsU0FBZ0I7UUFBaEIsMEJBQUEsRUFBQSxnQkFBZ0I7UUFDbkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFD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QUM7UUFDcEMsQ0FBQzthQUVELFVBQThCLEtBQW9CO1lBQzlDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7WUFDakMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNmLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2FBQ3hEO1FBQ0wsQ0FBQzs7O09BUEE7SUFTRCxzQkFBVyxxQ0FBVzthQUF0QjtZQUNJLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztRQUM3QixDQUFDOzs7T0FBQTs0RUFsSVEsWUFBWTtxREFBWixZQUFZO3VCQXhCekI7Q0EySkMsQUF4SUQsSUF3SUM7U0FuSVksWUFBWTtrREFBWixZQUFZO2NBTHhCLFNBQVM7ZUFBQztnQkFDUCw4Q0FBOEM7Z0JBQzlDLFFBQVEsRUFBRSxnQkFBZ0I7YUFDN0I7O2tCQUdJLE1BQU07O2tCQUNOLE1BQU07O2tCQUNOLE1BQU07O2tCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBDb21wbGV0ZXJJdGVtIH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb21wbGV0ZXItaXRlbSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbXBsZXRlckxpc3Qge1xyXG4gICAgc2VhcmNoKHRlcm06IHN0cmluZyk6IHZvaWQ7XHJcbiAgICBvcGVuKCk6IHZvaWQ7XHJcbiAgICBpc09wZW4ob3BlbjogYm9vbGVhbik6IHZvaWQ7XHJcbiAgICBjbGVhcigpOiB2b2lkO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbXBsZXRlckRyb3Bkb3duIHtcclxuICAgIGNsZWFyKCk6IHZvaWQ7XHJcbiAgICBzZWxlY3RDdXJyZW50KCk6IHZvaWQ7XHJcbiAgICBuZXh0Um93KCk6IHZvaWQ7XHJcbiAgICBwcmV2Um93KCk6IHZvaWQ7XHJcbiAgICBoaWdobGlnaHRSb3coaW5kZXg6IG51bWJlciB8IG51bGwpOiB2b2lkO1xyXG59XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpkaXJlY3RpdmUtc2VsZWN0b3JcclxuICAgIHNlbGVjdG9yOiAnW2N0ckNvbXBsZXRlcl0nLFxyXG59KVxyXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxyXG5leHBvcnQgY2xhc3MgQ3RyQ29tcGxldGVyIHtcclxuICAgIEBPdXRwdXQoKSBwdWJsaWMgc2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPENvbXBsZXRlckl0ZW0gfCBudWxsPigpO1xyXG4gICAgQE91dHB1dCgpIHB1YmxpYyBoaWdobGlnaHRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tcGxldGVySXRlbSB8IG51bGw+KCk7XHJcbiAgICBAT3V0cHV0KCkgcHVibGljIG9wZW5lZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICAgIEBPdXRwdXQoKSBwdWJsaWMgZGF0YVNvdXJjZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgICBwcml2YXRlIGxpc3Q6IENvbXBsZXRlckxpc3Q7XHJcbiAgICBwcml2YXRlIGRyb3Bkb3duOiBDb21wbGV0ZXJEcm9wZG93biB8IG51bGw7XHJcbiAgICBwcml2YXRlIF9oYXNIaWdobGlnaHRlZCA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBfaGFzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgIHByaXZhdGUgX2NhbmNlbEJsdXIgPSBmYWxzZTtcclxuICAgIHByaXZhdGUgX2lzT3BlbiA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBfYXV0b0hpZ2hsaWdodEluZGV4OiBudW1iZXIgfCBudWxsO1xyXG5cclxuICAgIHB1YmxpYyByZWdpc3Rlckxpc3QobGlzdDogQ29tcGxldGVyTGlzdCkge1xyXG4gICAgICAgIHRoaXMubGlzdCA9IGxpc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlZ2lzdGVyRHJvcGRvd24oZHJvcGRvd246IENvbXBsZXRlckRyb3Bkb3duIHwgbnVsbCkge1xyXG4gICAgICAgIHRoaXMuZHJvcGRvd24gPSBkcm9wZG93bjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25IaWdobGlnaHRlZChpdGVtOiBDb21wbGV0ZXJJdGVtIHwgbnVsbCkge1xyXG4gICAgICAgIHRoaXMuaGlnaGxpZ2h0ZWQuZW1pdChpdGVtKTtcclxuICAgICAgICB0aGlzLl9oYXNIaWdobGlnaHRlZCA9ICEhaXRlbTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25TZWxlY3RlZChpdGVtOiBDb21wbGV0ZXJJdGVtLCBjbGVhckxpc3QgPSB0cnVlKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5lbWl0KGl0ZW0pO1xyXG4gICAgICAgIGlmIChpdGVtKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2hhc1NlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGNsZWFyTGlzdCkge1xyXG4gICAgICAgICAgICB0aGlzLmNsZWFyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbkRhdGFTb3VyY2VDaGFuZ2UoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaGFzU2VsZWN0ZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZC5lbWl0KG51bGwpO1xyXG4gICAgICAgICAgICB0aGlzLl9oYXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmRhdGFTb3VyY2VDaGFuZ2UuZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZWFyY2godGVybTogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2hhc1NlbGVjdGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQuZW1pdChudWxsKTtcclxuICAgICAgICAgICAgdGhpcy5faGFzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMubGlzdCkge1xyXG4gICAgICAgICAgICB0aGlzLmxpc3Quc2VhcmNoKHRlcm0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2xlYXIoKSB7XHJcbiAgICAgICAgdGhpcy5faGFzSGlnaGxpZ2h0ZWQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5kcm9wZG93bikge1xyXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duLmNsZWFyKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5saXN0KSB7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdC5jbGVhcigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2VsZWN0Q3VycmVudCgpIHtcclxuICAgICAgICBpZiAodGhpcy5kcm9wZG93bikge1xyXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duLnNlbGVjdEN1cnJlbnQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5leHRSb3coKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZHJvcGRvd24pIHtcclxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bi5uZXh0Um93KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBwcmV2Um93KCkge1xyXG4gICAgICAgIGlmICh0aGlzLmRyb3Bkb3duKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd24ucHJldlJvdygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFzSGlnaGxpZ2h0ZWQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hhc0hpZ2hsaWdodGVkO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjYW5jZWxCbHVyKGNhbmNlbDogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX2NhbmNlbEJsdXIgPSBjYW5jZWw7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGlzQ2FuY2VsQmx1cigpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY2FuY2VsQmx1cjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb3BlbigpIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2lzT3Blbikge1xyXG4gICAgICAgICAgICB0aGlzLmlzT3BlbiA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdC5vcGVuKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgaXNPcGVuKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pc09wZW47XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldCBpc09wZW4ob3BlbjogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX2lzT3BlbiA9IG9wZW47XHJcbiAgICAgICAgdGhpcy5vcGVuZWQuZW1pdCh0aGlzLl9pc09wZW4pO1xyXG4gICAgICAgIGlmICh0aGlzLmxpc3QpIHtcclxuICAgICAgICAgICAgdGhpcy5saXN0LmlzT3BlbihvcGVuKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBhdXRvSGlnaGxpZ2h0SW5kZXgoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2F1dG9IaWdobGlnaHRJbmRleDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0IGF1dG9IaWdobGlnaHRJbmRleChpbmRleDogbnVtYmVyIHwgbnVsbCkge1xyXG4gICAgICAgIHRoaXMuX2F1dG9IaWdobGlnaHRJbmRleCA9IGluZGV4O1xyXG4gICAgICAgIGlmICh0aGlzLmRyb3Bkb3duKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd24uaGlnaGxpZ2h0Um93KHRoaXMuX2F1dG9IaWdobGlnaHRJbmRleCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgaGFzU2VsZWN0ZWQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hhc1NlbGVjdGVkO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==