UNPKG

@neocomplexx/ngx-neo-completer-mat

Version:
77 lines 9.79 kB
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==