@neocomplexx/ngx-neo-completer-mat
Version:
77 lines • 9.79 kB
JavaScript
import { Component, Input } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
function CompleterListItemCmp_span_1_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "span", 2);
i0.ɵɵtext(1);
i0.ɵɵelementEnd();
} if (rf & 2) {
var part_r1 = ctx.$implicit;
var ctx_r0 = i0.ɵɵnextContext();
i0.ɵɵproperty("ngClass", part_r1.isMatch ? ctx_r0.matchClass : null);
i0.ɵɵadvance(1);
i0.ɵɵtextInterpolate(part_r1.text);
} }
var _c0 = function (a0, a1) { return { "completer-title": a0, "completer-description": a1 }; };
'use strict';
var CompleterListItemCmp = /** @class */ (function () {
function CompleterListItemCmp() {
this.parts = [];
}
CompleterListItemCmp.prototype.ngOnInit = function () {
if (!this.searchStr) {
this.parts.push({ isMatch: false, text: this.text });
return;
}
var matchStr = this.text.toLowerCase();
var matchPos = matchStr.indexOf(this.searchStr.toLowerCase());
var startIndex = 0;
while (matchPos >= 0) {
var matchText = this.text.slice(matchPos, matchPos + this.searchStr.length);
if (matchPos === 0) {
this.parts.push({ isMatch: true, text: matchText });
startIndex += this.searchStr.length;
}
else if (matchPos > 0) {
var matchPart = this.text.slice(startIndex, matchPos);
this.parts.push({ isMatch: false, text: matchPart });
this.parts.push({ isMatch: true, text: matchText });
startIndex += this.searchStr.length + matchPart.length;
}
matchPos = matchStr.indexOf(this.searchStr.toLowerCase(), startIndex);
}
if (startIndex < this.text.length) {
this.parts.push({ isMatch: false, text: this.text.slice(startIndex, this.text.length) });
}
};
CompleterListItemCmp.ɵfac = function CompleterListItemCmp_Factory(t) { return new (t || CompleterListItemCmp)(); };
CompleterListItemCmp.ɵcmp = i0.ɵɵdefineComponent({ type: CompleterListItemCmp, selectors: [["completer-list-item"]], inputs: { text: "text", searchStr: "searchStr", matchClass: "matchClass", type: "type" }, decls: 2, vars: 5, consts: [[1, "completer-list-item-holder", 3, "ngClass"], ["class", "completer-list-item", 3, "ngClass", 4, "ngFor", "ngForOf"], [1, "completer-list-item", 3, "ngClass"]], template: function CompleterListItemCmp_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "span", 0);
i0.ɵɵtemplate(1, CompleterListItemCmp_span_1_Template, 2, 2, "span", 1);
i0.ɵɵelementEnd();
} if (rf & 2) {
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(2, _c0, ctx.type === "title", ctx.type === "description"));
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngForOf", ctx.parts);
} }, directives: [i1.NgClass, i1.NgForOf], encapsulation: 2 });
return CompleterListItemCmp;
}());
export { CompleterListItemCmp };
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(CompleterListItemCmp, [{
type: Component,
args: [{
// tslint:disable-next-line:component-selector
selector: 'completer-list-item',
// tslint:disable-next-line:max-line-length
template: "<span class=\"completer-list-item-holder\" [ngClass]=\"{'completer-title': type === 'title', 'completer-description': type === 'description'}\" >\n <span class=\"completer-list-item\" *ngFor=\"let part of parts\" [ngClass]=\"part.isMatch ? matchClass : null\">{{part.text}}</span>\n </span>"
}]
}], null, { text: [{
type: Input
}], searchStr: [{
type: Input
}], matchClass: [{
type: Input
}], type: [{
type: Input
}] }); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGVyLWxpc3QtaXRlbS1jbXAuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmVvY29tcGxleHgvbmd4LW5lby1jb21wbGV0ZXItbWF0LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvY29tcGxldGVyLWxpc3QtaXRlbS1jbXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7SUFheEMsK0JBQTBHO0lBQUEsWUFBYTtJQUFBLGlCQUFPOzs7O0lBQWpFLG9FQUE0QztJQUFDLGVBQWE7SUFBYixrQ0FBYTs7O0FBZC9ILFlBQVksQ0FBQztBQVNiO0lBQUE7UUFlVyxVQUFLLEdBQWdCLEVBQUUsQ0FBQztLQTBCbEM7SUF6QlUsdUNBQVEsR0FBZjtRQUNJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDckQsT0FBTztTQUNWO1FBQ0QsSUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6QyxJQUFJLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUM5RCxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7UUFDbkIsT0FBTyxRQUFRLElBQUksQ0FBQyxFQUFFO1lBQ2xCLElBQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5RSxJQUFJLFFBQVEsS0FBSyxDQUFDLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztnQkFDcEQsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO2FBQ3ZDO2lCQUFNLElBQUksUUFBUSxHQUFHLENBQUMsRUFBRTtnQkFDckIsSUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUN4RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7Z0JBQ3JELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztnQkFDcEQsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUM7YUFDMUQ7WUFDRCxRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQ3pFO1FBQ0QsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDN0Y7SUFDTCxDQUFDOzRGQS9CUSxvQkFBb0I7NkRBQXBCLG9CQUFvQjtZQUxsQiwrQkFDUDtZQUFBLHVFQUEwRztZQUMxRyxpQkFBTzs7WUFGeUMsc0dBQWtHO1lBQ2hILGVBQTBCO1lBQTFCLG1DQUEwQjs7K0JBZHBFO0NBa0RDLEFBekNELElBeUNDO1NBaENZLG9CQUFvQjtrREFBcEIsb0JBQW9CO2NBVGhDLFNBQVM7ZUFBQztnQkFDUCw4Q0FBOEM7Z0JBQzlDLFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLDJDQUEyQztnQkFDM0MsUUFBUSxFQUFFLGtUQUVFO2FBQ2Y7O2tCQUdJLEtBQUs7O2tCQUNMLEtBQUs7O2tCQUNMLEtBQUs7O2tCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XHJcbmltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTWF0Y2hQYXJ0IHtcclxuICAgIGlzTWF0Y2g6IGJvb2xlYW47XHJcbiAgICB0ZXh0OiBzdHJpbmc7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gICAgc2VsZWN0b3I6ICdjb21wbGV0ZXItbGlzdC1pdGVtJyxcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptYXgtbGluZS1sZW5ndGhcclxuICAgIHRlbXBsYXRlOiBgPHNwYW4gY2xhc3M9XCJjb21wbGV0ZXItbGlzdC1pdGVtLWhvbGRlclwiIFtuZ0NsYXNzXT1cInsnY29tcGxldGVyLXRpdGxlJzogdHlwZSA9PT0gJ3RpdGxlJywgJ2NvbXBsZXRlci1kZXNjcmlwdGlvbic6IHR5cGUgPT09ICdkZXNjcmlwdGlvbid9XCIgPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY29tcGxldGVyLWxpc3QtaXRlbVwiICpuZ0Zvcj1cImxldCBwYXJ0IG9mIHBhcnRzXCIgW25nQ2xhc3NdPVwicGFydC5pc01hdGNoID8gbWF0Y2hDbGFzcyA6IG51bGxcIj57e3BhcnQudGV4dH19PC9zcGFuPlxyXG4gICAgICAgIDwvc3Bhbj5gXHJcbn0pXHJcbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtY2xhc3Mtc3VmZml4XHJcbmV4cG9ydCBjbGFzcyBDb21wbGV0ZXJMaXN0SXRlbUNtcCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSBwdWJsaWMgdGV4dDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgcHVibGljIHNlYXJjaFN0cjogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgcHVibGljIG1hdGNoQ2xhc3M6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHB1YmxpYyB0eXBlOiBzdHJpbmc7XHJcblxyXG4gICAgcHVibGljIHBhcnRzOiBNYXRjaFBhcnRbXSA9IFtdO1xyXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgICAgIGlmICghdGhpcy5zZWFyY2hTdHIpIHtcclxuICAgICAgICAgICAgdGhpcy5wYXJ0cy5wdXNoKHsgaXNNYXRjaDogZmFsc2UsIHRleHQ6IHRoaXMudGV4dCB9KTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBtYXRjaFN0ciA9IHRoaXMudGV4dC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgIGxldCBtYXRjaFBvcyA9IG1hdGNoU3RyLmluZGV4T2YodGhpcy5zZWFyY2hTdHIudG9Mb3dlckNhc2UoKSk7XHJcbiAgICAgICAgbGV0IHN0YXJ0SW5kZXggPSAwO1xyXG4gICAgICAgIHdoaWxlIChtYXRjaFBvcyA+PSAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoVGV4dCA9IHRoaXMudGV4dC5zbGljZShtYXRjaFBvcywgbWF0Y2hQb3MgKyB0aGlzLnNlYXJjaFN0ci5sZW5ndGgpO1xyXG4gICAgICAgICAgICBpZiAobWF0Y2hQb3MgPT09IDApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFydHMucHVzaCh7IGlzTWF0Y2g6IHRydWUsIHRleHQ6IG1hdGNoVGV4dCB9KTtcclxuICAgICAgICAgICAgICAgIHN0YXJ0SW5kZXggKz0gdGhpcy5zZWFyY2hTdHIubGVuZ3RoO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKG1hdGNoUG9zID4gMCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hQYXJ0ID0gdGhpcy50ZXh0LnNsaWNlKHN0YXJ0SW5kZXgsIG1hdGNoUG9zKTtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFydHMucHVzaCh7IGlzTWF0Y2g6IGZhbHNlLCB0ZXh0OiBtYXRjaFBhcnQgfSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhcnRzLnB1c2goeyBpc01hdGNoOiB0cnVlLCB0ZXh0OiBtYXRjaFRleHQgfSk7XHJcbiAgICAgICAgICAgICAgICBzdGFydEluZGV4ICs9IHRoaXMuc2VhcmNoU3RyLmxlbmd0aCArIG1hdGNoUGFydC5sZW5ndGg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbWF0Y2hQb3MgPSBtYXRjaFN0ci5pbmRleE9mKHRoaXMuc2VhcmNoU3RyLnRvTG93ZXJDYXNlKCksIHN0YXJ0SW5kZXgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoc3RhcnRJbmRleCA8IHRoaXMudGV4dC5sZW5ndGgpIHtcclxuICAgICAgICAgICAgIHRoaXMucGFydHMucHVzaCh7IGlzTWF0Y2g6IGZhbHNlLCB0ZXh0OiB0aGlzLnRleHQuc2xpY2Uoc3RhcnRJbmRleCwgdGhpcy50ZXh0Lmxlbmd0aCkgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==