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.1.8 to 0.1.9

bundles/src/ng2-completer.module.d.ts

421

bundles/ng2-completer.js
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory(require("@angular/core"), require("@angular/forms"), require("@angular/http"), require("rxjs/Observable"), require("rxjs/Subject"), require("rxjs/add/operator/catch"), require("rxjs/add/operator/map"));
module.exports = factory(require("@angular/core"), require("@angular/forms"), require("@angular/http"), require("rxjs/add/operator/catch"), require("@angular/common"), require("rxjs/Observable"), require("rxjs/Subject"), require("rxjs/add/operator/map"));
else if(typeof define === 'function' && define.amd)
define("ng2-completer", ["@angular/core", "@angular/forms", "@angular/http", "rxjs/Observable", "rxjs/Subject", "rxjs/add/operator/catch", "rxjs/add/operator/map"], factory);
define("ng2-completer", ["@angular/core", "@angular/forms", "@angular/http", "rxjs/add/operator/catch", "@angular/common", "rxjs/Observable", "rxjs/Subject", "rxjs/add/operator/map"], factory);
else if(typeof exports === 'object')
exports["ng2-completer"] = factory(require("@angular/core"), require("@angular/forms"), require("@angular/http"), require("rxjs/Observable"), require("rxjs/Subject"), require("rxjs/add/operator/catch"), require("rxjs/add/operator/map"));
exports["ng2-completer"] = factory(require("@angular/core"), require("@angular/forms"), require("@angular/http"), require("rxjs/add/operator/catch"), require("@angular/common"), require("rxjs/Observable"), require("rxjs/Subject"), require("rxjs/add/operator/map"));
else
root["ng2-completer"] = factory(root["@angular/core"], root["@angular/forms"], root["@angular/http"], root["rxjs/Observable"], root["rxjs/Subject"], root["rxjs/add/operator/catch"], root["rxjs/add/operator/map"]);
})(this, function(__WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_15__, __WEBPACK_EXTERNAL_MODULE_16__, __WEBPACK_EXTERNAL_MODULE_17__, __WEBPACK_EXTERNAL_MODULE_18__, __WEBPACK_EXTERNAL_MODULE_19__, __WEBPACK_EXTERNAL_MODULE_20__) {
root["ng2-completer"] = factory(root["@angular/core"], root["@angular/forms"], root["@angular/http"], root["rxjs/add/operator/catch"], root["@angular/common"], root["rxjs/Observable"], root["rxjs/Subject"], root["rxjs/add/operator/map"]);
})(this, function(__WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_7__, __WEBPACK_EXTERNAL_MODULE_8__, __WEBPACK_EXTERNAL_MODULE_9__, __WEBPACK_EXTERNAL_MODULE_19__, __WEBPACK_EXTERNAL_MODULE_20__, __WEBPACK_EXTERNAL_MODULE_21__, __WEBPACK_EXTERNAL_MODULE_22__) {
return /******/ (function(modules) { // webpackBootstrap

@@ -58,7 +58,5 @@ /******/ // The module cache

"use strict";
var completer_cmp_1 = __webpack_require__(6);
exports.CompleterCmp = completer_cmp_1.CompleterCmp;
var completer_data_factory_1 = __webpack_require__(9);
exports.COMPLETER_DATA_PROVIDERS = completer_data_factory_1.COMPLETER_DATA_PROVIDERS;
var completer_service_1 = __webpack_require__(5);
var ng2_completer_module_1 = __webpack_require__(13);
exports.Ng2CompleterModule = ng2_completer_module_1.Ng2CompleterModule;
var completer_service_1 = __webpack_require__(6);
exports.CompleterService = completer_service_1.CompleterService;

@@ -89,3 +87,3 @@ var local_data_1 = __webpack_require__(3);

};
var Subject_1 = __webpack_require__(18);
var Subject_1 = __webpack_require__(21);
var CompleterBaseData = (function (_super) {

@@ -261,3 +259,4 @@ __extends(CompleterBaseData, _super);

};
__webpack_require__(20);
__webpack_require__(22);
__webpack_require__(9);
var completer_base_data_1 = __webpack_require__(2);

@@ -334,2 +333,129 @@ var RemoteData = (function (_super) {

};
var core_1 = __webpack_require__(1);
var template = __webpack_require__(17);
var defaultStyles = __webpack_require__(16);
var CompleterListCmp = (function () {
function CompleterListCmp(listElm) {
this.listElm = listElm;
this.results = [];
this.searchStr = "";
this.selected = new core_1.EventEmitter();
this.currentIndex = -1;
this.isScrollOn = false;
}
CompleterListCmp.prototype.ngAfterContentInit = function () {
this.dd = this.listElm.nativeElement.querySelector(".completer-dropdown");
var css = getComputedStyle(this.dd);
this.isScrollOn = css.maxHeight && css.overflowY === "auto";
};
CompleterListCmp.prototype.onClick = function (result) {
this.selected.emit(result);
};
CompleterListCmp.prototype.hoverRow = function (index) {
this.currentIndex = index;
};
;
CompleterListCmp.prototype.incIndex = function () {
this.currentIndex++;
if (this.isScrollOn) {
var row = this.dropdownRow();
if (this.dropdownHeight() < row.getBoundingClientRect().bottom) {
this.dropdownScrollTopTo(this.dropdownRowOffsetHeight(row));
}
}
};
CompleterListCmp.prototype.decIndex = function () {
this.currentIndex--;
if (this.isScrollOn) {
var rowTop = this.dropdownRowTop();
if (rowTop < 0) {
this.dropdownScrollTopTo(rowTop - 1);
}
}
};
CompleterListCmp.prototype.unselect = function () {
this.currentIndex = -1;
};
CompleterListCmp.prototype.toTop = function () {
this.currentIndex = 0;
};
CompleterListCmp.prototype.dropdownRow = function () {
return this.listElm.nativeElement.querySelectorAll(".completer-row")[this.currentIndex];
};
CompleterListCmp.prototype.dropdownHeight = function () {
return this.dd.getBoundingClientRect().top +
parseInt(getComputedStyle(this.dd).maxHeight, 10);
};
CompleterListCmp.prototype.dropdownScrollTopTo = function (offset) {
this.dd.scrollTop = this.dd.scrollTop + offset;
};
CompleterListCmp.prototype.dropdownRowOffsetHeight = function (row) {
var css = getComputedStyle(row);
return row.offsetHeight +
parseInt(css.marginTop, 10) + parseInt(css.marginBottom, 10);
};
CompleterListCmp.prototype.dropdownRowTop = function () {
return this.dropdownRow().getBoundingClientRect().top -
(this.dd.getBoundingClientRect().top +
parseInt(getComputedStyle(this.dd).paddingTop, 10));
};
__decorate([
core_1.Input(),
__metadata('design:type', Array)
], CompleterListCmp.prototype, "results", void 0);
__decorate([
core_1.Input(),
__metadata('design:type', String)
], CompleterListCmp.prototype, "matchClass", void 0);
__decorate([
core_1.Input(),
__metadata('design:type', Object)
], CompleterListCmp.prototype, "searchStr", void 0);
__decorate([
core_1.Input(),
__metadata('design:type', String)
], CompleterListCmp.prototype, "textSearching", void 0);
__decorate([
core_1.Input(),
__metadata('design:type', Boolean)
], CompleterListCmp.prototype, "searching", void 0);
__decorate([
core_1.Input(),
__metadata('design:type', String)
], CompleterListCmp.prototype, "textNoResults", void 0);
__decorate([
core_1.Input(),
__metadata('design:type', Boolean)
], CompleterListCmp.prototype, "displaySearching", void 0);
__decorate([
core_1.Output(),
__metadata('design:type', Object)
], CompleterListCmp.prototype, "selected", void 0);
CompleterListCmp = __decorate([
core_1.Component({
selector: "completer-list",
template: template,
styles: [defaultStyles]
}),
__metadata('design:paramtypes', [core_1.ElementRef])
], CompleterListCmp);
return CompleterListCmp;
}());
exports.CompleterListCmp = CompleterListCmp;
/***/ },
/* 6 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (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;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __param = (this && this.__param) || function (paramIndex, decorator) {

@@ -372,3 +498,21 @@ return function (target, key) { decorator(target, key, paramIndex); }

/***/ },
/* 6 */
/* 7 */
/***/ function(module, exports) {
module.exports = require("@angular/forms");
/***/ },
/* 8 */
/***/ function(module, exports) {
module.exports = require("@angular/http");
/***/ },
/* 9 */
/***/ function(module, exports) {
module.exports = require("rxjs/add/operator/catch");
/***/ },
/* 10 */
/***/ function(module, exports, __webpack_require__) {

@@ -387,8 +531,8 @@

var core_1 = __webpack_require__(1);
var forms_1 = __webpack_require__(15);
var Observable_1 = __webpack_require__(17);
var completer_list_cmp_1 = __webpack_require__(7);
__webpack_require__(19);
var template = __webpack_require__(11);
var defaultStyles = __webpack_require__(10);
var forms_1 = __webpack_require__(7);
var Observable_1 = __webpack_require__(20);
var completer_list_cmp_1 = __webpack_require__(5);
__webpack_require__(9);
var template = __webpack_require__(15);
var defaultStyles = __webpack_require__(14);
// keyboard events

@@ -409,6 +553,7 @@ var KEY_DW = 40;

var noop = function () { };
var COMPLETER_CONTROL_VALUE_ACCESSOR = new core_1.Provider(forms_1.NG_VALUE_ACCESSOR, {
var COMPLETER_CONTROL_VALUE_ACCESSOR = {
provide: forms_1.NG_VALUE_ACCESSOR,
useExisting: core_1.forwardRef(function () { return CompleterCmp; }),
multi: true
});
};
var CompleterCmp = (function () {

@@ -748,3 +893,2 @@ function CompleterCmp() {

selector: "ng2-completer",
directives: [completer_list_cmp_1.CompleterListCmp],
template: template,

@@ -762,3 +906,3 @@ styles: [defaultStyles],

/***/ },
/* 7 */
/* 11 */
/***/ function(module, exports, __webpack_require__) {

@@ -777,132 +921,3 @@

var core_1 = __webpack_require__(1);
var completer_list_item_cmp_1 = __webpack_require__(8);
var template = __webpack_require__(13);
var defaultStyles = __webpack_require__(12);
var CompleterListCmp = (function () {
function CompleterListCmp(listElm) {
this.listElm = listElm;
this.results = [];
this.searchStr = "";
this.selected = new core_1.EventEmitter();
this.currentIndex = -1;
this.isScrollOn = false;
}
CompleterListCmp.prototype.ngAfterContentInit = function () {
this.dd = this.listElm.nativeElement.querySelector(".completer-dropdown");
var css = getComputedStyle(this.dd);
this.isScrollOn = css.maxHeight && css.overflowY === "auto";
};
CompleterListCmp.prototype.onClick = function (result) {
this.selected.emit(result);
};
CompleterListCmp.prototype.hoverRow = function (index) {
this.currentIndex = index;
};
;
CompleterListCmp.prototype.incIndex = function () {
this.currentIndex++;
if (this.isScrollOn) {
var row = this.dropdownRow();
if (this.dropdownHeight() < row.getBoundingClientRect().bottom) {
this.dropdownScrollTopTo(this.dropdownRowOffsetHeight(row));
}
}
};
CompleterListCmp.prototype.decIndex = function () {
this.currentIndex--;
if (this.isScrollOn) {
var rowTop = this.dropdownRowTop();
if (rowTop < 0) {
this.dropdownScrollTopTo(rowTop - 1);
}
}
};
CompleterListCmp.prototype.unselect = function () {
this.currentIndex = -1;
};
CompleterListCmp.prototype.toTop = function () {
this.currentIndex = 0;
};
CompleterListCmp.prototype.dropdownRow = function () {
return this.listElm.nativeElement.querySelectorAll(".completer-row")[this.currentIndex];
};
CompleterListCmp.prototype.dropdownHeight = function () {
return this.dd.getBoundingClientRect().top +
parseInt(getComputedStyle(this.dd).maxHeight, 10);
};
CompleterListCmp.prototype.dropdownScrollTopTo = function (offset) {
this.dd.scrollTop = this.dd.scrollTop + offset;
};
CompleterListCmp.prototype.dropdownRowOffsetHeight = function (row) {
var css = getComputedStyle(row);
return row.offsetHeight +
parseInt(css.marginTop, 10) + parseInt(css.marginBottom, 10);
};
CompleterListCmp.prototype.dropdownRowTop = function () {
return this.dropdownRow().getBoundingClientRect().top -
(this.dd.getBoundingClientRect().top +
parseInt(getComputedStyle(this.dd).paddingTop, 10));
};
__decorate([
core_1.Input(),
__metadata('design:type', Array)
], CompleterListCmp.prototype, "results", void 0);
__decorate([
core_1.Input(),
__metadata('design:type', String)
], CompleterListCmp.prototype, "matchClass", void 0);
__decorate([
core_1.Input(),
__metadata('design:type', Object)
], CompleterListCmp.prototype, "searchStr", void 0);
__decorate([
core_1.Input(),
__metadata('design:type', String)
], CompleterListCmp.prototype, "textSearching", void 0);
__decorate([
core_1.Input(),
__metadata('design:type', Boolean)
], CompleterListCmp.prototype, "searching", void 0);
__decorate([
core_1.Input(),
__metadata('design:type', String)
], CompleterListCmp.prototype, "textNoResults", void 0);
__decorate([
core_1.Input(),
__metadata('design:type', Boolean)
], CompleterListCmp.prototype, "displaySearching", void 0);
__decorate([
core_1.Output(),
__metadata('design:type', Object)
], CompleterListCmp.prototype, "selected", void 0);
CompleterListCmp = __decorate([
core_1.Component({
selector: "completer-list",
template: template,
styles: [defaultStyles],
directives: [completer_list_item_cmp_1.CompleterListItemCmp]
}),
__metadata('design:paramtypes', [core_1.ElementRef])
], CompleterListCmp);
return CompleterListCmp;
}());
exports.CompleterListCmp = CompleterListCmp;
/***/ },
/* 8 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (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;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var core_1 = __webpack_require__(1);
var template = __webpack_require__(14);
var template = __webpack_require__(18);
var CompleterListItemCmp = (function () {

@@ -963,11 +978,9 @@ function CompleterListItemCmp() {

/***/ },
/* 9 */
/* 12 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
var core_1 = __webpack_require__(1);
var http_1 = __webpack_require__(16);
var http_1 = __webpack_require__(8);
var local_data_1 = __webpack_require__(3);
var remote_data_1 = __webpack_require__(4);
var completer_service_1 = __webpack_require__(5);
function localDataFactory() {

@@ -985,11 +998,63 @@ return function () {

exports.remoteDataFactory = remoteDataFactory;
exports.COMPLETER_DATA_PROVIDERS = [
core_1.provide(local_data_1.LocalData, { useFactory: localDataFactory }),
core_1.provide(remote_data_1.RemoteData, { useFactory: remoteDataFactory, deps: [http_1.Http] }),
core_1.provide(completer_service_1.CompleterService, { useClass: completer_service_1.CompleterService })
];
exports.LocalDataFactoryProvider = { provide: local_data_1.LocalData, useFactory: localDataFactory };
exports.RemoteDataFactoryProvider = { provide: remote_data_1.RemoteData, useFactory: remoteDataFactory, deps: [http_1.Http] };
/***/ },
/* 10 */
/* 13 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (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;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var core_1 = __webpack_require__(1);
var forms_1 = __webpack_require__(7);
var http_1 = __webpack_require__(8);
var completer_cmp_1 = __webpack_require__(10);
var completer_list_cmp_1 = __webpack_require__(5);
var completer_list_item_cmp_1 = __webpack_require__(11);
var completer_service_1 = __webpack_require__(6);
var completer_data_factory_1 = __webpack_require__(12);
var common_1 = __webpack_require__(19);
var Ng2CompleterModule = (function () {
function Ng2CompleterModule() {
}
Ng2CompleterModule = __decorate([
core_1.NgModule({
imports: [
common_1.CommonModule,
forms_1.FormsModule,
forms_1.ReactiveFormsModule,
http_1.HttpModule
],
declarations: [
completer_cmp_1.CompleterCmp,
completer_list_cmp_1.CompleterListCmp,
completer_list_item_cmp_1.CompleterListItemCmp
],
providers: [
completer_service_1.CompleterService,
completer_data_factory_1.LocalDataFactoryProvider,
completer_data_factory_1.RemoteDataFactoryProvider
],
exports: [
completer_cmp_1.CompleterCmp
]
}),
__metadata('design:paramtypes', [])
], Ng2CompleterModule);
return Ng2CompleterModule;
}());
exports.Ng2CompleterModule = Ng2CompleterModule;
/***/ },
/* 14 */
/***/ function(module, exports) {

@@ -1000,3 +1065,3 @@

/***/ },
/* 11 */
/* 15 */
/***/ function(module, exports) {

@@ -1007,3 +1072,3 @@

/***/ },
/* 12 */
/* 16 */
/***/ function(module, exports) {

@@ -1014,3 +1079,3 @@

/***/ },
/* 13 */
/* 17 */
/***/ function(module, exports) {

@@ -1021,3 +1086,3 @@

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

@@ -1028,21 +1093,15 @@

/***/ },
/* 15 */
/* 19 */
/***/ function(module, exports) {
module.exports = require("@angular/forms");
module.exports = require("@angular/common");
/***/ },
/* 16 */
/* 20 */
/***/ function(module, exports) {
module.exports = require("@angular/http");
/***/ },
/* 17 */
/***/ function(module, exports) {
module.exports = require("rxjs/Observable");
/***/ },
/* 18 */
/* 21 */
/***/ function(module, exports) {

@@ -1053,11 +1112,5 @@

/***/ },
/* 19 */
/* 22 */
/***/ function(module, exports) {
module.exports = require("rxjs/add/operator/catch");
/***/ },
/* 20 */
/***/ function(module, exports) {
module.exports = require("rxjs/add/operator/map");

@@ -1064,0 +1117,0 @@

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

!function(root,factory){"object"==typeof exports&&"object"==typeof module?module.exports=factory(require("@angular/core"),require("@angular/forms"),require("@angular/http"),require("rxjs/Observable"),require("rxjs/Subject"),require("rxjs/add/operator/catch"),require("rxjs/add/operator/map")):"function"==typeof define&&define.amd?define("ng2-completer",["@angular/core","@angular/forms","@angular/http","rxjs/Observable","rxjs/Subject","rxjs/add/operator/catch","rxjs/add/operator/map"],factory):"object"==typeof exports?exports["ng2-completer"]=factory(require("@angular/core"),require("@angular/forms"),require("@angular/http"),require("rxjs/Observable"),require("rxjs/Subject"),require("rxjs/add/operator/catch"),require("rxjs/add/operator/map")):root["ng2-completer"]=factory(root["@angular/core"],root["@angular/forms"],root["@angular/http"],root["rxjs/Observable"],root["rxjs/Subject"],root["rxjs/add/operator/catch"],root["rxjs/add/operator/map"])}(this,function(__WEBPACK_EXTERNAL_MODULE_1__,__WEBPACK_EXTERNAL_MODULE_15__,__WEBPACK_EXTERNAL_MODULE_16__,__WEBPACK_EXTERNAL_MODULE_17__,__WEBPACK_EXTERNAL_MODULE_18__,__WEBPACK_EXTERNAL_MODULE_19__,__WEBPACK_EXTERNAL_MODULE_20__){return function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={exports:{},id:moduleId,loaded:!1};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.loaded=!0,module.exports}var installedModules={};return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.p="",__webpack_require__(0)}([function(module,exports,__webpack_require__){"use strict";var completer_cmp_1=__webpack_require__(6);exports.CompleterCmp=completer_cmp_1.CompleterCmp;var completer_data_factory_1=__webpack_require__(9);exports.COMPLETER_DATA_PROVIDERS=completer_data_factory_1.COMPLETER_DATA_PROVIDERS;var completer_service_1=__webpack_require__(5);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},function(module,exports){module.exports=require("@angular/core")},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__(18),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="",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__(1),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 __)};__webpack_require__(20);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.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).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__(1),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",[Function,Function])],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)},core_1=__webpack_require__(1),forms_1=__webpack_require__(15),Observable_1=__webpack_require__(17),completer_list_cmp_1=__webpack_require__(7);__webpack_require__(19);var template=__webpack_require__(11),defaultStyles=__webpack_require__(10),KEY_DW=40,KEY_RT=39,KEY_UP=38,KEY_LF=37,KEY_ES=27,KEY_EN=13,KEY_TAB=9,MIN_SEARCH_LENGTH=3,MAX_CHARS=524288,PAUSE=250,BLUR_TIMEOUT=200,TEXT_SEARCHING="Searching...",TEXT_NORESULTS="No results found",noop=function(){},COMPLETER_CONTROL_VALUE_ACCESSOR=new core_1.Provider(forms_1.NG_VALUE_ACCESSOR,{useExisting:core_1.forwardRef(function(){return CompleterCmp}),multi:!0}),CompleterCmp=function(){function CompleterCmp(){this.searchFields="",this.inputName="",this.pause=PAUSE,this.minSearchLength=MIN_SEARCH_LENGTH,this.maxChars=MAX_CHARS,this.overrideSuggested=!1,this.clearSelected=!1,this.placeholder="",this.textSearching=TEXT_SEARCHING,this.textNoResults=TEXT_NORESULTS,this.autoMatch=!1,this.disableInput=!1,this.selected=new core_1.EventEmitter,this.searchStr="",this.searching=!1,this.showDropdown=!1,this.displayNoResults=!0,this.searchTimer=null,this.hideTimer=null,this.displaySearching=!0,this.selectedObject=null,this.results=[],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.keyupHandler=function(event){var _this=this;if(event.keyCode!==KEY_LF&&event.keyCode!==KEY_RT)if(event.keyCode===KEY_UP||event.keyCode===KEY_EN)event.preventDefault();else if(event.keyCode===KEY_DW)event.preventDefault(),!this.showDropdown&&this.searchStr&&this.searchStr.length>=this.minSearchLength&&(this.initResults(),this.searching=!0,this.searchTimerComplete(this.searchStr));else if(event.keyCode===KEY_ES)this.clearResults();else{if(this._onChangeCallback(this.searchStr),!this.searchStr)return void(this.showDropdown=!1);""===this.searchStr?this.showDropdown=!1:this.searchStr.length>=this.minSearchLength&&(this.initResults(),this.searchTimer&&clearTimeout(this.searchTimer),this.searching=!0,this.searchTimer=setTimeout(function(){_this.searchTimerComplete(_this.searchStr)},this.pause))}},CompleterCmp.prototype.keydownHandler=function(event){this.listCmp&&(event.keyCode===KEY_EN&&this.results?this.listCmp.currentIndex>=0&&this.listCmp.currentIndex<this.results.length?(event.preventDefault(),this.selectResult(this.results[this.listCmp.currentIndex])):(this.handleOverrideSuggestions(event),this.clearResults()):event.keyCode===KEY_DW&&this.results?(event.preventDefault(),this.showDropdown&&this.listCmp.currentIndex+1<this.results.length&&(this.listCmp.incIndex(),this.searchStr=this.results[this.listCmp.currentIndex].title)):event.keyCode===KEY_UP&&this.results?(event.preventDefault(),this.showDropdown&&this.listCmp.currentIndex>=1?(this.listCmp.decIndex(),this.searchStr=this.results[this.listCmp.currentIndex].title):this.showDropdown&&0===this.listCmp.currentIndex&&this.listCmp.unselect()):event.keyCode===KEY_TAB?this.results&&this.results.length>0&&this.showDropdown?this.listCmp.currentIndex===-1&&this.overrideSuggested?this.handleOverrideSuggestions():(this.listCmp.currentIndex===-1&&this.listCmp.toTop(),this.selectResult(this.results[this.listCmp.currentIndex])):this.searchStr&&this.searchStr.length>0&&this.handleOverrideSuggestions():event.keyCode===KEY_ES&&event.preventDefault())},CompleterCmp.prototype.ngOnInit=function(){var _this=this;"false"===this.textNoResults&&(this.displayNoResults=!1),"false"===this.textSearching&&(this.displaySearching=!1),this.selected.subscribe(function(){_this.clearResults()}),this.dataService.catch(function(err){return _this.handleError(err)}).subscribe(function(results){_this.searching=!1,_this.results=results,_this.autoMatch&&1===_this.results.length&&_this.results[0].title.toLocaleLowerCase()===_this.searchStr.toLocaleLowerCase()?_this.showDropdown=!1:0!==_this.results.length||_this.displayNoResults?_this.showDropdown=!0:_this.showDropdown=!1})},CompleterCmp.prototype.selectResult=function(result){this.searchStr=result.title,this._onChangeCallback(this.searchStr),this.callOrAssign(result),this.clearSelected&&(this.searchStr=null),this.clearResults()},CompleterCmp.prototype.hideResults=function(){var _this=this;this.hideTimer=setTimeout(function(){_this.clearResults()},BLUR_TIMEOUT),this.overrideSuggested?this.searchStr&&this.searchStr.length>0&&this.listCmp&&this.listCmp.currentIndex===-1&&this.handleOverrideSuggestions():this.listCmp&&this.listCmp.currentIndex>=0&&this.selectResult(this.results[this.listCmp.currentIndex]),this.dataService.cancel()},CompleterCmp.prototype.onBlur=function(){this.onTouched(),this.hideResults()},CompleterCmp.prototype.initResults=function(){this.showDropdown=this.displaySearching,this.results=[]},CompleterCmp.prototype.searchTimerComplete=function(str){!str||str.length<this.minSearchLength||this.dataService.search(str)},CompleterCmp.prototype.clearResults=function(){this.results=[],this.showDropdown=!1},CompleterCmp.prototype.handleOverrideSuggestions=function(event){!this.overrideSuggested||this.selectedObject&&this.selectedObject.originalObject===this.searchStr||(event&&event.preventDefault(),clearTimeout(this.searchTimer),this.dataService.cancel(),this.setInputString(this.searchStr))},CompleterCmp.prototype.setInputString=function(str){this.callOrAssign({title:null,originalObject:str}),this.clearSelected&&(this.searchStr=null),this.clearResults()},CompleterCmp.prototype.callOrAssign=function(value){this.selectedObject=value,this.selected.emit(value)},CompleterCmp.prototype.handleError=function(error){this.searching=!1;var errMsg=error.message?error.message:error.status?error.status+" - "+error.statusText:"Server error";return console&&console.error&&console.error(errMsg),Observable_1.Observable.throw(errMsg)},__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"dataService",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"searchFields",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.ViewChild(completer_list_cmp_1.CompleterListCmp),__metadata("design:type",completer_list_cmp_1.CompleterListCmp)],CompleterCmp.prototype,"listCmp",void 0),CompleterCmp=__decorate([core_1.Component({selector:"ng2-completer",directives:[completer_list_cmp_1.CompleterListCmp],template:template,styles:[defaultStyles],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__(1),completer_list_item_cmp_1=__webpack_require__(8),template=__webpack_require__(13),defaultStyles=__webpack_require__(12),CompleterListCmp=function(){function CompleterListCmp(listElm){this.listElm=listElm,this.results=[],this.searchStr="",this.selected=new core_1.EventEmitter,this.currentIndex=-1,this.isScrollOn=!1}return CompleterListCmp.prototype.ngAfterContentInit=function(){this.dd=this.listElm.nativeElement.querySelector(".completer-dropdown");var css=getComputedStyle(this.dd);this.isScrollOn=css.maxHeight&&"auto"===css.overflowY},CompleterListCmp.prototype.onClick=function(result){this.selected.emit(result)},CompleterListCmp.prototype.hoverRow=function(index){this.currentIndex=index},CompleterListCmp.prototype.incIndex=function(){if(this.currentIndex++,this.isScrollOn){var row=this.dropdownRow();this.dropdownHeight()<row.getBoundingClientRect().bottom&&this.dropdownScrollTopTo(this.dropdownRowOffsetHeight(row))}},CompleterListCmp.prototype.decIndex=function(){if(this.currentIndex--,this.isScrollOn){var rowTop=this.dropdownRowTop();rowTop<0&&this.dropdownScrollTopTo(rowTop-1)}},CompleterListCmp.prototype.unselect=function(){this.currentIndex=-1},CompleterListCmp.prototype.toTop=function(){this.currentIndex=0},CompleterListCmp.prototype.dropdownRow=function(){return this.listElm.nativeElement.querySelectorAll(".completer-row")[this.currentIndex]},CompleterListCmp.prototype.dropdownHeight=function(){return this.dd.getBoundingClientRect().top+parseInt(getComputedStyle(this.dd).maxHeight,10)},CompleterListCmp.prototype.dropdownScrollTopTo=function(offset){this.dd.scrollTop=this.dd.scrollTop+offset},CompleterListCmp.prototype.dropdownRowOffsetHeight=function(row){var css=getComputedStyle(row);return row.offsetHeight+parseInt(css.marginTop,10)+parseInt(css.marginBottom,10)},CompleterListCmp.prototype.dropdownRowTop=function(){return this.dropdownRow().getBoundingClientRect().top-(this.dd.getBoundingClientRect().top+parseInt(getComputedStyle(this.dd).paddingTop,10))},__decorate([core_1.Input(),__metadata("design:type",Array)],CompleterListCmp.prototype,"results",void 0),__decorate([core_1.Input(),__metadata("design:type",String)],CompleterListCmp.prototype,"matchClass",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterListCmp.prototype,"searchStr",void 0),__decorate([core_1.Input(),__metadata("design:type",String)],CompleterListCmp.prototype,"textSearching",void 0),__decorate([core_1.Input(),__metadata("design:type",Boolean)],CompleterListCmp.prototype,"searching",void 0),__decorate([core_1.Input(),__metadata("design:type",String)],CompleterListCmp.prototype,"textNoResults",void 0),__decorate([core_1.Input(),__metadata("design:type",Boolean)],CompleterListCmp.prototype,"displaySearching",void 0),__decorate([core_1.Output(),__metadata("design:type",Object)],CompleterListCmp.prototype,"selected",void 0),CompleterListCmp=__decorate([core_1.Component({selector:"completer-list",template:template,styles:[defaultStyles],directives:[completer_list_item_cmp_1.CompleterListItemCmp]}),__metadata("design:paramtypes",[core_1.ElementRef])],CompleterListCmp)}();exports.CompleterListCmp=CompleterListCmp},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__(1),template=__webpack_require__(14),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:template}),__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 core_1=__webpack_require__(1),http_1=__webpack_require__(16),local_data_1=__webpack_require__(3),remote_data_1=__webpack_require__(4),completer_service_1=__webpack_require__(5);exports.localDataFactory=localDataFactory,exports.remoteDataFactory=remoteDataFactory,exports.COMPLETER_DATA_PROVIDERS=[core_1.provide(local_data_1.LocalData,{useFactory:localDataFactory}),core_1.provide(remote_data_1.RemoteData,{useFactory:remoteDataFactory,deps:[http_1.Http]}),core_1.provide(completer_service_1.CompleterService,{useClass:completer_service_1.CompleterService})]},function(module,exports){module.exports=""},function(module,exports){module.exports='<div class="completer-holder">\n <input class="completer-input"\n [(ngModel)]="searchStr"\n (keyup)="keyupHandler($event)"\n (keydown)="keydownHandler($event)"\n [attr.name]="inputName"\n [placeholder]="placeholder"\n [attr.maxlength]="maxChars"\n (blur)="onBlur()"\n [tabindex]="fieldTabindex"\n [disabled]="disableInput"\n completer="off"\n autocorrect="off"\n autocapitalize="off"\n />\n <completer-list *ngIf="showDropdown" class="completer-dropdown-holder" [results]="results" [searchStr]="searchStr" (selected)="selectResult($event)" \n [matchClass]="matchClass" [textSearching]="textSearching" [searching]="searching" [textNoResults]="textNoResults" [displaySearching]="displaySearching">\n </completer-list>\n\n</div>'},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 /*top: 32px;\n left: 0px;\n */\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}\n\n.completer-selected-row {\n background-color: lightblue;\n color: #ffffff;\n}\n\n.completer-description {\n font-size: 14px;\n}"},function(module,exports){module.exports='<div class="completer-dropdown">\n <div *ngIf="searching && displaySearching" class="completer-searching">{{textSearching}}</div>\n <div *ngIf="!searching && (!results || results.length == 0)" class="completer-no-results">{{textNoResults}}</div>\n <div class="completer-row" *ngFor="let result of results; let i=index" (mouseenter)="hoverRow(i)" (click)="onClick(result)" [ngClass]="{\'completer-selected-row\': i == currentIndex}">\n <div *ngIf="result.image && result.image != \'\'" class="completer-image-holder">\n <img *ngIf="result.image && result.image != \'\'" src="{{result.image}}" class="completer-image" />\n <div *ngIf="!result.image && result.image != \'\'" class="completer-image-default"></div>\n </div>\n <completer-list-item class="completer-title" [text]="result.title" [matchClass]="matchClass" [searchStr]="searchStr" [type]="\'title\'"></completer-list-item>\n <completer-list-item *ngIf="result.description && result.description != \'\'" class="completer-description"\n [text]="result.description" [matchClass]="matchClass" [searchStr]="searchStr" [type]="\'description\'">\n </completer-list-item>\n\n <!--<div ng-if="matchClass && result.description && result.description != \\\'\\\'" class="angucomplete-description" ng-bind-html="result.description"></div>-->\n <!--<div *ngIf="!matchClass && result.description && result.description != \'\'" class="completer-description">{{result.description}}</div>-->\n </div>\n</div>'},function(module,exports){module.exports='<div 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</div>'},function(module,exports){module.exports=require("@angular/forms")},function(module,exports){module.exports=require("@angular/http")},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/catch")},function(module,exports){module.exports=require("rxjs/add/operator/map")}])});
!function(root,factory){"object"==typeof exports&&"object"==typeof module?module.exports=factory(require("@angular/core"),require("@angular/forms"),require("@angular/http"),require("rxjs/add/operator/catch"),require("@angular/common"),require("rxjs/Observable"),require("rxjs/Subject"),require("rxjs/add/operator/map")):"function"==typeof define&&define.amd?define("ng2-completer",["@angular/core","@angular/forms","@angular/http","rxjs/add/operator/catch","@angular/common","rxjs/Observable","rxjs/Subject","rxjs/add/operator/map"],factory):"object"==typeof exports?exports["ng2-completer"]=factory(require("@angular/core"),require("@angular/forms"),require("@angular/http"),require("rxjs/add/operator/catch"),require("@angular/common"),require("rxjs/Observable"),require("rxjs/Subject"),require("rxjs/add/operator/map")):root["ng2-completer"]=factory(root["@angular/core"],root["@angular/forms"],root["@angular/http"],root["rxjs/add/operator/catch"],root["@angular/common"],root["rxjs/Observable"],root["rxjs/Subject"],root["rxjs/add/operator/map"])}(this,function(__WEBPACK_EXTERNAL_MODULE_1__,__WEBPACK_EXTERNAL_MODULE_7__,__WEBPACK_EXTERNAL_MODULE_8__,__WEBPACK_EXTERNAL_MODULE_9__,__WEBPACK_EXTERNAL_MODULE_19__,__WEBPACK_EXTERNAL_MODULE_20__,__WEBPACK_EXTERNAL_MODULE_21__,__WEBPACK_EXTERNAL_MODULE_22__){return function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={exports:{},id:moduleId,loaded:!1};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.loaded=!0,module.exports}var installedModules={};return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.p="",__webpack_require__(0)}([function(module,exports,__webpack_require__){"use strict";var ng2_completer_module_1=__webpack_require__(13);exports.Ng2CompleterModule=ng2_completer_module_1.Ng2CompleterModule;var completer_service_1=__webpack_require__(6);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},function(module,exports){module.exports=require("@angular/core")},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__(21),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="",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__(1),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 __)};__webpack_require__(22),__webpack_require__(9);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.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).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)},core_1=__webpack_require__(1),template=__webpack_require__(17),defaultStyles=__webpack_require__(16),CompleterListCmp=function(){function CompleterListCmp(listElm){this.listElm=listElm,this.results=[],this.searchStr="",this.selected=new core_1.EventEmitter,this.currentIndex=-1,this.isScrollOn=!1}return CompleterListCmp.prototype.ngAfterContentInit=function(){this.dd=this.listElm.nativeElement.querySelector(".completer-dropdown");var css=getComputedStyle(this.dd);this.isScrollOn=css.maxHeight&&"auto"===css.overflowY},CompleterListCmp.prototype.onClick=function(result){this.selected.emit(result)},CompleterListCmp.prototype.hoverRow=function(index){this.currentIndex=index},CompleterListCmp.prototype.incIndex=function(){if(this.currentIndex++,this.isScrollOn){var row=this.dropdownRow();this.dropdownHeight()<row.getBoundingClientRect().bottom&&this.dropdownScrollTopTo(this.dropdownRowOffsetHeight(row))}},CompleterListCmp.prototype.decIndex=function(){if(this.currentIndex--,this.isScrollOn){var rowTop=this.dropdownRowTop();rowTop<0&&this.dropdownScrollTopTo(rowTop-1)}},CompleterListCmp.prototype.unselect=function(){this.currentIndex=-1},CompleterListCmp.prototype.toTop=function(){this.currentIndex=0},CompleterListCmp.prototype.dropdownRow=function(){return this.listElm.nativeElement.querySelectorAll(".completer-row")[this.currentIndex]},CompleterListCmp.prototype.dropdownHeight=function(){return this.dd.getBoundingClientRect().top+parseInt(getComputedStyle(this.dd).maxHeight,10)},CompleterListCmp.prototype.dropdownScrollTopTo=function(offset){this.dd.scrollTop=this.dd.scrollTop+offset},CompleterListCmp.prototype.dropdownRowOffsetHeight=function(row){var css=getComputedStyle(row);return row.offsetHeight+parseInt(css.marginTop,10)+parseInt(css.marginBottom,10)},CompleterListCmp.prototype.dropdownRowTop=function(){return this.dropdownRow().getBoundingClientRect().top-(this.dd.getBoundingClientRect().top+parseInt(getComputedStyle(this.dd).paddingTop,10))},__decorate([core_1.Input(),__metadata("design:type",Array)],CompleterListCmp.prototype,"results",void 0),__decorate([core_1.Input(),__metadata("design:type",String)],CompleterListCmp.prototype,"matchClass",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterListCmp.prototype,"searchStr",void 0),__decorate([core_1.Input(),__metadata("design:type",String)],CompleterListCmp.prototype,"textSearching",void 0),__decorate([core_1.Input(),__metadata("design:type",Boolean)],CompleterListCmp.prototype,"searching",void 0),__decorate([core_1.Input(),__metadata("design:type",String)],CompleterListCmp.prototype,"textNoResults",void 0),__decorate([core_1.Input(),__metadata("design:type",Boolean)],CompleterListCmp.prototype,"displaySearching",void 0),__decorate([core_1.Output(),__metadata("design:type",Object)],CompleterListCmp.prototype,"selected",void 0),CompleterListCmp=__decorate([core_1.Component({selector:"completer-list",template:template,styles:[defaultStyles]}),__metadata("design:paramtypes",[core_1.ElementRef])],CompleterListCmp)}();exports.CompleterListCmp=CompleterListCmp},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__(1),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",[Function,Function])],CompleterService)}();exports.CompleterService=CompleterService},function(module,exports){module.exports=require("@angular/forms")},function(module,exports){module.exports=require("@angular/http")},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__(1),forms_1=__webpack_require__(7),Observable_1=__webpack_require__(20),completer_list_cmp_1=__webpack_require__(5);__webpack_require__(9);var template=__webpack_require__(15),defaultStyles=__webpack_require__(14),KEY_DW=40,KEY_RT=39,KEY_UP=38,KEY_LF=37,KEY_ES=27,KEY_EN=13,KEY_TAB=9,MIN_SEARCH_LENGTH=3,MAX_CHARS=524288,PAUSE=250,BLUR_TIMEOUT=200,TEXT_SEARCHING="Searching...",TEXT_NORESULTS="No results found",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.searchFields="",this.inputName="",this.pause=PAUSE,this.minSearchLength=MIN_SEARCH_LENGTH,this.maxChars=MAX_CHARS,this.overrideSuggested=!1,this.clearSelected=!1,this.placeholder="",this.textSearching=TEXT_SEARCHING,this.textNoResults=TEXT_NORESULTS,this.autoMatch=!1,this.disableInput=!1,this.selected=new core_1.EventEmitter,this.searchStr="",this.searching=!1,this.showDropdown=!1,this.displayNoResults=!0,this.searchTimer=null,this.hideTimer=null,this.displaySearching=!0,this.selectedObject=null,this.results=[],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.keyupHandler=function(event){var _this=this;if(event.keyCode!==KEY_LF&&event.keyCode!==KEY_RT)if(event.keyCode===KEY_UP||event.keyCode===KEY_EN)event.preventDefault();else if(event.keyCode===KEY_DW)event.preventDefault(),!this.showDropdown&&this.searchStr&&this.searchStr.length>=this.minSearchLength&&(this.initResults(),this.searching=!0,this.searchTimerComplete(this.searchStr));else if(event.keyCode===KEY_ES)this.clearResults();else{if(this._onChangeCallback(this.searchStr),!this.searchStr)return void(this.showDropdown=!1);""===this.searchStr?this.showDropdown=!1:this.searchStr.length>=this.minSearchLength&&(this.initResults(),this.searchTimer&&clearTimeout(this.searchTimer),this.searching=!0,this.searchTimer=setTimeout(function(){_this.searchTimerComplete(_this.searchStr)},this.pause))}},CompleterCmp.prototype.keydownHandler=function(event){this.listCmp&&(event.keyCode===KEY_EN&&this.results?this.listCmp.currentIndex>=0&&this.listCmp.currentIndex<this.results.length?(event.preventDefault(),this.selectResult(this.results[this.listCmp.currentIndex])):(this.handleOverrideSuggestions(event),this.clearResults()):event.keyCode===KEY_DW&&this.results?(event.preventDefault(),this.showDropdown&&this.listCmp.currentIndex+1<this.results.length&&(this.listCmp.incIndex(),this.searchStr=this.results[this.listCmp.currentIndex].title)):event.keyCode===KEY_UP&&this.results?(event.preventDefault(),this.showDropdown&&this.listCmp.currentIndex>=1?(this.listCmp.decIndex(),this.searchStr=this.results[this.listCmp.currentIndex].title):this.showDropdown&&0===this.listCmp.currentIndex&&this.listCmp.unselect()):event.keyCode===KEY_TAB?this.results&&this.results.length>0&&this.showDropdown?this.listCmp.currentIndex===-1&&this.overrideSuggested?this.handleOverrideSuggestions():(this.listCmp.currentIndex===-1&&this.listCmp.toTop(),this.selectResult(this.results[this.listCmp.currentIndex])):this.searchStr&&this.searchStr.length>0&&this.handleOverrideSuggestions():event.keyCode===KEY_ES&&event.preventDefault())},CompleterCmp.prototype.ngOnInit=function(){var _this=this;"false"===this.textNoResults&&(this.displayNoResults=!1),"false"===this.textSearching&&(this.displaySearching=!1),this.selected.subscribe(function(){_this.clearResults()}),this.dataService.catch(function(err){return _this.handleError(err)}).subscribe(function(results){_this.searching=!1,_this.results=results,_this.autoMatch&&1===_this.results.length&&_this.results[0].title.toLocaleLowerCase()===_this.searchStr.toLocaleLowerCase()?_this.showDropdown=!1:0!==_this.results.length||_this.displayNoResults?_this.showDropdown=!0:_this.showDropdown=!1})},CompleterCmp.prototype.selectResult=function(result){this.searchStr=result.title,this._onChangeCallback(this.searchStr),this.callOrAssign(result),this.clearSelected&&(this.searchStr=null),this.clearResults()},CompleterCmp.prototype.hideResults=function(){var _this=this;this.hideTimer=setTimeout(function(){_this.clearResults()},BLUR_TIMEOUT),this.overrideSuggested?this.searchStr&&this.searchStr.length>0&&this.listCmp&&this.listCmp.currentIndex===-1&&this.handleOverrideSuggestions():this.listCmp&&this.listCmp.currentIndex>=0&&this.selectResult(this.results[this.listCmp.currentIndex]),this.dataService.cancel()},CompleterCmp.prototype.onBlur=function(){this.onTouched(),this.hideResults()},CompleterCmp.prototype.initResults=function(){this.showDropdown=this.displaySearching,this.results=[]},CompleterCmp.prototype.searchTimerComplete=function(str){!str||str.length<this.minSearchLength||this.dataService.search(str)},CompleterCmp.prototype.clearResults=function(){this.results=[],this.showDropdown=!1},CompleterCmp.prototype.handleOverrideSuggestions=function(event){!this.overrideSuggested||this.selectedObject&&this.selectedObject.originalObject===this.searchStr||(event&&event.preventDefault(),clearTimeout(this.searchTimer),this.dataService.cancel(),this.setInputString(this.searchStr))},CompleterCmp.prototype.setInputString=function(str){this.callOrAssign({title:null,originalObject:str}),this.clearSelected&&(this.searchStr=null),this.clearResults()},CompleterCmp.prototype.callOrAssign=function(value){this.selectedObject=value,this.selected.emit(value)},CompleterCmp.prototype.handleError=function(error){this.searching=!1;var errMsg=error.message?error.message:error.status?error.status+" - "+error.statusText:"Server error";return console&&console.error&&console.error(errMsg),Observable_1.Observable.throw(errMsg)},__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"dataService",void 0),__decorate([core_1.Input(),__metadata("design:type",Object)],CompleterCmp.prototype,"searchFields",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.ViewChild(completer_list_cmp_1.CompleterListCmp),__metadata("design:type",completer_list_cmp_1.CompleterListCmp)],CompleterCmp.prototype,"listCmp",void 0),CompleterCmp=__decorate([core_1.Component({selector:"ng2-completer",template:template,styles:[defaultStyles],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__(1),template=__webpack_require__(18),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:template}),__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__(8),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,__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__(1),forms_1=__webpack_require__(7),http_1=__webpack_require__(8),completer_cmp_1=__webpack_require__(10),completer_list_cmp_1=__webpack_require__(5),completer_list_item_cmp_1=__webpack_require__(11),completer_service_1=__webpack_require__(6),completer_data_factory_1=__webpack_require__(12),common_1=__webpack_require__(19),Ng2CompleterModule=function(){function Ng2CompleterModule(){}return Ng2CompleterModule=__decorate([core_1.NgModule({imports:[common_1.CommonModule,forms_1.FormsModule,forms_1.ReactiveFormsModule,http_1.HttpModule],declarations:[completer_cmp_1.CompleterCmp,completer_list_cmp_1.CompleterListCmp,completer_list_item_cmp_1.CompleterListItemCmp],providers:[completer_service_1.CompleterService,completer_data_factory_1.LocalDataFactoryProvider,completer_data_factory_1.RemoteDataFactoryProvider],exports:[completer_cmp_1.CompleterCmp]}),__metadata("design:paramtypes",[])],Ng2CompleterModule)}();exports.Ng2CompleterModule=Ng2CompleterModule},function(module,exports){module.exports=""},function(module,exports){module.exports='<div class="completer-holder">\n <input class="completer-input"\n [(ngModel)]="searchStr"\n (keyup)="keyupHandler($event)"\n (keydown)="keydownHandler($event)"\n [attr.name]="inputName"\n [placeholder]="placeholder"\n [attr.maxlength]="maxChars"\n (blur)="onBlur()"\n [tabindex]="fieldTabindex"\n [disabled]="disableInput"\n completer="off"\n autocorrect="off"\n autocapitalize="off"\n />\n <completer-list *ngIf="showDropdown" class="completer-dropdown-holder" [results]="results" [searchStr]="searchStr" (selected)="selectResult($event)" \n [matchClass]="matchClass" [textSearching]="textSearching" [searching]="searching" [textNoResults]="textNoResults" [displaySearching]="displaySearching">\n </completer-list>\n\n</div>'},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 /*top: 32px;\n left: 0px;\n */\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}\n\n.completer-selected-row {\n background-color: lightblue;\n color: #ffffff;\n}\n\n.completer-description {\n font-size: 14px;\n}"},function(module,exports){module.exports='<div class="completer-dropdown">\n <div *ngIf="searching && displaySearching" class="completer-searching">{{textSearching}}</div>\n <div *ngIf="!searching && (!results || results.length == 0)" class="completer-no-results">{{textNoResults}}</div>\n <div class="completer-row" *ngFor="let result of results; let i=index" (mouseenter)="hoverRow(i)" (click)="onClick(result)" [ngClass]="{\'completer-selected-row\': i == currentIndex}">\n <div *ngIf="result.image && result.image != \'\'" class="completer-image-holder">\n <img *ngIf="result.image && result.image != \'\'" src="{{result.image}}" class="completer-image" />\n <div *ngIf="!result.image && result.image != \'\'" class="completer-image-default"></div>\n </div>\n <completer-list-item class="completer-title" [text]="result.title" [matchClass]="matchClass" [searchStr]="searchStr" [type]="\'title\'"></completer-list-item>\n <completer-list-item *ngIf="result.description && result.description != \'\'" class="completer-description"\n [text]="result.description" [matchClass]="matchClass" [searchStr]="searchStr" [type]="\'description\'">\n </completer-list-item>\n\n <!--<div ng-if="matchClass && result.description && result.description != \\\'\\\'" class="angucomplete-description" ng-bind-html="result.description"></div>-->\n <!--<div *ngIf="!matchClass && result.description && result.description != \'\'" class="completer-description">{{result.description}}</div>-->\n </div>\n</div>'},function(module,exports){module.exports='<div 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</div>'},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")}])});
//# sourceMappingURL=ng2-completer.min.js.map

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

import { Provider } from "@angular/core";
import { Http } from "@angular/http";

@@ -7,2 +6,10 @@ import { LocalData } from "./local-data";

export declare function remoteDataFactory(http: Http): () => RemoteData;
export declare let COMPLETER_DATA_PROVIDERS: Provider[];
export declare let LocalDataFactoryProvider: {
provide: typeof LocalData;
useFactory: () => () => LocalData;
};
export declare let RemoteDataFactoryProvider: {
provide: typeof RemoteData;
useFactory: (http: Http) => () => RemoteData;
deps: typeof Http[];
};
import { Http } from "@angular/http";
import "rxjs/add/operator/map";
import "rxjs/add/operator/catch";
import { CompleterBaseData } from "./completer-base-data";

@@ -4,0 +5,0 @@ export declare class RemoteData extends CompleterBaseData {

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

export { CompleterCmp } from "./components/ng2-completer/completer-cmp";
export { COMPLETER_DATA_PROVIDERS } from "./components/ng2-completer/services/completer-data-factory";
export { Ng2CompleterModule } from "./ng2-completer.module";
export { CompleterService } from "./components/ng2-completer/services/completer-service";

@@ -4,0 +3,0 @@ export { CompleterData } from "./components/ng2-completer/services/completer-data";

{
"name": "ng2-completer",
"version": "0.1.8",
"version": "0.1.9",
"description": "ng2 autocomplete/typeahead component",

@@ -33,17 +33,17 @@ "main": "bundles/ng2-completer.js",

"peerDependencies": {
"@angular/common": "^2.0.0-rc.5",
"@angular/compiler": "^2.0.0-rc.5",
"@angular/core": "^2.0.0-rc.5",
"@angular/forms": "^0.3.0",
"@angular/http": "^2.0.0-rc.5"
"@angular/common": "^2.0.0-rc.6",
"@angular/compiler": "^2.0.0-rc.6",
"@angular/core": "^2.0.0-rc.6",
"@angular/forms": "^2.0.0-rc.6",
"@angular/http": "^2.0.0-rc.6"
},
"devDependencies": {
"@angular/common": "^2.0.0-rc.5",
"@angular/compiler": "^2.0.0-rc.5",
"@angular/core": "^2.0.0-rc.5",
"@angular/forms": "^0.3.0",
"@angular/http": "^2.0.0-rc.5",
"@angular/platform-browser": "^2.0.0-rc.5",
"@angular/platform-browser-dynamic": "^2.0.0-rc.5",
"@angular/router": "^3.0.0-rc.1",
"@angular/common": "^2.0.0-rc.6",
"@angular/compiler": "^2.0.0-rc.6",
"@angular/core": "^2.0.0-rc.6",
"@angular/forms": "^2.0.0-rc.6",
"@angular/http": "^2.0.0-rc.6",
"@angular/platform-browser": "^2.0.0-rc.6",
"@angular/platform-browser-dynamic": "^2.0.0-rc.6",
"@angular/router": "^3.0.0-rc.2",
"awesome-typescript-loader": "^0.19.0",

@@ -50,0 +50,0 @@ "compression-webpack-plugin": "^0.3.1",

@@ -13,26 +13,35 @@ # ng2-completer

`npm install ng2-completer --save`
```sh
npm install ng2-completer --save
```
## Usage
`Http` and `forms` should be provided in the app:
The module you want to use ng2-completer in must import `Ng2CompleterModule` and `FormsModule` (to use the ngModel
directive on ng2-completer). `Ng2CompleterModule` provides the `CompleterService`, and declares the `ng2-completer`
directive.
```ts
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from "@angular/forms";
import { AppComponent } from './app.component';
import { Ng2CompleterModule } from "ng2-completer";
@NgModule({
imports: [
BrowserModule,
Ng2CompleterModule,
FormsModule,
],
declarations: [ AppComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
```
import { bootstrap } from '@angular/platform-browser-dynamic';
import { disableDeprecatedForms, provideForms } from '@angular/forms';
import { AppComponent, environment } from './app/';
import {HTTP_PROVIDERS} from '@angular/http';
bootstrap(AppComponent, [
HTTP_PROVIDERS,
disableDeprecatedForms(),
provideForms()
]);
```
Add ng2-completer to your component and create a data source:
```
```ts
import { Component } from '@angular/core';
import {CompleterCmp, CompleterService, CompleterData, COMPLETER_DATA_PROVIDERS} from 'ng2-completer';
import { CompleterService, CompleterData } from 'ng2-completer';

@@ -42,5 +51,3 @@ @Component({

template: `<h1>Search color</h1>
<ng2-completer [(ngModel)]="searchStr" [dataService]="dataService" [minSearchLength]="0"></ng2-completer>`,
directives: [CompleterCmp],
providers: [COMPLETER_DATA_PROVIDERS, CompleterService]
<ng2-completer [(ngModel)]="searchStr" [dataService]="dataService" [minSearchLength]="0"></ng2-completer>`
})

@@ -74,3 +81,3 @@ export class MyComponent {

Add the following to `System.js` map configuration:
```
```ts
var map = {

@@ -83,3 +90,3 @@ ...

Add the following to `System.js` packages configuration:
```
```ts
var packages = {

@@ -86,0 +93,0 @@ ...

"use strict";
import {Component, Input, Output, EventEmitter, OnInit, ViewChild, Provider, forwardRef} from "@angular/core";
import {Component, Input, Output, EventEmitter, OnInit, ViewChild, forwardRef} from "@angular/core";
import {ControlValueAccessor, NG_VALUE_ACCESSOR} from "@angular/forms";

@@ -34,7 +34,7 @@

const COMPLETER_CONTROL_VALUE_ACCESSOR = new Provider(
NG_VALUE_ACCESSOR, {
useExisting: forwardRef(() => CompleterCmp),
multi: true
});
const COMPLETER_CONTROL_VALUE_ACCESSOR = {
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(() => CompleterCmp),
multi: true
};

@@ -44,3 +44,2 @@

selector: "ng2-completer",
directives: [CompleterListCmp],
template: template,

@@ -47,0 +46,0 @@ styles: [defaultStyles],

"use strict";
import {Component, Output, Input, EventEmitter, ElementRef, AfterContentInit} from "@angular/core";
import {CompleterItem} from "./completer-item";
import {CompleterListItemCmp} from "./completer-list-item-cmp";

@@ -13,4 +12,3 @@

template: template,
styles: [defaultStyles],
directives: [CompleterListItemCmp]
styles: [defaultStyles]
})

@@ -17,0 +15,0 @@ export class CompleterListCmp implements AfterContentInit {

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

import {Provider, provide} from "@angular/core";
import {Http} from "@angular/http";

@@ -6,3 +5,2 @@

import {RemoteData} from "./remote-data";
import {CompleterService} from "./completer-service";

@@ -22,6 +20,3 @@

export let COMPLETER_DATA_PROVIDERS: Provider[] = [
provide(LocalData, {useFactory: localDataFactory}),
provide(RemoteData, {useFactory: remoteDataFactory, deps: [Http]}),
provide(CompleterService, {useClass: CompleterService})
];
export let LocalDataFactoryProvider = {provide: LocalData, useFactory: localDataFactory};
export let RemoteDataFactoryProvider = {provide: RemoteData, useFactory: remoteDataFactory, deps: [Http]};
import {Http, Response} from "@angular/http";
import {Subscription} from "rxjs/Subscription";
import "rxjs/add/operator/map";
import "rxjs/add/operator/catch";

@@ -5,0 +6,0 @@

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

export {CompleterCmp} from "./components/ng2-completer/completer-cmp";
export {COMPLETER_DATA_PROVIDERS} from "./components/ng2-completer/services/completer-data-factory";
export {Ng2CompleterModule} from "./ng2-completer.module";
export {CompleterService} from "./components/ng2-completer/services/completer-service";

@@ -4,0 +3,0 @@ export {CompleterData} from "./components/ng2-completer/services/completer-data";

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