UNPKG

@neocomplexx/ngx-neo-completer

Version:

This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.0.5.

63 lines 8.31 kB
'use strict'; import { __decorate, __metadata } from "tslib"; import { Component, Input } from '@angular/core'; var CompleterListItemCmp = /** @class */ (function () { // tslint:disable-next-line:component-class-suffix 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) }); } }; __decorate([ Input(), __metadata("design:type", String) ], CompleterListItemCmp.prototype, "text", void 0); __decorate([ Input(), __metadata("design:type", String) ], CompleterListItemCmp.prototype, "searchStr", void 0); __decorate([ Input(), __metadata("design:type", String) ], CompleterListItemCmp.prototype, "matchClass", void 0); __decorate([ Input(), __metadata("design:type", String) ], CompleterListItemCmp.prototype, "type", void 0); CompleterListItemCmp = __decorate([ Component({ // 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>" }) // tslint:disable-next-line:component-class-suffix ], CompleterListItemCmp); return CompleterListItemCmp; }()); export { CompleterListItemCmp }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGVyLWxpc3QtaXRlbS1jbXAuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmVvY29tcGxleHgvbmd4LW5lby1jb21wbGV0ZXIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9jb21wbGV0ZXItbGlzdC1pdGVtLWNtcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7O0FBQ2IsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFpQmhEO0lBREEsa0RBQWtEO0lBQ2xEO1FBTVcsVUFBSyxHQUFnQixFQUFFLENBQUM7SUEwQm5DLENBQUM7SUF6QlUsdUNBQVEsR0FBZjtRQUNJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDckQsT0FBTztTQUNWO1FBQ0QsSUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6QyxJQUFJLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUM5RCxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7UUFDbkIsT0FBTyxRQUFRLElBQUksQ0FBQyxFQUFFO1lBQ2xCLElBQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5RSxJQUFJLFFBQVEsS0FBSyxDQUFDLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztnQkFDcEQsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO2FBQ3ZDO2lCQUFNLElBQUksUUFBUSxHQUFHLENBQUMsRUFBRTtnQkFDckIsSUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUN4RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7Z0JBQ3JELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztnQkFDcEQsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUM7YUFDMUQ7WUFDRCxRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQ3pFO1FBQ0QsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDN0Y7SUFDTCxDQUFDO0lBOUJRO1FBQVIsS0FBSyxFQUFFOztzREFBcUI7SUFDcEI7UUFBUixLQUFLLEVBQUU7OzJEQUEwQjtJQUN6QjtRQUFSLEtBQUssRUFBRTs7NERBQTJCO0lBQzFCO1FBQVIsS0FBSyxFQUFFOztzREFBcUI7SUFKcEIsb0JBQW9CO1FBVGhDLFNBQVMsQ0FBQztZQUNQLDhDQUE4QztZQUM5QyxRQUFRLEVBQUUscUJBQXFCO1lBQy9CLDJDQUEyQztZQUMzQyxRQUFRLEVBQUUsa1RBRUU7U0FDZixDQUFDO1FBQ0Ysa0RBQWtEO09BQ3JDLG9CQUFvQixDQWdDaEM7SUFBRCwyQkFBQztDQUFBLEFBaENELElBZ0NDO1NBaENZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcbmltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWF0Y2hQYXJ0IHtcbiAgICBpc01hdGNoOiBib29sZWFuO1xuICAgIHRleHQ6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnY29tcGxldGVyLWxpc3QtaXRlbScsXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm1heC1saW5lLWxlbmd0aFxuICAgIHRlbXBsYXRlOiBgPHNwYW4gY2xhc3M9XCJjb21wbGV0ZXItbGlzdC1pdGVtLWhvbGRlclwiIFtuZ0NsYXNzXT1cInsnY29tcGxldGVyLXRpdGxlJzogdHlwZSA9PT0gJ3RpdGxlJywgJ2NvbXBsZXRlci1kZXNjcmlwdGlvbic6IHR5cGUgPT09ICdkZXNjcmlwdGlvbid9XCIgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNvbXBsZXRlci1saXN0LWl0ZW1cIiAqbmdGb3I9XCJsZXQgcGFydCBvZiBwYXJ0c1wiIFtuZ0NsYXNzXT1cInBhcnQuaXNNYXRjaCA/IG1hdGNoQ2xhc3MgOiBudWxsXCI+e3twYXJ0LnRleHR9fTwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPmBcbn0pXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGNsYXNzIENvbXBsZXRlckxpc3RJdGVtQ21wIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBwdWJsaWMgdGV4dDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzZWFyY2hTdHI6IHN0cmluZztcbiAgICBASW5wdXQoKSBwdWJsaWMgbWF0Y2hDbGFzczogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHB1YmxpYyB0eXBlOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgcGFydHM6IE1hdGNoUGFydFtdID0gW107XG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAoIXRoaXMuc2VhcmNoU3RyKSB7XG4gICAgICAgICAgICB0aGlzLnBhcnRzLnB1c2goeyBpc01hdGNoOiBmYWxzZSwgdGV4dDogdGhpcy50ZXh0IH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1hdGNoU3RyID0gdGhpcy50ZXh0LnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGxldCBtYXRjaFBvcyA9IG1hdGNoU3RyLmluZGV4T2YodGhpcy5zZWFyY2hTdHIudG9Mb3dlckNhc2UoKSk7XG4gICAgICAgIGxldCBzdGFydEluZGV4ID0gMDtcbiAgICAgICAgd2hpbGUgKG1hdGNoUG9zID49IDApIHtcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoVGV4dCA9IHRoaXMudGV4dC5zbGljZShtYXRjaFBvcywgbWF0Y2hQb3MgKyB0aGlzLnNlYXJjaFN0ci5sZW5ndGgpO1xuICAgICAgICAgICAgaWYgKG1hdGNoUG9zID09PSAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYXJ0cy5wdXNoKHsgaXNNYXRjaDogdHJ1ZSwgdGV4dDogbWF0Y2hUZXh0IH0pO1xuICAgICAgICAgICAgICAgIHN0YXJ0SW5kZXggKz0gdGhpcy5zZWFyY2hTdHIubGVuZ3RoO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChtYXRjaFBvcyA+IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXRjaFBhcnQgPSB0aGlzLnRleHQuc2xpY2Uoc3RhcnRJbmRleCwgbWF0Y2hQb3MpO1xuICAgICAgICAgICAgICAgIHRoaXMucGFydHMucHVzaCh7IGlzTWF0Y2g6IGZhbHNlLCB0ZXh0OiBtYXRjaFBhcnQgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5wYXJ0cy5wdXNoKHsgaXNNYXRjaDogdHJ1ZSwgdGV4dDogbWF0Y2hUZXh0IH0pO1xuICAgICAgICAgICAgICAgIHN0YXJ0SW5kZXggKz0gdGhpcy5zZWFyY2hTdHIubGVuZ3RoICsgbWF0Y2hQYXJ0Lmxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG1hdGNoUG9zID0gbWF0Y2hTdHIuaW5kZXhPZih0aGlzLnNlYXJjaFN0ci50b0xvd2VyQ2FzZSgpLCBzdGFydEluZGV4KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RhcnRJbmRleCA8IHRoaXMudGV4dC5sZW5ndGgpIHtcbiAgICAgICAgICAgICB0aGlzLnBhcnRzLnB1c2goeyBpc01hdGNoOiBmYWxzZSwgdGV4dDogdGhpcy50ZXh0LnNsaWNlKHN0YXJ0SW5kZXgsIHRoaXMudGV4dC5sZW5ndGgpIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19