Socket
Socket
Sign inDemoInstall

ng2-completer

Package Overview
Dependencies
Maintainers
1
Versions
52
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ng2-completer - npm Package Compare versions

Comparing version 0.2.1 to 0.2.2

92

bundles/ng2-completer.js

@@ -295,2 +295,3 @@ module.exports =

var core_1 = __webpack_require__(0);
var Observable_1 = __webpack_require__(13);
var completer_base_data_1 = __webpack_require__(2);

@@ -303,8 +304,25 @@ var LocalData = (function (_super) {

LocalData.prototype.data = function (data) {
this._data = data;
var _this = this;
if (data instanceof Observable_1.Observable) {
data.subscribe(function (res) {
_this._data = res;
if (_this.savedTerm) {
_this.search(_this.savedTerm);
}
});
}
else {
this._data = data;
}
return this;
};
LocalData.prototype.search = function (term) {
var matches = this.extractMatches(this._data, term);
this.next(this.processResults(matches, term));
if (!this._data) {
this.savedTerm = term;
}
else {
this.savedTerm = null;
var matches = this.extractMatches(this._data, term);
this.next(this.processResults(matches, term));
}
};

@@ -333,3 +351,3 @@ LocalData = __decorate([

__webpack_require__(24);
__webpack_require__(13);
__webpack_require__(14);
var completer_base_data_1 = __webpack_require__(2);

@@ -781,3 +799,3 @@ var RemoteData = (function (_super) {

var core_1 = __webpack_require__(0);
var Observable_1 = __webpack_require__(22);
var Observable_1 = __webpack_require__(13);
var ctr_completer_1 = __webpack_require__(1);

@@ -841,8 +859,11 @@ var globals_1 = __webpack_require__(11);

}
this.ctx.results = [];
this.ctx.searching = true;
if (!this.ctx.searching) {
this.ctx.results = [];
this.ctx.searching = true;
this.ctx.searchInitialized = true;
this.refreshTemplate();
}
this.searchTimer = setTimeout(function () {
_this.searchTimerComplete(term);
}, this.ctrListPause);
this.refreshTemplate();
}

@@ -1032,6 +1053,12 @@ };

module.exports = require("rxjs/Observable");
/***/ },
/* 14 */
/***/ function(module, exports) {
module.exports = require("rxjs/add/operator/catch");
/***/ },
/* 14 */
/* 15 */
/***/ function(module, exports, __webpack_require__) {

@@ -1053,6 +1080,6 @@

var http_1 = __webpack_require__(6);
var completer_cmp_1 = __webpack_require__(15);
var completer_list_item_cmp_1 = __webpack_require__(16);
var completer_cmp_1 = __webpack_require__(16);
var completer_list_item_cmp_1 = __webpack_require__(17);
var completer_service_1 = __webpack_require__(7);
var completer_data_factory_1 = __webpack_require__(17);
var completer_data_factory_1 = __webpack_require__(18);
var ctr_completer_1 = __webpack_require__(1);

@@ -1063,3 +1090,3 @@ var ctr_dropdown_1 = __webpack_require__(5);

var ctr_row_1 = __webpack_require__(10);
var common_1 = __webpack_require__(21);
var common_1 = __webpack_require__(22);
var Ng2CompleterModule = (function () {

@@ -1107,3 +1134,3 @@ function Ng2CompleterModule() {

/***/ },
/* 15 */
/* 16 */
/***/ function(module, exports, __webpack_require__) {

@@ -1126,3 +1153,3 @@

var globals_1 = __webpack_require__(11);
__webpack_require__(13);
__webpack_require__(14);
var noop = function () { };

@@ -1149,2 +1176,3 @@ var COMPLETER_CONTROL_VALUE_ACCESSOR = {

this.highlighted = new core_1.EventEmitter();
this.blur = new core_1.EventEmitter();
this.displaySearching = true;

@@ -1192,2 +1220,6 @@ this.searchStr = "";

};
CompleterCmp.prototype.onBlur = function () {
this.blur.emit();
this.onTouched();
};
__decorate([

@@ -1258,2 +1290,6 @@ core_1.Input(),

__decorate([
core_1.Output(),
__metadata('design:type', Object)
], CompleterCmp.prototype, "blur", void 0);
__decorate([
core_1.ViewChild(ctr_completer_1.CtrCompleter),

@@ -1265,4 +1301,4 @@ __metadata('design:type', ctr_completer_1.CtrCompleter)

selector: "ng2-completer",
template: __webpack_require__(19),
styles: [__webpack_require__(18)],
template: __webpack_require__(20),
styles: [__webpack_require__(19)],
providers: [COMPLETER_CONTROL_VALUE_ACCESSOR]

@@ -1278,3 +1314,3 @@ }),

/***/ },
/* 16 */
/* 17 */
/***/ function(module, exports, __webpack_require__) {

@@ -1339,3 +1375,3 @@

selector: "completer-list-item",
template: __webpack_require__(20)
template: __webpack_require__(21)
}),

@@ -1350,3 +1386,3 @@ __metadata('design:paramtypes', [])

/***/ },
/* 17 */
/* 18 */
/***/ function(module, exports, __webpack_require__) {

@@ -1376,3 +1412,3 @@

/***/ },
/* 18 */
/* 19 */
/***/ function(module, exports) {

@@ -1383,12 +1419,6 @@

/***/ },
/* 19 */
/***/ function(module, exports) {
module.exports = "<div class=\"completer-holder\" ctrCompleter>\n <input class=\"completer-input\" ctrInput [(ngModel)]=\"searchStr\" [attr.name]=\"inputName\" [placeholder]=\"placeholder\" [attr.maxlength]=\"maxChars\"\n [tabindex]=\"fieldTabindex\" [disabled]=\"disableInput\" [clearSelected]=\"clearSelected\" [overrideSuggested]=\"overrideSuggested\"\n autocomplete=\"off\" autocorrect=\"off\" autocapitalize=\"off\" />\n\n <div class=\"completer-dropdown-holder\" *ctrList=\"dataService; minSearchLength: minSearchLength; pause: pause; autoMatch: autoMatch; let items = results; let searchActive = searching; let isInitialized = searchInitialized;\">\n <div class=\"completer-dropdown\" ctrDropdown *ngIf=\"isInitialized\">\n <div *ngIf=\"searchActive && displaySearching\" class=\"completer-searching\">{{textSearching}}</div>\n <div *ngIf=\"!searchActive && (!items || items.length === 0)\" class=\"completer-no-results\">{{textNoResults}}</div>\n <div class=\"completer-row-wrapper\" *ngFor=\"let item of items; let rowIndex=index\">\n <div class=\"completer-row\" [ctrRow]=\"rowIndex\" [dataItem]=\"item\">\n <div *ngIf=\"item.image || item.image === ''\" class=\"completer-image-holder\">\n <img *ngIf=\"item.image != ''\" src=\"{{item.image}}\" class=\"completer-image\" />\n <div *ngIf=\"item.image === ''\" class=\"completer-image-default\"></div>\n </div>\n <div class=\"completer-item-text\" [ngClass]=\"{'completer-item-text-image': item.image || item.image === '' }\">\n <completer-list-item class=\"completer-title\" [text]=\"item.title\" [matchClass]=\"matchClass\" [searchStr]=\"searchStr\" [type]=\"'title'\"></completer-list-item>\n <completer-list-item *ngIf=\"item.description && item.description != ''\" class=\"completer-description\" [text]=\"item.description\"\n [matchClass]=\"matchClass\" [searchStr]=\"searchStr\" [type]=\"'description'\">\n </completer-list-item>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>"
/***/ },
/* 20 */
/***/ function(module, exports) {
module.exports = "<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>"
module.exports = "<div class=\"completer-holder\" ctrCompleter>\n <input class=\"completer-input\" ctrInput [(ngModel)]=\"searchStr\" [attr.name]=\"inputName\" [placeholder]=\"placeholder\" [attr.maxlength]=\"maxChars\"\n [tabindex]=\"fieldTabindex\" [disabled]=\"disableInput\" [clearSelected]=\"clearSelected\" [overrideSuggested]=\"overrideSuggested\" (blur)=\"onBlur()\"\n autocomplete=\"off\" autocorrect=\"off\" autocapitalize=\"off\" />\n\n <div class=\"completer-dropdown-holder\" *ctrList=\"dataService; minSearchLength: minSearchLength; pause: pause; autoMatch: autoMatch; let items = results; let searchActive = searching; let isInitialized = searchInitialized;\">\n <div class=\"completer-dropdown\" ctrDropdown *ngIf=\"isInitialized\">\n <div *ngIf=\"searchActive && displaySearching\" class=\"completer-searching\">{{textSearching}}</div>\n <div *ngIf=\"!searchActive && (!items || items.length === 0)\" class=\"completer-no-results\">{{textNoResults}}</div>\n <div class=\"completer-row-wrapper\" *ngFor=\"let item of items; let rowIndex=index\">\n <div class=\"completer-row\" [ctrRow]=\"rowIndex\" [dataItem]=\"item\">\n <div *ngIf=\"item.image || item.image === ''\" class=\"completer-image-holder\">\n <img *ngIf=\"item.image != ''\" src=\"{{item.image}}\" class=\"completer-image\" />\n <div *ngIf=\"item.image === ''\" class=\"completer-image-default\"></div>\n </div>\n <div class=\"completer-item-text\" [ngClass]=\"{'completer-item-text-image': item.image || item.image === '' }\">\n <completer-list-item class=\"completer-title\" [text]=\"item.title\" [matchClass]=\"matchClass\" [searchStr]=\"searchStr\" [type]=\"'title'\"></completer-list-item>\n <completer-list-item *ngIf=\"item.description && item.description != ''\" class=\"completer-description\" [text]=\"item.description\"\n [matchClass]=\"matchClass\" [searchStr]=\"searchStr\" [type]=\"'description'\">\n </completer-list-item>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>"

@@ -1399,3 +1429,3 @@ /***/ },

module.exports = require("@angular/common");
module.exports = "<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>"

@@ -1406,3 +1436,3 @@ /***/ },

module.exports = require("rxjs/Observable");
module.exports = require("@angular/common");

@@ -1427,3 +1457,3 @@ /***/ },

"use strict";
var ng2_completer_module_1 = __webpack_require__(14);
var ng2_completer_module_1 = __webpack_require__(15);
exports.Ng2CompleterModule = ng2_completer_module_1.Ng2CompleterModule;

@@ -1430,0 +1460,0 @@ var completer_service_1 = __webpack_require__(7);

@@ -1,2 +0,2 @@

module.exports=function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}var installedModules={};return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.i=function(value){return value},__webpack_require__.d=function(exports,name,getter){Object.defineProperty(exports,name,{configurable:!1,enumerable:!0,get:getter})},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function(){return module.default}:function(){return module};return __webpack_require__.d(getter,"a",getter),getter},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=25)}([function(module,exports){module.exports=require("@angular/core")},function(module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__metadata=this&&this.__metadata||function(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)},core_1=__webpack_require__(0),CtrCompleter=function(){function CtrCompleter(){this.selected=new core_1.EventEmitter,this.highlighted=new core_1.EventEmitter}return CtrCompleter.prototype.ngOnInit=function(){},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)},CtrCompleter.prototype.onSelected=function(item){this.selected.emit(item),this.clear()},CtrCompleter.prototype.search=function(term){this.list&&this.list.search(term)},CtrCompleter.prototype.clear=function(){this.dropdown&&this.dropdown.clear(),this.list&&this.list.clear()},CtrCompleter.prototype.selectCurrent=function(){this.dropdown&&this.dropdown.selectCurrent()},CtrCompleter.prototype.nextRow=function(){this.dropdown&&this.dropdown.nextRow()},CtrCompleter.prototype.prevRow=function(){this.dropdown&&this.dropdown.prevRow()},__decorate([core_1.Output(),__metadata("design:type",Object)],CtrCompleter.prototype,"selected",void 0),__decorate([core_1.Output(),__metadata("design:type",Object)],CtrCompleter.prototype,"highlighted",void 0),CtrCompleter=__decorate([core_1.Directive({selector:"[ctrCompleter]"}),__metadata("design:paramtypes",[])],CtrCompleter)}();exports.CtrCompleter=CtrCompleter},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subject_1=__webpack_require__(23),CompleterBaseData=function(_super){function CompleterBaseData(){_super.call(this)}return __extends(CompleterBaseData,_super),CompleterBaseData.prototype.cancel=function(){},CompleterBaseData.prototype.searchFieldss=function(searchFields){return this._searchFields=searchFields,this},CompleterBaseData.prototype.titleField=function(titleField){return this._titleField=titleField,this},CompleterBaseData.prototype.descriptionField=function(descriptionField){return this._descriptionField=descriptionField,this},CompleterBaseData.prototype.imageField=function(imageField){return this._imageField=imageField,this},CompleterBaseData.prototype.extractMatches=function(data,term){var matches=[];if(this._searchFields&&""!=this._searchFields)for(var searchFields=this._searchFields.split(","),i=0;i<data.length;i++){for(var match=!1,s=0;s<searchFields.length;s++){var value=this.extractValue(data[i],searchFields[s])||"";match=match||value.toString().toLowerCase().indexOf(term.toString().toLowerCase())>=0}match&&(matches[matches.length]=data[i])}else matches=data;return matches},CompleterBaseData.prototype.extractTitle=function(item){var _this=this;return this._titleField.split(",").map(function(field){return _this.extractValue(item,field)}).join(" ")},CompleterBaseData.prototype.extractValue=function(obj,key){var keys,result;if(key){keys=key.split("."),result=obj;for(var i=0;i<keys.length;i++)result&&(result=result[keys[i]])}else result=obj;return result},CompleterBaseData.prototype.processResults=function(matches,term){var i,description,image,text,formattedText,formattedDesc,results=[];if(matches&&matches.length>0)for(i=0;i<matches.length;i++)this.titleField&&""!==this._titleField&&(text=formattedText=this.extractTitle(matches[i])),description="",this._descriptionField&&(description=formattedDesc=this.extractValue(matches[i],this._descriptionField)),image=null,this._imageField&&(image=this.extractValue(matches[i],this._imageField)),results.push({title:formattedText,description:formattedDesc,image:image,originalObject:matches[i]});return results},CompleterBaseData}(Subject_1.Subject);exports.CompleterBaseData=CompleterBaseData},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},__decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__metadata=this&&this.__metadata||function(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)},core_1=__webpack_require__(0),completer_base_data_1=__webpack_require__(2),LocalData=function(_super){function LocalData(){_super.call(this)}return __extends(LocalData,_super),LocalData.prototype.data=function(data){return this._data=data,this},LocalData.prototype.search=function(term){var matches=this.extractMatches(this._data,term);this.next(this.processResults(matches,term))},LocalData=__decorate([core_1.Injectable(),__metadata("design:paramtypes",[])],LocalData)}(completer_base_data_1.CompleterBaseData);exports.LocalData=LocalData},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},http_1=__webpack_require__(6);__webpack_require__(24),__webpack_require__(13);var completer_base_data_1=__webpack_require__(2),RemoteData=function(_super){function RemoteData(http){_super.call(this),this.http=http,this._urlFormater=null,this._dataField=null}return __extends(RemoteData,_super),RemoteData.prototype.remoteUrl=function(remoteUrl){return this._remoteUrl=remoteUrl,this},RemoteData.prototype.urlFormater=function(urlFormater){this._urlFormater=urlFormater},RemoteData.prototype.dataField=function(dataField){this._dataField=dataField},RemoteData.prototype.headers=function(headers){this._headers=headers},RemoteData.prototype.search=function(term){var _this=this;this.cancel();var url="";url=this._urlFormater?this._urlFormater(term):this._remoteUrl+encodeURIComponent(term),this.remoteSearch=this.http.get(url,{headers:this._headers||new http_1.Headers}).map(function(res){return res.json()}).map(function(data){var matchaes=_this.extractValue(data,_this._dataField);return _this.extractMatches(matchaes,term)}).map(function(matches){var results=_this.processResults(matches,term);return _this.next(results),results}).catch(function(err){return _this.error(err),null}).subscribe()},RemoteData.prototype.cancel=function(){this.remoteSearch&&this.remoteSearch.unsubscribe()},RemoteData}(completer_base_data_1.CompleterBaseData);exports.RemoteData=RemoteData},function(module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__metadata=this&&this.__metadata||function(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}},core_1=__webpack_require__(0),ctr_completer_1=__webpack_require__(1),CtrRowItem=function(){function CtrRowItem(row,index){this.row=row,this.index=index}return CtrRowItem}();exports.CtrRowItem=CtrRowItem;var CtrDropdown=function(){function CtrDropdown(completer,el){this.completer=completer,this.el=el,this.rows=[],this.completer.registerDropdown(this)}return CtrDropdown.prototype.ngOnInit=function(){var css=getComputedStyle(this.el.nativeElement);this.isScrollOn=css.maxHeight&&"auto"===css.overflowY},CtrDropdown.prototype.ngOnDestroy=function(){this.completer.registerDropdown(null)},CtrDropdown.prototype.registerRow=function(row){this.rows.push(row)},CtrDropdown.prototype.highlightRow=function(index){var highlited=this.rows.find(function(row){return row.index===index});return index<0?(this.currHighlited&&this.currHighlited.row.setHighlited(!1),void(this.currHighlited=void 0)):void(highlited&&(this.currHighlited&&this.currHighlited.row.setHighlited(!1),this.currHighlited=highlited,this.currHighlited.row.setHighlited(!0),this.completer.onHighlighted(this.currHighlited.row.getDataItem())))},CtrDropdown.prototype.clear=function(){this.rows=[]},CtrDropdown.prototype.onSelected=function(item){this.completer.onSelected(item)},CtrDropdown.prototype.selectCurrent=function(){this.currHighlited?this.onSelected(this.currHighlited.row.getDataItem()):this.rows.length>0&&this.onSelected(this.rows[0].row.getDataItem())},CtrDropdown.prototype.nextRow=function(){var nextRowIndex=0;if(this.currHighlited&&(nextRowIndex=this.currHighlited.index+1),this.highlightRow(nextRowIndex),this.isScrollOn&&this.currHighlited){var row=this.currHighlited.row.getNativeElement();this.dropdownHeight()<row.getBoundingClientRect().bottom&&this.dropdownScrollTopTo(this.dropdownRowOffsetHeight(row))}},CtrDropdown.prototype.prevRow=function(){var nextRowIndex=-1;if(this.currHighlited&&(nextRowIndex=this.currHighlited.index-1),this.highlightRow(nextRowIndex),this.isScrollOn&&this.currHighlited){var rowTop=this.dropdownRowTop();rowTop<0&&this.dropdownScrollTopTo(rowTop-1)}},CtrDropdown.prototype.dropdownScrollTopTo=function(offset){this.el.nativeElement.scrollTop=this.el.nativeElement.scrollTop+offset},CtrDropdown.prototype.dropdownRowTop=function(){return this.currHighlited.row.getNativeElement().getBoundingClientRect().top-(this.el.nativeElement.getBoundingClientRect().top+parseInt(getComputedStyle(this.el.nativeElement).paddingTop,10))},CtrDropdown.prototype.dropdownHeight=function(){return this.el.nativeElement.getBoundingClientRect().top+parseInt(getComputedStyle(this.el.nativeElement).maxHeight,10)},CtrDropdown.prototype.dropdownRowOffsetHeight=function(row){var css=getComputedStyle(row);return row.offsetHeight+parseInt(css.marginTop,10)+parseInt(css.marginBottom,10)},CtrDropdown=__decorate([core_1.Directive({selector:"[ctrDropdown]"}),__param(0,core_1.Host()),__metadata("design:paramtypes",[ctr_completer_1.CtrCompleter,core_1.ElementRef])],CtrDropdown)}();exports.CtrDropdown=CtrDropdown},function(module,exports){module.exports=require("@angular/http")},function(module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__metadata=this&&this.__metadata||function(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}},core_1=__webpack_require__(0),local_data_1=__webpack_require__(3),remote_data_1=__webpack_require__(4),CompleterService=function(){function CompleterService(localDataFactory,remoteDataFactory){this.localDataFactory=localDataFactory,this.remoteDataFactory=remoteDataFactory}return CompleterService.prototype.local=function(data,searchFields,titleField){var localData=this.localDataFactory();return localData.data(data).searchFieldss(searchFields).titleField(titleField)},CompleterService.prototype.remote=function(url,searchFields,titleField){var remoteData=this.remoteDataFactory();return remoteData.remoteUrl(url).searchFieldss(searchFields).titleField(titleField)},CompleterService=__decorate([core_1.Injectable(),__param(0,core_1.Inject(local_data_1.LocalData)),__param(1,core_1.Inject(remote_data_1.RemoteData)),__metadata("design:paramtypes",[Object,Object])],CompleterService)}();exports.CompleterService=CompleterService},function(module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__metadata=this&&this.__metadata||function(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}},core_1=__webpack_require__(0),ctr_completer_1=__webpack_require__(1),KEY_DW=40,KEY_RT=39,KEY_UP=38,KEY_LF=37,KEY_ES=27,KEY_EN=13,KEY_TAB=9,CtrInput=function(){function CtrInput(completer){var _this=this;this.completer=completer,this.clearSelected=!1,this.overrideSuggested=!1,this.ngModelChange=new core_1.EventEmitter,this._searchStr="",this._displayStr="",this.completer.selected.subscribe(function(item){_this.clearSelected?_this.searchStr="":_this.searchStr=item.title,_this.ngModelChange.emit(_this.searchStr)}),this.completer.highlighted.subscribe(function(item){_this._displayStr=item.title,_this.ngModelChange.emit(item.title)})}return CtrInput.prototype.onInputChange=function(event){this.searchStr=event.target.value},CtrInput.prototype.keyupHandler=function(event){if(event.keyCode!==KEY_LF&&event.keyCode!==KEY_RT&&event.keyCode!==KEY_TAB)if(event.keyCode===KEY_UP||event.keyCode===KEY_EN)event.preventDefault();else if(event.keyCode===KEY_DW)event.preventDefault(),this.completer.search(this.searchStr);else if(event.keyCode===KEY_ES)this._searchStr=this._displayStr,this.completer.clear();else{if(!this.searchStr)return void this.completer.clear();this.completer.search(this.searchStr)}},CtrInput.prototype.keydownHandler=function(event){event.keyCode===KEY_EN?this.completer.selectCurrent():event.keyCode===KEY_DW?(event.preventDefault(),this.completer.nextRow()):event.keyCode===KEY_UP?(event.preventDefault(),this.completer.prevRow()):event.keyCode===KEY_TAB?this.overrideSuggested?this.completer.onSelected({title:this.searchStr,originalObject:null}):this.completer.selectCurrent():event.keyCode===KEY_ES&&event.preventDefault()},CtrInput.prototype.onBlur=function(event){var _this=this;this.overrideSuggested?this.completer.onSelected({title:this.searchStr,originalObject:null}):setTimeout(function(){_this.completer.clear()},200)},Object.defineProperty(CtrInput.prototype,"searchStr",{get:function(){return this._searchStr},set:function(term){this._searchStr=term,this._displayStr=term},enumerable:!0,configurable:!0}),__decorate([core_1.Input("clearSelected"),__metadata("design:type",Object)],CtrInput.prototype,"clearSelected",void 0),__decorate([core_1.Input("overrideSuggested"),__metadata("design:type",Object)],CtrInput.prototype,"overrideSuggested",void 0),__decorate([core_1.Output(),__metadata("design:type",core_1.EventEmitter)],CtrInput.prototype,"ngModelChange",void 0),__decorate([core_1.HostListener("input",["$event"]),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],CtrInput.prototype,"onInputChange",null),__decorate([core_1.HostListener("keyup",["$event"]),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],CtrInput.prototype,"keyupHandler",null),__decorate([core_1.HostListener("keydown",["$event"]),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],CtrInput.prototype,"keydownHandler",null),__decorate([core_1.HostListener("blur",["$event"]),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],CtrInput.prototype,"onBlur",null),CtrInput=__decorate([core_1.Directive({selector:"[ctrInput]"}),__param(0,core_1.Host()),__metadata("design:paramtypes",[ctr_completer_1.CtrCompleter])],CtrInput)}();exports.CtrInput=CtrInput},function(module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__metadata=this&&this.__metadata||function(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}},core_1=__webpack_require__(0),Observable_1=__webpack_require__(22),ctr_completer_1=__webpack_require__(1),globals_1=__webpack_require__(11),CtrListContext=function(){function CtrListContext(results,searching,searchInitialized){this.results=results,this.searching=searching,this.searchInitialized=searchInitialized}return CtrListContext}();exports.CtrListContext=CtrListContext;var CtrList=function(){function CtrList(completer,templateRef,viewContainer){this.completer=completer,this.templateRef=templateRef,this.viewContainer=viewContainer,this.ctrListMinSearchLength=globals_1.MIN_SEARCH_LENGTH,this.ctrListPause=globals_1.PAUSE,this.ctrListAutoMatch=!1,this.term=null,this.searchTimer=null,this.ctx=new CtrListContext([],!1,!1)}return CtrList.prototype.ngOnInit=function(){this.completer.registerList(this),this.viewContainer.createEmbeddedView(this.templateRef,new CtrListContext([],!1,!1))},Object.defineProperty(CtrList.prototype,"dataService",{set:function(newService){var _this=this;this._dataService=newService,this._dataService&&this._dataService.catch(function(err){return _this.handleError(err)}).subscribe(function(results){_this.ctx.searchInitialized=!0,_this.ctx.searching=!1,_this.ctx.results=results,_this.ctrListAutoMatch&&1===results.length&&results[0].title.toLocaleLowerCase()===_this.term.toLocaleLowerCase()&&_this.completer.onSelected(results[0]),_this.refreshTemplate()})},enumerable:!0,configurable:!0}),CtrList.prototype.search=function(term){var _this=this;term&&term.length>=this.ctrListMinSearchLength&&this.term!==term&&(this.searchTimer&&clearTimeout(this.searchTimer),this.ctx.results=[],this.ctx.searching=!0,this.searchTimer=setTimeout(function(){_this.searchTimerComplete(term)},this.ctrListPause),this.refreshTemplate())},CtrList.prototype.clear=function(){this.searchTimer&&clearTimeout(this.searchTimer),this.dataService&&this.dataService.cancel(),this.ctx.results=[],this.ctx.searchInitialized=!1,this.term=null,this.viewContainer.clear()},CtrList.prototype.searchTimerComplete=function(term){return!term||term.length<this.ctrListMinSearchLength?void(this.ctx.searching=!1):(this.term=term,void this._dataService.search(term))},CtrList.prototype.handleError=function(error){this.ctx.searching=!1;var errMsg=error.message?error.message:error.status?error.status+" - "+error.statusText:"Server error";return console&&console.error&&console.error(errMsg),this.refreshTemplate(),Observable_1.Observable.throw(errMsg)},CtrList.prototype.refreshTemplate=function(){this.viewContainer.clear(),this.viewContainer.createEmbeddedView(this.templateRef,this.ctx)},__decorate([core_1.Input(),__metadata("design:type",Object)],CtrList.prototype,"ctrListMinSearchLength",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CtrList.prototype,"ctrListPause",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CtrList.prototype,"ctrListAutoMatch",void 0),__decorate([core_1.Input("ctrList"),__metadata("design:type",Object),__metadata("design:paramtypes",[Object])],CtrList.prototype,"dataService",null),CtrList=__decorate([core_1.Directive({selector:"[ctrList]"}),__param(0,core_1.Host()),__metadata("design:paramtypes",[ctr_completer_1.CtrCompleter,core_1.TemplateRef,core_1.ViewContainerRef])],CtrList)}();exports.CtrList=CtrList},function(module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__metadata=this&&this.__metadata||function(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}},core_1=__webpack_require__(0),ctr_dropdown_1=__webpack_require__(5),CtrRow=function(){function CtrRow(el,renderer,dropdown){this.el=el,this.renderer=renderer,this.dropdown=dropdown,this.selected=!1}return CtrRow.prototype.ngOnInit=function(){this.dropdown.registerRow(new ctr_dropdown_1.CtrRowItem(this,this._rowIndex))},Object.defineProperty(CtrRow.prototype,"ctrRow",{set:function(index){this._rowIndex=index},enumerable:!0,configurable:!0}),Object.defineProperty(CtrRow.prototype,"dataItem",{set:function(item){this._item=item},enumerable:!0,configurable:!0}),CtrRow.prototype.onClick=function(event){this.dropdown.onSelected(this._item)},CtrRow.prototype.onMouseEnter=function(event){this.dropdown.highlightRow(this._rowIndex)},CtrRow.prototype.setHighlited=function(selected){this.selected=selected,this.renderer.setElementClass(this.el.nativeElement,"completer-selected-row",this.selected)},CtrRow.prototype.getNativeElement=function(){return this.el.nativeElement},CtrRow.prototype.getDataItem=function(){return this._item},__decorate([core_1.Input(),__metadata("design:type",Number),__metadata("design:paramtypes",[Number])],CtrRow.prototype,"ctrRow",null),__decorate([core_1.Input(),__metadata("design:type",Object),__metadata("design:paramtypes",[Object])],CtrRow.prototype,"dataItem",null),__decorate([core_1.HostListener("click",["$event"]),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],CtrRow.prototype,"onClick",null),__decorate([core_1.HostListener("mouseenter",["$event"]),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],CtrRow.prototype,"onMouseEnter",null),CtrRow=__decorate([core_1.Directive({selector:"[ctrRow]"}),__param(2,core_1.Host()),__metadata("design:paramtypes",[core_1.ElementRef,core_1.Renderer,ctr_dropdown_1.CtrDropdown])],CtrRow)}();exports.CtrRow=CtrRow},function(module,exports){"use strict";exports.MAX_CHARS=524288,exports.MIN_SEARCH_LENGTH=3,exports.PAUSE=250,exports.TEXT_SEARCHING="Searching...",exports.TEXT_NORESULTS="No results found"},function(module,exports){module.exports=require("@angular/forms")},function(module,exports){module.exports=require("rxjs/add/operator/catch")},function(module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__metadata=this&&this.__metadata||function(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)},core_1=__webpack_require__(0),forms_1=__webpack_require__(12),http_1=__webpack_require__(6),completer_cmp_1=__webpack_require__(15),completer_list_item_cmp_1=__webpack_require__(16),completer_service_1=__webpack_require__(7),completer_data_factory_1=__webpack_require__(17),ctr_completer_1=__webpack_require__(1),ctr_dropdown_1=__webpack_require__(5),ctr_input_1=__webpack_require__(8),ctr_list_1=__webpack_require__(9),ctr_row_1=__webpack_require__(10),common_1=__webpack_require__(21),Ng2CompleterModule=function(){function Ng2CompleterModule(){}return Ng2CompleterModule=__decorate([core_1.NgModule({imports:[common_1.CommonModule,forms_1.FormsModule,http_1.HttpModule],declarations:[completer_list_item_cmp_1.CompleterListItemCmp,ctr_completer_1.CtrCompleter,ctr_dropdown_1.CtrDropdown,ctr_input_1.CtrInput,ctr_list_1.CtrList,ctr_row_1.CtrRow,completer_cmp_1.CompleterCmp],exports:[completer_cmp_1.CompleterCmp,completer_list_item_cmp_1.CompleterListItemCmp,ctr_completer_1.CtrCompleter,ctr_dropdown_1.CtrDropdown,ctr_input_1.CtrInput,ctr_list_1.CtrList,ctr_row_1.CtrRow],providers:[completer_service_1.CompleterService,completer_data_factory_1.LocalDataFactoryProvider,completer_data_factory_1.RemoteDataFactoryProvider]}),__metadata("design:paramtypes",[])],Ng2CompleterModule)}();exports.Ng2CompleterModule=Ng2CompleterModule},function(module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__metadata=this&&this.__metadata||function(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)},core_1=__webpack_require__(0),forms_1=__webpack_require__(12),ctr_completer_1=__webpack_require__(1),globals_1=__webpack_require__(11);__webpack_require__(13);var noop=function(){},COMPLETER_CONTROL_VALUE_ACCESSOR={provide:forms_1.NG_VALUE_ACCESSOR,useExisting:core_1.forwardRef(function(){return CompleterCmp}),multi:!0},CompleterCmp=function(){function CompleterCmp(){this.inputName="",this.pause=globals_1.PAUSE,this.minSearchLength=globals_1.MIN_SEARCH_LENGTH,this.maxChars=globals_1.MAX_CHARS,this.overrideSuggested=!1,this.clearSelected=!1,this.placeholder="",this.textSearching=globals_1.TEXT_SEARCHING,this.textNoResults=globals_1.TEXT_NORESULTS,this.autoMatch=!1,this.disableInput=!1,this.selected=new core_1.EventEmitter,this.highlighted=new core_1.EventEmitter,this.displaySearching=!0,this.searchStr="",this._onTouchedCallback=noop,this._onChangeCallback=noop}return Object.defineProperty(CompleterCmp.prototype,"value",{get:function(){return this.searchStr},set:function(v){v!==this.searchStr&&(this.searchStr=v,this._onChangeCallback(v))},enumerable:!0,configurable:!0}),CompleterCmp.prototype.onTouched=function(){this._onTouchedCallback()},CompleterCmp.prototype.writeValue=function(value){this.searchStr=value},CompleterCmp.prototype.registerOnChange=function(fn){this._onChangeCallback=fn},CompleterCmp.prototype.registerOnTouched=function(fn){this._onTouchedCallback=fn},CompleterCmp.prototype.ngOnInit=function(){var _this=this;this.completer.selected.subscribe(function(item){_this.selected.emit(item),_this._onChangeCallback(item.title)}),this.completer.highlighted.subscribe(function(item){_this.highlighted.emit(item)}),"false"===this.textSearching&&(this.displaySearching=!1)},__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"dataService",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"inputName",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"pause",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"minSearchLength",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"maxChars",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"overrideSuggested",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"clearSelected",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"placeholder",void 0),__decorate([core_1.Input(),__metadata("design:type",String)],CompleterCmp.prototype,"matchClass",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"textSearching",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"textNoResults",void 0),__decorate([core_1.Input(),__metadata("design:type",Number)],CompleterCmp.prototype,"fieldTabindex",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"autoMatch",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"disableInput",void 0),__decorate([core_1.Output(),__metadata("design:type",Object)],CompleterCmp.prototype,"selected",void 0),__decorate([core_1.Output(),__metadata("design:type",Object)],CompleterCmp.prototype,"highlighted",void 0),__decorate([core_1.ViewChild(ctr_completer_1.CtrCompleter),__metadata("design:type",ctr_completer_1.CtrCompleter)],CompleterCmp.prototype,"completer",void 0),CompleterCmp=__decorate([core_1.Component({selector:"ng2-completer",template:__webpack_require__(19),styles:[__webpack_require__(18)],providers:[COMPLETER_CONTROL_VALUE_ACCESSOR]}),__metadata("design:paramtypes",[])],CompleterCmp)}();exports.CompleterCmp=CompleterCmp},function(module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){
var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__metadata=this&&this.__metadata||function(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)},core_1=__webpack_require__(0),CompleterListItemCmp=function(){function CompleterListItemCmp(){this.parts=[]}return CompleterListItemCmp.prototype.ngOnInit=function(){for(var matchStr=this.text.toLowerCase(),matchPos=matchStr.indexOf(this.searchStr.toLowerCase()),startIndex=0;matchPos>=0;){var matchText=this.text.slice(matchPos,matchPos+this.searchStr.length);if(0===matchPos)this.parts.push({isMatch:!0,text:matchText}),startIndex+=this.searchStr.length;else if(matchPos>0){var matchPart=this.text.slice(startIndex,matchPos);this.parts.push({isMatch:!1,text:matchPart}),this.parts.push({isMatch:!0,text:matchText}),startIndex+=this.searchStr.length+matchPart.length}matchPos=matchStr.indexOf(this.searchStr.toLowerCase(),startIndex)}startIndex<this.text.length&&this.parts.push({isMatch:!1,text:this.text.slice(startIndex,this.text.length)})},__decorate([core_1.Input(),__metadata("design:type",String)],CompleterListItemCmp.prototype,"text",void 0),__decorate([core_1.Input(),__metadata("design:type",String)],CompleterListItemCmp.prototype,"searchStr",void 0),__decorate([core_1.Input(),__metadata("design:type",String)],CompleterListItemCmp.prototype,"matchClass",void 0),__decorate([core_1.Input(),__metadata("design:type",String)],CompleterListItemCmp.prototype,"type",void 0),CompleterListItemCmp=__decorate([core_1.Component({selector:"completer-list-item",template:__webpack_require__(20)}),__metadata("design:paramtypes",[])],CompleterListItemCmp)}();exports.CompleterListItemCmp=CompleterListItemCmp},function(module,exports,__webpack_require__){"use strict";function localDataFactory(){return function(){return new local_data_1.LocalData}}function remoteDataFactory(http){return function(){return new remote_data_1.RemoteData(http)}}var http_1=__webpack_require__(6),local_data_1=__webpack_require__(3),remote_data_1=__webpack_require__(4);exports.localDataFactory=localDataFactory,exports.remoteDataFactory=remoteDataFactory,exports.LocalDataFactoryProvider={provide:local_data_1.LocalData,useFactory:localDataFactory},exports.RemoteDataFactoryProvider={provide:remote_data_1.RemoteData,useFactory:remoteDataFactory,deps:[http_1.Http]}},function(module,exports){module.exports='.completer-dropdown {\n border-color: #ececec;\n border-width: 1px;\n border-style: solid;\n border-radius: 2px;\n width: 250px;\n padding: 6px;\n cursor: pointer;\n z-index: 9999;\n position: absolute;\n margin-top: -6px;\n background-color: #ffffff;\n}\n\n.completer-row {\n padding: 5px;\n color: #000000;\n margin-bottom: 4px;\n clear: both;\n display: inline-block;\n width: 103%;\n}\n\n.completer-selected-row {\n background-color: lightblue;\n color: #ffffff;\n}\n\n.completer-description {\n font-size: 14px;\n}\n\n.completer-image-default {\n width: 16px; \n height: 16px;\n background-image: url("demo/res/img/default.png");\n}\n\n.completer-image-holder {\n float: left;\n width: 10%;\n}\n.completer-item-text-image {\n float: right;\n width: 90%;\n}'},function(module,exports){module.exports='<div class="completer-holder" ctrCompleter>\n <input class="completer-input" ctrInput [(ngModel)]="searchStr" [attr.name]="inputName" [placeholder]="placeholder" [attr.maxlength]="maxChars"\n [tabindex]="fieldTabindex" [disabled]="disableInput" [clearSelected]="clearSelected" [overrideSuggested]="overrideSuggested"\n autocomplete="off" autocorrect="off" autocapitalize="off" />\n\n <div class="completer-dropdown-holder" *ctrList="dataService; minSearchLength: minSearchLength; pause: pause; autoMatch: autoMatch; let items = results; let searchActive = searching; let isInitialized = searchInitialized;">\n <div class="completer-dropdown" ctrDropdown *ngIf="isInitialized">\n <div *ngIf="searchActive && displaySearching" class="completer-searching">{{textSearching}}</div>\n <div *ngIf="!searchActive && (!items || items.length === 0)" class="completer-no-results">{{textNoResults}}</div>\n <div class="completer-row-wrapper" *ngFor="let item of items; let rowIndex=index">\n <div class="completer-row" [ctrRow]="rowIndex" [dataItem]="item">\n <div *ngIf="item.image || item.image === \'\'" class="completer-image-holder">\n <img *ngIf="item.image != \'\'" src="{{item.image}}" class="completer-image" />\n <div *ngIf="item.image === \'\'" class="completer-image-default"></div>\n </div>\n <div class="completer-item-text" [ngClass]="{\'completer-item-text-image\': item.image || item.image === \'\' }">\n <completer-list-item class="completer-title" [text]="item.title" [matchClass]="matchClass" [searchStr]="searchStr" [type]="\'title\'"></completer-list-item>\n <completer-list-item *ngIf="item.description && item.description != \'\'" class="completer-description" [text]="item.description"\n [matchClass]="matchClass" [searchStr]="searchStr" [type]="\'description\'">\n </completer-list-item>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>'},function(module,exports){module.exports='<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>'},function(module,exports){module.exports=require("@angular/common")},function(module,exports){module.exports=require("rxjs/Observable")},function(module,exports){module.exports=require("rxjs/Subject")},function(module,exports){module.exports=require("rxjs/add/operator/map")},function(module,exports,__webpack_require__){"use strict";var ng2_completer_module_1=__webpack_require__(14);exports.Ng2CompleterModule=ng2_completer_module_1.Ng2CompleterModule;var completer_service_1=__webpack_require__(7);exports.CompleterService=completer_service_1.CompleterService;var local_data_1=__webpack_require__(3);exports.LocalData=local_data_1.LocalData;var remote_data_1=__webpack_require__(4);exports.RemoteData=remote_data_1.RemoteData;var completer_base_data_1=__webpack_require__(2);exports.CompleterBaseData=completer_base_data_1.CompleterBaseData;var ctr_completer_1=__webpack_require__(1);exports.CtrCompleter=ctr_completer_1.CtrCompleter;var ctr_dropdown_1=__webpack_require__(5);exports.CtrDropdown=ctr_dropdown_1.CtrDropdown;var ctr_input_1=__webpack_require__(8);exports.CtrInput=ctr_input_1.CtrInput;var ctr_list_1=__webpack_require__(9);exports.CtrList=ctr_list_1.CtrList;var ctr_row_1=__webpack_require__(10);exports.CtrRow=ctr_row_1.CtrRow}]);
module.exports=function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}var installedModules={};return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.i=function(value){return value},__webpack_require__.d=function(exports,name,getter){Object.defineProperty(exports,name,{configurable:!1,enumerable:!0,get:getter})},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function(){return module.default}:function(){return module};return __webpack_require__.d(getter,"a",getter),getter},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=25)}([function(module,exports){module.exports=require("@angular/core")},function(module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__metadata=this&&this.__metadata||function(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)},core_1=__webpack_require__(0),CtrCompleter=function(){function CtrCompleter(){this.selected=new core_1.EventEmitter,this.highlighted=new core_1.EventEmitter}return CtrCompleter.prototype.ngOnInit=function(){},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)},CtrCompleter.prototype.onSelected=function(item){this.selected.emit(item),this.clear()},CtrCompleter.prototype.search=function(term){this.list&&this.list.search(term)},CtrCompleter.prototype.clear=function(){this.dropdown&&this.dropdown.clear(),this.list&&this.list.clear()},CtrCompleter.prototype.selectCurrent=function(){this.dropdown&&this.dropdown.selectCurrent()},CtrCompleter.prototype.nextRow=function(){this.dropdown&&this.dropdown.nextRow()},CtrCompleter.prototype.prevRow=function(){this.dropdown&&this.dropdown.prevRow()},__decorate([core_1.Output(),__metadata("design:type",Object)],CtrCompleter.prototype,"selected",void 0),__decorate([core_1.Output(),__metadata("design:type",Object)],CtrCompleter.prototype,"highlighted",void 0),CtrCompleter=__decorate([core_1.Directive({selector:"[ctrCompleter]"}),__metadata("design:paramtypes",[])],CtrCompleter)}();exports.CtrCompleter=CtrCompleter},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subject_1=__webpack_require__(23),CompleterBaseData=function(_super){function CompleterBaseData(){_super.call(this)}return __extends(CompleterBaseData,_super),CompleterBaseData.prototype.cancel=function(){},CompleterBaseData.prototype.searchFieldss=function(searchFields){return this._searchFields=searchFields,this},CompleterBaseData.prototype.titleField=function(titleField){return this._titleField=titleField,this},CompleterBaseData.prototype.descriptionField=function(descriptionField){return this._descriptionField=descriptionField,this},CompleterBaseData.prototype.imageField=function(imageField){return this._imageField=imageField,this},CompleterBaseData.prototype.extractMatches=function(data,term){var matches=[];if(this._searchFields&&""!=this._searchFields)for(var searchFields=this._searchFields.split(","),i=0;i<data.length;i++){for(var match=!1,s=0;s<searchFields.length;s++){var value=this.extractValue(data[i],searchFields[s])||"";match=match||value.toString().toLowerCase().indexOf(term.toString().toLowerCase())>=0}match&&(matches[matches.length]=data[i])}else matches=data;return matches},CompleterBaseData.prototype.extractTitle=function(item){var _this=this;return this._titleField.split(",").map(function(field){return _this.extractValue(item,field)}).join(" ")},CompleterBaseData.prototype.extractValue=function(obj,key){var keys,result;if(key){keys=key.split("."),result=obj;for(var i=0;i<keys.length;i++)result&&(result=result[keys[i]])}else result=obj;return result},CompleterBaseData.prototype.processResults=function(matches,term){var i,description,image,text,formattedText,formattedDesc,results=[];if(matches&&matches.length>0)for(i=0;i<matches.length;i++)this.titleField&&""!==this._titleField&&(text=formattedText=this.extractTitle(matches[i])),description="",this._descriptionField&&(description=formattedDesc=this.extractValue(matches[i],this._descriptionField)),image=null,this._imageField&&(image=this.extractValue(matches[i],this._imageField)),results.push({title:formattedText,description:formattedDesc,image:image,originalObject:matches[i]});return results},CompleterBaseData}(Subject_1.Subject);exports.CompleterBaseData=CompleterBaseData},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},__decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__metadata=this&&this.__metadata||function(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)},core_1=__webpack_require__(0),Observable_1=__webpack_require__(13),completer_base_data_1=__webpack_require__(2),LocalData=function(_super){function LocalData(){_super.call(this)}return __extends(LocalData,_super),LocalData.prototype.data=function(data){var _this=this;return data instanceof Observable_1.Observable?data.subscribe(function(res){_this._data=res,_this.savedTerm&&_this.search(_this.savedTerm)}):this._data=data,this},LocalData.prototype.search=function(term){if(this._data){this.savedTerm=null;var matches=this.extractMatches(this._data,term);this.next(this.processResults(matches,term))}else this.savedTerm=term},LocalData=__decorate([core_1.Injectable(),__metadata("design:paramtypes",[])],LocalData)}(completer_base_data_1.CompleterBaseData);exports.LocalData=LocalData},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},http_1=__webpack_require__(6);__webpack_require__(24),__webpack_require__(14);var completer_base_data_1=__webpack_require__(2),RemoteData=function(_super){function RemoteData(http){_super.call(this),this.http=http,this._urlFormater=null,this._dataField=null}return __extends(RemoteData,_super),RemoteData.prototype.remoteUrl=function(remoteUrl){return this._remoteUrl=remoteUrl,this},RemoteData.prototype.urlFormater=function(urlFormater){this._urlFormater=urlFormater},RemoteData.prototype.dataField=function(dataField){this._dataField=dataField},RemoteData.prototype.headers=function(headers){this._headers=headers},RemoteData.prototype.search=function(term){var _this=this;this.cancel();var url="";url=this._urlFormater?this._urlFormater(term):this._remoteUrl+encodeURIComponent(term),this.remoteSearch=this.http.get(url,{headers:this._headers||new http_1.Headers}).map(function(res){return res.json()}).map(function(data){var matchaes=_this.extractValue(data,_this._dataField);return _this.extractMatches(matchaes,term)}).map(function(matches){var results=_this.processResults(matches,term);return _this.next(results),results}).catch(function(err){return _this.error(err),null}).subscribe()},RemoteData.prototype.cancel=function(){this.remoteSearch&&this.remoteSearch.unsubscribe()},RemoteData}(completer_base_data_1.CompleterBaseData);exports.RemoteData=RemoteData},function(module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__metadata=this&&this.__metadata||function(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}},core_1=__webpack_require__(0),ctr_completer_1=__webpack_require__(1),CtrRowItem=function(){function CtrRowItem(row,index){this.row=row,this.index=index}return CtrRowItem}();exports.CtrRowItem=CtrRowItem;var CtrDropdown=function(){function CtrDropdown(completer,el){this.completer=completer,this.el=el,this.rows=[],this.completer.registerDropdown(this)}return CtrDropdown.prototype.ngOnInit=function(){var css=getComputedStyle(this.el.nativeElement);this.isScrollOn=css.maxHeight&&"auto"===css.overflowY},CtrDropdown.prototype.ngOnDestroy=function(){this.completer.registerDropdown(null)},CtrDropdown.prototype.registerRow=function(row){this.rows.push(row)},CtrDropdown.prototype.highlightRow=function(index){var highlited=this.rows.find(function(row){return row.index===index});return index<0?(this.currHighlited&&this.currHighlited.row.setHighlited(!1),void(this.currHighlited=void 0)):void(highlited&&(this.currHighlited&&this.currHighlited.row.setHighlited(!1),this.currHighlited=highlited,this.currHighlited.row.setHighlited(!0),this.completer.onHighlighted(this.currHighlited.row.getDataItem())))},CtrDropdown.prototype.clear=function(){this.rows=[]},CtrDropdown.prototype.onSelected=function(item){this.completer.onSelected(item)},CtrDropdown.prototype.selectCurrent=function(){this.currHighlited?this.onSelected(this.currHighlited.row.getDataItem()):this.rows.length>0&&this.onSelected(this.rows[0].row.getDataItem())},CtrDropdown.prototype.nextRow=function(){var nextRowIndex=0;if(this.currHighlited&&(nextRowIndex=this.currHighlited.index+1),this.highlightRow(nextRowIndex),this.isScrollOn&&this.currHighlited){var row=this.currHighlited.row.getNativeElement();this.dropdownHeight()<row.getBoundingClientRect().bottom&&this.dropdownScrollTopTo(this.dropdownRowOffsetHeight(row))}},CtrDropdown.prototype.prevRow=function(){var nextRowIndex=-1;if(this.currHighlited&&(nextRowIndex=this.currHighlited.index-1),this.highlightRow(nextRowIndex),this.isScrollOn&&this.currHighlited){var rowTop=this.dropdownRowTop();rowTop<0&&this.dropdownScrollTopTo(rowTop-1)}},CtrDropdown.prototype.dropdownScrollTopTo=function(offset){this.el.nativeElement.scrollTop=this.el.nativeElement.scrollTop+offset},CtrDropdown.prototype.dropdownRowTop=function(){return this.currHighlited.row.getNativeElement().getBoundingClientRect().top-(this.el.nativeElement.getBoundingClientRect().top+parseInt(getComputedStyle(this.el.nativeElement).paddingTop,10))},CtrDropdown.prototype.dropdownHeight=function(){return this.el.nativeElement.getBoundingClientRect().top+parseInt(getComputedStyle(this.el.nativeElement).maxHeight,10)},CtrDropdown.prototype.dropdownRowOffsetHeight=function(row){var css=getComputedStyle(row);return row.offsetHeight+parseInt(css.marginTop,10)+parseInt(css.marginBottom,10)},CtrDropdown=__decorate([core_1.Directive({selector:"[ctrDropdown]"}),__param(0,core_1.Host()),__metadata("design:paramtypes",[ctr_completer_1.CtrCompleter,core_1.ElementRef])],CtrDropdown)}();exports.CtrDropdown=CtrDropdown},function(module,exports){module.exports=require("@angular/http")},function(module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__metadata=this&&this.__metadata||function(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}},core_1=__webpack_require__(0),local_data_1=__webpack_require__(3),remote_data_1=__webpack_require__(4),CompleterService=function(){function CompleterService(localDataFactory,remoteDataFactory){this.localDataFactory=localDataFactory,this.remoteDataFactory=remoteDataFactory}return CompleterService.prototype.local=function(data,searchFields,titleField){var localData=this.localDataFactory();return localData.data(data).searchFieldss(searchFields).titleField(titleField)},CompleterService.prototype.remote=function(url,searchFields,titleField){var remoteData=this.remoteDataFactory();return remoteData.remoteUrl(url).searchFieldss(searchFields).titleField(titleField)},CompleterService=__decorate([core_1.Injectable(),__param(0,core_1.Inject(local_data_1.LocalData)),__param(1,core_1.Inject(remote_data_1.RemoteData)),__metadata("design:paramtypes",[Object,Object])],CompleterService)}();exports.CompleterService=CompleterService},function(module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__metadata=this&&this.__metadata||function(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}},core_1=__webpack_require__(0),ctr_completer_1=__webpack_require__(1),KEY_DW=40,KEY_RT=39,KEY_UP=38,KEY_LF=37,KEY_ES=27,KEY_EN=13,KEY_TAB=9,CtrInput=function(){function CtrInput(completer){var _this=this;this.completer=completer,this.clearSelected=!1,this.overrideSuggested=!1,this.ngModelChange=new core_1.EventEmitter,this._searchStr="",this._displayStr="",this.completer.selected.subscribe(function(item){_this.clearSelected?_this.searchStr="":_this.searchStr=item.title,_this.ngModelChange.emit(_this.searchStr)}),this.completer.highlighted.subscribe(function(item){_this._displayStr=item.title,_this.ngModelChange.emit(item.title)})}return CtrInput.prototype.onInputChange=function(event){this.searchStr=event.target.value},CtrInput.prototype.keyupHandler=function(event){if(event.keyCode!==KEY_LF&&event.keyCode!==KEY_RT&&event.keyCode!==KEY_TAB)if(event.keyCode===KEY_UP||event.keyCode===KEY_EN)event.preventDefault();else if(event.keyCode===KEY_DW)event.preventDefault(),this.completer.search(this.searchStr);else if(event.keyCode===KEY_ES)this._searchStr=this._displayStr,this.completer.clear();else{if(!this.searchStr)return void this.completer.clear();this.completer.search(this.searchStr)}},CtrInput.prototype.keydownHandler=function(event){event.keyCode===KEY_EN?this.completer.selectCurrent():event.keyCode===KEY_DW?(event.preventDefault(),this.completer.nextRow()):event.keyCode===KEY_UP?(event.preventDefault(),this.completer.prevRow()):event.keyCode===KEY_TAB?this.overrideSuggested?this.completer.onSelected({title:this.searchStr,originalObject:null}):this.completer.selectCurrent():event.keyCode===KEY_ES&&event.preventDefault()},CtrInput.prototype.onBlur=function(event){var _this=this;this.overrideSuggested?this.completer.onSelected({title:this.searchStr,originalObject:null}):setTimeout(function(){_this.completer.clear()},200)},Object.defineProperty(CtrInput.prototype,"searchStr",{get:function(){return this._searchStr},set:function(term){this._searchStr=term,this._displayStr=term},enumerable:!0,configurable:!0}),__decorate([core_1.Input("clearSelected"),__metadata("design:type",Object)],CtrInput.prototype,"clearSelected",void 0),__decorate([core_1.Input("overrideSuggested"),__metadata("design:type",Object)],CtrInput.prototype,"overrideSuggested",void 0),__decorate([core_1.Output(),__metadata("design:type",core_1.EventEmitter)],CtrInput.prototype,"ngModelChange",void 0),__decorate([core_1.HostListener("input",["$event"]),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],CtrInput.prototype,"onInputChange",null),__decorate([core_1.HostListener("keyup",["$event"]),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],CtrInput.prototype,"keyupHandler",null),__decorate([core_1.HostListener("keydown",["$event"]),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],CtrInput.prototype,"keydownHandler",null),__decorate([core_1.HostListener("blur",["$event"]),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],CtrInput.prototype,"onBlur",null),CtrInput=__decorate([core_1.Directive({selector:"[ctrInput]"}),__param(0,core_1.Host()),__metadata("design:paramtypes",[ctr_completer_1.CtrCompleter])],CtrInput)}();exports.CtrInput=CtrInput},function(module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__metadata=this&&this.__metadata||function(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}},core_1=__webpack_require__(0),Observable_1=__webpack_require__(13),ctr_completer_1=__webpack_require__(1),globals_1=__webpack_require__(11),CtrListContext=function(){function CtrListContext(results,searching,searchInitialized){this.results=results,this.searching=searching,this.searchInitialized=searchInitialized}return CtrListContext}();exports.CtrListContext=CtrListContext;var CtrList=function(){function CtrList(completer,templateRef,viewContainer){this.completer=completer,this.templateRef=templateRef,this.viewContainer=viewContainer,this.ctrListMinSearchLength=globals_1.MIN_SEARCH_LENGTH,this.ctrListPause=globals_1.PAUSE,this.ctrListAutoMatch=!1,this.term=null,this.searchTimer=null,this.ctx=new CtrListContext([],!1,!1)}return CtrList.prototype.ngOnInit=function(){this.completer.registerList(this),this.viewContainer.createEmbeddedView(this.templateRef,new CtrListContext([],!1,!1))},Object.defineProperty(CtrList.prototype,"dataService",{set:function(newService){var _this=this;this._dataService=newService,this._dataService&&this._dataService.catch(function(err){return _this.handleError(err)}).subscribe(function(results){_this.ctx.searchInitialized=!0,_this.ctx.searching=!1,_this.ctx.results=results,_this.ctrListAutoMatch&&1===results.length&&results[0].title.toLocaleLowerCase()===_this.term.toLocaleLowerCase()&&_this.completer.onSelected(results[0]),_this.refreshTemplate()})},enumerable:!0,configurable:!0}),CtrList.prototype.search=function(term){var _this=this;term&&term.length>=this.ctrListMinSearchLength&&this.term!==term&&(this.searchTimer&&clearTimeout(this.searchTimer),this.ctx.searching||(this.ctx.results=[],this.ctx.searching=!0,this.ctx.searchInitialized=!0,this.refreshTemplate()),this.searchTimer=setTimeout(function(){_this.searchTimerComplete(term)},this.ctrListPause))},CtrList.prototype.clear=function(){this.searchTimer&&clearTimeout(this.searchTimer),this.dataService&&this.dataService.cancel(),this.ctx.results=[],this.ctx.searchInitialized=!1,this.term=null,this.viewContainer.clear()},CtrList.prototype.searchTimerComplete=function(term){return!term||term.length<this.ctrListMinSearchLength?void(this.ctx.searching=!1):(this.term=term,void this._dataService.search(term))},CtrList.prototype.handleError=function(error){this.ctx.searching=!1;var errMsg=error.message?error.message:error.status?error.status+" - "+error.statusText:"Server error";return console&&console.error&&console.error(errMsg),this.refreshTemplate(),Observable_1.Observable.throw(errMsg)},CtrList.prototype.refreshTemplate=function(){this.viewContainer.clear(),this.viewContainer.createEmbeddedView(this.templateRef,this.ctx)},__decorate([core_1.Input(),__metadata("design:type",Object)],CtrList.prototype,"ctrListMinSearchLength",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CtrList.prototype,"ctrListPause",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CtrList.prototype,"ctrListAutoMatch",void 0),__decorate([core_1.Input("ctrList"),__metadata("design:type",Object),__metadata("design:paramtypes",[Object])],CtrList.prototype,"dataService",null),CtrList=__decorate([core_1.Directive({selector:"[ctrList]"}),__param(0,core_1.Host()),__metadata("design:paramtypes",[ctr_completer_1.CtrCompleter,core_1.TemplateRef,core_1.ViewContainerRef])],CtrList)}();exports.CtrList=CtrList},function(module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__metadata=this&&this.__metadata||function(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}},core_1=__webpack_require__(0),ctr_dropdown_1=__webpack_require__(5),CtrRow=function(){function CtrRow(el,renderer,dropdown){this.el=el,this.renderer=renderer,this.dropdown=dropdown,this.selected=!1}return CtrRow.prototype.ngOnInit=function(){this.dropdown.registerRow(new ctr_dropdown_1.CtrRowItem(this,this._rowIndex))},Object.defineProperty(CtrRow.prototype,"ctrRow",{set:function(index){this._rowIndex=index},enumerable:!0,configurable:!0}),Object.defineProperty(CtrRow.prototype,"dataItem",{set:function(item){this._item=item},enumerable:!0,configurable:!0}),CtrRow.prototype.onClick=function(event){this.dropdown.onSelected(this._item)},CtrRow.prototype.onMouseEnter=function(event){this.dropdown.highlightRow(this._rowIndex)},CtrRow.prototype.setHighlited=function(selected){this.selected=selected,this.renderer.setElementClass(this.el.nativeElement,"completer-selected-row",this.selected)},CtrRow.prototype.getNativeElement=function(){return this.el.nativeElement},CtrRow.prototype.getDataItem=function(){return this._item},__decorate([core_1.Input(),__metadata("design:type",Number),__metadata("design:paramtypes",[Number])],CtrRow.prototype,"ctrRow",null),__decorate([core_1.Input(),__metadata("design:type",Object),__metadata("design:paramtypes",[Object])],CtrRow.prototype,"dataItem",null),__decorate([core_1.HostListener("click",["$event"]),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],CtrRow.prototype,"onClick",null),__decorate([core_1.HostListener("mouseenter",["$event"]),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],CtrRow.prototype,"onMouseEnter",null),CtrRow=__decorate([core_1.Directive({selector:"[ctrRow]"}),__param(2,core_1.Host()),__metadata("design:paramtypes",[core_1.ElementRef,core_1.Renderer,ctr_dropdown_1.CtrDropdown])],CtrRow)}();exports.CtrRow=CtrRow},function(module,exports){"use strict";exports.MAX_CHARS=524288,exports.MIN_SEARCH_LENGTH=3,exports.PAUSE=250,exports.TEXT_SEARCHING="Searching...",exports.TEXT_NORESULTS="No results found"},function(module,exports){module.exports=require("@angular/forms")},function(module,exports){module.exports=require("rxjs/Observable")},function(module,exports){module.exports=require("rxjs/add/operator/catch")},function(module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__metadata=this&&this.__metadata||function(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)},core_1=__webpack_require__(0),forms_1=__webpack_require__(12),http_1=__webpack_require__(6),completer_cmp_1=__webpack_require__(16),completer_list_item_cmp_1=__webpack_require__(17),completer_service_1=__webpack_require__(7),completer_data_factory_1=__webpack_require__(18),ctr_completer_1=__webpack_require__(1),ctr_dropdown_1=__webpack_require__(5),ctr_input_1=__webpack_require__(8),ctr_list_1=__webpack_require__(9),ctr_row_1=__webpack_require__(10),common_1=__webpack_require__(22),Ng2CompleterModule=function(){function Ng2CompleterModule(){}return Ng2CompleterModule=__decorate([core_1.NgModule({imports:[common_1.CommonModule,forms_1.FormsModule,http_1.HttpModule],declarations:[completer_list_item_cmp_1.CompleterListItemCmp,ctr_completer_1.CtrCompleter,ctr_dropdown_1.CtrDropdown,ctr_input_1.CtrInput,ctr_list_1.CtrList,ctr_row_1.CtrRow,completer_cmp_1.CompleterCmp],exports:[completer_cmp_1.CompleterCmp,completer_list_item_cmp_1.CompleterListItemCmp,ctr_completer_1.CtrCompleter,ctr_dropdown_1.CtrDropdown,ctr_input_1.CtrInput,ctr_list_1.CtrList,ctr_row_1.CtrRow],providers:[completer_service_1.CompleterService,completer_data_factory_1.LocalDataFactoryProvider,completer_data_factory_1.RemoteDataFactoryProvider]}),__metadata("design:paramtypes",[])],Ng2CompleterModule)}();exports.Ng2CompleterModule=Ng2CompleterModule},function(module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__metadata=this&&this.__metadata||function(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)},core_1=__webpack_require__(0),forms_1=__webpack_require__(12),ctr_completer_1=__webpack_require__(1),globals_1=__webpack_require__(11);__webpack_require__(14);var noop=function(){},COMPLETER_CONTROL_VALUE_ACCESSOR={provide:forms_1.NG_VALUE_ACCESSOR,useExisting:core_1.forwardRef(function(){return CompleterCmp}),multi:!0},CompleterCmp=function(){function CompleterCmp(){this.inputName="",this.pause=globals_1.PAUSE,this.minSearchLength=globals_1.MIN_SEARCH_LENGTH,this.maxChars=globals_1.MAX_CHARS,this.overrideSuggested=!1,this.clearSelected=!1,this.placeholder="",this.textSearching=globals_1.TEXT_SEARCHING,this.textNoResults=globals_1.TEXT_NORESULTS,this.autoMatch=!1,this.disableInput=!1,this.selected=new core_1.EventEmitter,this.highlighted=new core_1.EventEmitter,this.blur=new core_1.EventEmitter,this.displaySearching=!0,this.searchStr="",this._onTouchedCallback=noop,this._onChangeCallback=noop}return Object.defineProperty(CompleterCmp.prototype,"value",{get:function(){return this.searchStr},set:function(v){v!==this.searchStr&&(this.searchStr=v,this._onChangeCallback(v))},enumerable:!0,configurable:!0}),CompleterCmp.prototype.onTouched=function(){this._onTouchedCallback()},CompleterCmp.prototype.writeValue=function(value){this.searchStr=value},CompleterCmp.prototype.registerOnChange=function(fn){this._onChangeCallback=fn},CompleterCmp.prototype.registerOnTouched=function(fn){this._onTouchedCallback=fn},CompleterCmp.prototype.ngOnInit=function(){var _this=this;this.completer.selected.subscribe(function(item){_this.selected.emit(item),_this._onChangeCallback(item.title)}),this.completer.highlighted.subscribe(function(item){_this.highlighted.emit(item)}),"false"===this.textSearching&&(this.displaySearching=!1)},CompleterCmp.prototype.onBlur=function(){this.blur.emit(),this.onTouched()},__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"dataService",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"inputName",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"pause",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"minSearchLength",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"maxChars",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"overrideSuggested",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"clearSelected",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"placeholder",void 0),__decorate([core_1.Input(),__metadata("design:type",String)],CompleterCmp.prototype,"matchClass",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"textSearching",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"textNoResults",void 0),__decorate([core_1.Input(),__metadata("design:type",Number)],CompleterCmp.prototype,"fieldTabindex",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"autoMatch",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"disableInput",void 0),__decorate([core_1.Output(),__metadata("design:type",Object)],CompleterCmp.prototype,"selected",void 0),__decorate([core_1.Output(),__metadata("design:type",Object)],CompleterCmp.prototype,"highlighted",void 0),__decorate([core_1.Output(),__metadata("design:type",Object)],CompleterCmp.prototype,"blur",void 0),
__decorate([core_1.ViewChild(ctr_completer_1.CtrCompleter),__metadata("design:type",ctr_completer_1.CtrCompleter)],CompleterCmp.prototype,"completer",void 0),CompleterCmp=__decorate([core_1.Component({selector:"ng2-completer",template:__webpack_require__(20),styles:[__webpack_require__(19)],providers:[COMPLETER_CONTROL_VALUE_ACCESSOR]}),__metadata("design:paramtypes",[])],CompleterCmp)}();exports.CompleterCmp=CompleterCmp},function(module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__metadata=this&&this.__metadata||function(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)},core_1=__webpack_require__(0),CompleterListItemCmp=function(){function CompleterListItemCmp(){this.parts=[]}return CompleterListItemCmp.prototype.ngOnInit=function(){for(var matchStr=this.text.toLowerCase(),matchPos=matchStr.indexOf(this.searchStr.toLowerCase()),startIndex=0;matchPos>=0;){var matchText=this.text.slice(matchPos,matchPos+this.searchStr.length);if(0===matchPos)this.parts.push({isMatch:!0,text:matchText}),startIndex+=this.searchStr.length;else if(matchPos>0){var matchPart=this.text.slice(startIndex,matchPos);this.parts.push({isMatch:!1,text:matchPart}),this.parts.push({isMatch:!0,text:matchText}),startIndex+=this.searchStr.length+matchPart.length}matchPos=matchStr.indexOf(this.searchStr.toLowerCase(),startIndex)}startIndex<this.text.length&&this.parts.push({isMatch:!1,text:this.text.slice(startIndex,this.text.length)})},__decorate([core_1.Input(),__metadata("design:type",String)],CompleterListItemCmp.prototype,"text",void 0),__decorate([core_1.Input(),__metadata("design:type",String)],CompleterListItemCmp.prototype,"searchStr",void 0),__decorate([core_1.Input(),__metadata("design:type",String)],CompleterListItemCmp.prototype,"matchClass",void 0),__decorate([core_1.Input(),__metadata("design:type",String)],CompleterListItemCmp.prototype,"type",void 0),CompleterListItemCmp=__decorate([core_1.Component({selector:"completer-list-item",template:__webpack_require__(21)}),__metadata("design:paramtypes",[])],CompleterListItemCmp)}();exports.CompleterListItemCmp=CompleterListItemCmp},function(module,exports,__webpack_require__){"use strict";function localDataFactory(){return function(){return new local_data_1.LocalData}}function remoteDataFactory(http){return function(){return new remote_data_1.RemoteData(http)}}var http_1=__webpack_require__(6),local_data_1=__webpack_require__(3),remote_data_1=__webpack_require__(4);exports.localDataFactory=localDataFactory,exports.remoteDataFactory=remoteDataFactory,exports.LocalDataFactoryProvider={provide:local_data_1.LocalData,useFactory:localDataFactory},exports.RemoteDataFactoryProvider={provide:remote_data_1.RemoteData,useFactory:remoteDataFactory,deps:[http_1.Http]}},function(module,exports){module.exports='.completer-dropdown {\n border-color: #ececec;\n border-width: 1px;\n border-style: solid;\n border-radius: 2px;\n width: 250px;\n padding: 6px;\n cursor: pointer;\n z-index: 9999;\n position: absolute;\n margin-top: -6px;\n background-color: #ffffff;\n}\n\n.completer-row {\n padding: 5px;\n color: #000000;\n margin-bottom: 4px;\n clear: both;\n display: inline-block;\n width: 103%;\n}\n\n.completer-selected-row {\n background-color: lightblue;\n color: #ffffff;\n}\n\n.completer-description {\n font-size: 14px;\n}\n\n.completer-image-default {\n width: 16px; \n height: 16px;\n background-image: url("demo/res/img/default.png");\n}\n\n.completer-image-holder {\n float: left;\n width: 10%;\n}\n.completer-item-text-image {\n float: right;\n width: 90%;\n}'},function(module,exports){module.exports='<div class="completer-holder" ctrCompleter>\n <input class="completer-input" ctrInput [(ngModel)]="searchStr" [attr.name]="inputName" [placeholder]="placeholder" [attr.maxlength]="maxChars"\n [tabindex]="fieldTabindex" [disabled]="disableInput" [clearSelected]="clearSelected" [overrideSuggested]="overrideSuggested" (blur)="onBlur()"\n autocomplete="off" autocorrect="off" autocapitalize="off" />\n\n <div class="completer-dropdown-holder" *ctrList="dataService; minSearchLength: minSearchLength; pause: pause; autoMatch: autoMatch; let items = results; let searchActive = searching; let isInitialized = searchInitialized;">\n <div class="completer-dropdown" ctrDropdown *ngIf="isInitialized">\n <div *ngIf="searchActive && displaySearching" class="completer-searching">{{textSearching}}</div>\n <div *ngIf="!searchActive && (!items || items.length === 0)" class="completer-no-results">{{textNoResults}}</div>\n <div class="completer-row-wrapper" *ngFor="let item of items; let rowIndex=index">\n <div class="completer-row" [ctrRow]="rowIndex" [dataItem]="item">\n <div *ngIf="item.image || item.image === \'\'" class="completer-image-holder">\n <img *ngIf="item.image != \'\'" src="{{item.image}}" class="completer-image" />\n <div *ngIf="item.image === \'\'" class="completer-image-default"></div>\n </div>\n <div class="completer-item-text" [ngClass]="{\'completer-item-text-image\': item.image || item.image === \'\' }">\n <completer-list-item class="completer-title" [text]="item.title" [matchClass]="matchClass" [searchStr]="searchStr" [type]="\'title\'"></completer-list-item>\n <completer-list-item *ngIf="item.description && item.description != \'\'" class="completer-description" [text]="item.description"\n [matchClass]="matchClass" [searchStr]="searchStr" [type]="\'description\'">\n </completer-list-item>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>'},function(module,exports){module.exports='<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>'},function(module,exports){module.exports=require("@angular/common")},function(module,exports){module.exports=require("rxjs/Subject")},function(module,exports){module.exports=require("rxjs/add/operator/map")},function(module,exports,__webpack_require__){"use strict";var ng2_completer_module_1=__webpack_require__(15);exports.Ng2CompleterModule=ng2_completer_module_1.Ng2CompleterModule;var completer_service_1=__webpack_require__(7);exports.CompleterService=completer_service_1.CompleterService;var local_data_1=__webpack_require__(3);exports.LocalData=local_data_1.LocalData;var remote_data_1=__webpack_require__(4);exports.RemoteData=remote_data_1.RemoteData;var completer_base_data_1=__webpack_require__(2);exports.CompleterBaseData=completer_base_data_1.CompleterBaseData;var ctr_completer_1=__webpack_require__(1);exports.CtrCompleter=ctr_completer_1.CtrCompleter;var ctr_dropdown_1=__webpack_require__(5);exports.CtrDropdown=ctr_dropdown_1.CtrDropdown;var ctr_input_1=__webpack_require__(8);exports.CtrInput=ctr_input_1.CtrInput;var ctr_list_1=__webpack_require__(9);exports.CtrList=ctr_list_1.CtrList;var ctr_row_1=__webpack_require__(10);exports.CtrRow=ctr_row_1.CtrRow}]);

@@ -23,2 +23,3 @@ import { EventEmitter, OnInit } from "@angular/core";

highlighted: EventEmitter<CompleterItem>;
blur: EventEmitter<void>;
private completer;

@@ -36,2 +37,3 @@ private displaySearching;

ngOnInit(): void;
onBlur(): void;
}

@@ -0,1 +1,2 @@

import { Observable } from "rxjs/Observable";
import { LocalData } from "./local-data";

@@ -7,4 +8,4 @@ import { RemoteData } from "./remote-data";

constructor(localDataFactory: any, remoteDataFactory: any);
local(data: any[], searchFields: string, titleField: string): LocalData;
local(data: any[] | Observable<any>, searchFields: string, titleField: string): LocalData;
remote(url: string, searchFields: string, titleField: string): RemoteData;
}

@@ -0,7 +1,9 @@

import { Observable } from "rxjs/Observable";
import { CompleterBaseData } from "./completer-base-data";
export declare class LocalData extends CompleterBaseData {
private _data;
private savedTerm;
constructor();
data(data: any[]): this;
data(data: any[] | Observable<any[]>): this;
search(term: string): void;
}
# Change Log
All notable changes to this project will be documented in this file.
## 0.2.2
### Implemented enhancments
- Added support for async local data
### Fixed bugs:
- Not able to capture blur event #50
- textSearching not display in first search #55
## 0.2.1 (2016-10-05)
### Implemented enhancments
- Added material2 component to demo
### Fixed bugs:
- Mouse click doesn't select the item, Enter Key does! #46
## 0.2.0 (2016-10-04)

@@ -9,4 +25,4 @@ This is a rewrite of the completer component using directives that implement most of the functionality.

# Fixed bugs:
### Fixed bugs:
- Bump version dependency to angular 2.0.0 #39
{
"name": "ng2-completer",
"version": "0.2.1",
"version": "0.2.2",
"description": "ng2 autocomplete/typeahead component",

@@ -5,0 +5,0 @@ "main": "bundles/ng2-completer.js",

@@ -127,3 +127,3 @@ # ng2-completer

|:---|:---|:--- |:--- |
|data|any[]|A JSON array with the data to use.|Yes|
|data|any[] \| Observable<any[]>|A JSON array with the data to use or an Observable that emits one|Yes|
|searchFields|string|Comma separated list of fields to search on. Fields may contain dots for nested attributes; if empty or null all data will be returned.|Yes|

@@ -130,0 +130,0 @@ |titleField|string|Name of the field to use as title for the list item.|Yes|

@@ -45,2 +45,3 @@ "use strict";

@Output() public highlighted = new EventEmitter<CompleterItem>();
@Output() public blur = new EventEmitter<void>();

@@ -94,2 +95,7 @@ @ViewChild(CtrCompleter) private completer: CtrCompleter;

}
public onBlur() {
this.blur.emit();
this.onTouched();
}
}
import {Injectable, Inject} from "@angular/core";
import { Observable } from "rxjs/Observable";

@@ -14,3 +15,3 @@ import {LocalData} from "./local-data";

public local(data: any[], searchFields: string, titleField: string): LocalData {
public local(data: any[] | Observable<any>, searchFields: string, titleField: string): LocalData {

@@ -17,0 +18,0 @@ let localData = this.localDataFactory();

@@ -1,9 +0,11 @@

import {Injectable} from "@angular/core";
import { Injectable } from "@angular/core";
import { Observable } from "rxjs/Observable";
import {CompleterBaseData} from "./completer-base-data";
import { CompleterBaseData } from "./completer-base-data";
@Injectable()
export class LocalData extends CompleterBaseData {
export class LocalData extends CompleterBaseData {
private _data: any[];
private savedTerm: string;

@@ -14,4 +16,14 @@ constructor() {

public data(data: any[]) {
this._data = data;
public data(data: any[] | Observable<any[]>) {
if (data instanceof Observable) {
(<Observable<any[]>>data).subscribe((res) => {
this._data = res;
if (this.savedTerm) {
this.search(this.savedTerm);
}
});
} else {
this._data = <any[]>data;
}
return this;

@@ -21,6 +33,10 @@ }

public search(term: string): void {
let matches: any[] = this.extractMatches(this._data, term);
this.next(this.processResults(matches, term));
if (!this._data) {
this.savedTerm = term;
} else {
this.savedTerm = null;
let matches: any[] = this.extractMatches(this._data, term);
this.next(this.processResults(matches, term));
}
}
}

@@ -72,4 +72,8 @@ import { Directive, Host, Input, OnInit, TemplateRef, ViewContainerRef } from "@angular/core";

}
this.ctx.results = [];
this.ctx.searching = true;
if (!this.ctx.searching) {
this.ctx.results = [];
this.ctx.searching = true;
this.ctx.searchInitialized = true;
this.refreshTemplate();
}

@@ -82,4 +86,4 @@ this.searchTimer = setTimeout(

);
this.refreshTemplate();
}

@@ -86,0 +90,0 @@ }

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc