@neocomplexx/ngx-neo-completer
Version:
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.0.5.
46 lines • 6.37 kB
JavaScript
/**
* Esta clase permite simplificar el uso de los autocompletadores para funcionar con objetos y no con simples string.
*/
var NgxNeoCompleterService = /** @class */ (function () {
function NgxNeoCompleterService(completerService) {
// variable que realiza el binding con el componente html : [(ngModel)]
this.modelString = '';
// Propiedad sobre la que queremos hacer binding
this.fieldValue = '';
this.completerService = completerService;
}
/**
* Se ejecuta cuando el usuario selecciona un valor del autocompletable
* @author mgesuitti
*/
NgxNeoCompleterService.prototype.onSelected = function (selected) {
if (selected != null) {
this.selectedObject[this.fieldValue] = selected.originalObject;
}
else {
this.selectedObject[this.fieldValue] = this.empty;
}
};
/**
* Se utiliza para asignar los datos locales (cargados previamente desde el servidor)
*
* @author mgesuitti
*/
NgxNeoCompleterService.prototype.local = function (data, selectedObject, fieldValue, searchFields, titleField, emptyObject) {
if (fieldValue === void 0) { fieldValue = ''; }
this.selectedObject = selectedObject;
this.fieldValue = fieldValue;
this.dataSource = this.completerService.local(data, searchFields, titleField);
if (fieldValue !== '') {
this.modelString = this.selectedObject[this.fieldValue][searchFields];
}
else {
this.modelString = this.selectedObject[searchFields];
}
this.empty = emptyObject;
return this.dataSource;
};
return NgxNeoCompleterService;
}());
export { NgxNeoCompleterService };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LW5lby1jb21wbGV0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZW9jb21wbGV4eC9uZ3gtbmVvLWNvbXBsZXRlci8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtbmVvLWNvbXBsZXRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBOztHQUVHO0FBSUg7SUFrQkksZ0NBQVksZ0JBQWtDO1FBZDlDLHVFQUF1RTtRQUNoRSxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQVF4QixnREFBZ0Q7UUFDekMsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUtuQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7T0FHRztJQUNJLDJDQUFVLEdBQWpCLFVBQWtCLFFBQXVCO1FBQ3JDLElBQUksUUFBUSxJQUFJLElBQUksRUFBRTtZQUNsQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDO1NBQ2xFO2FBQU07WUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBR3JEO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxzQ0FBSyxHQUFaLFVBQWEsSUFBNkIsRUFBRSxjQUFtQixFQUFFLFVBQXVCLEVBQ3BGLFlBQTRCLEVBQUUsVUFBMEIsRUFBRSxXQUFzQjtRQURuQiwyQkFBQSxFQUFBLGVBQXVCO1FBRXBGLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlFLElBQUksVUFBVSxLQUFLLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3pFO2FBQU07WUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDeEQ7UUFFRCxJQUFJLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQztRQUV6QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQUNMLDZCQUFDO0FBQUQsQ0FBQyxBQXhERCxJQXdEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBsZXRlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NvbXBsZXRlci1zZXJ2aWNlJztcbmltcG9ydCB7IENvbXBsZXRlckl0ZW0gfSBmcm9tICcuL2NvbXBvbmVudHMvY29tcGxldGVyLWl0ZW0nO1xuaW1wb3J0IHsgTG9jYWxEYXRhIH0gZnJvbSAnLi9zZXJ2aWNlcy9sb2NhbC1kYXRhJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBFc3RhIGNsYXNlIHBlcm1pdGUgc2ltcGxpZmljYXIgZWwgdXNvIGRlIGxvcyBhdXRvY29tcGxldGFkb3JlcyBwYXJhIGZ1bmNpb25hciBjb24gb2JqZXRvcyB5IG5vIGNvbiBzaW1wbGVzIHN0cmluZy5cbiAqL1xuXG5cblxuZXhwb3J0IGNsYXNzIE5neE5lb0NvbXBsZXRlclNlcnZpY2U8VEVudGlkYWQ+ICB7XG5cbiAgICBwdWJsaWMgY29tcGxldGVyU2VydmljZTogQ29tcGxldGVyU2VydmljZTtcblxuICAgIC8vIHZhcmlhYmxlIHF1ZSByZWFsaXphIGVsIGJpbmRpbmcgY29uIGVsIGNvbXBvbmVudGUgaHRtbCA6IFsobmdNb2RlbCldXG4gICAgcHVibGljIG1vZGVsU3RyaW5nID0gJyc7XG5cbiAgICAvLyBTZXJ2aWNpbyBxdWUgc2UgZW5jYXJnYSBkZSByZWFsaXphciBsYSBidXNxdWVkYSBjdWFuZG8gdmFtb3MgYXV0b2NvbXBsZXRhbmRvIDogW2RhdGFzb3VyY2VdXG4gICAgcHVibGljIGRhdGFTb3VyY2U6IExvY2FsRGF0YTtcblxuICAgIC8vIE9iamV0byBxdWUgdGllbmUgbGEgcHJvcGllZGFkIHF1ZSBxdWVyZW1vcyBoYWNlciBiaW5kaW5nXG4gICAgcHVibGljIHNlbGVjdGVkT2JqZWN0OiBhbnk7XG5cbiAgICAvLyBQcm9waWVkYWQgc29icmUgbGEgcXVlIHF1ZXJlbW9zIGhhY2VyIGJpbmRpbmdcbiAgICBwdWJsaWMgZmllbGRWYWx1ZSA9ICcnO1xuXG4gICAgcHVibGljIGVtcHR5OiBURW50aWRhZDtcblxuICAgIGNvbnN0cnVjdG9yKGNvbXBsZXRlclNlcnZpY2U6IENvbXBsZXRlclNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5jb21wbGV0ZXJTZXJ2aWNlID0gY29tcGxldGVyU2VydmljZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZSBlamVjdXRhIGN1YW5kbyBlbCB1c3VhcmlvIHNlbGVjY2lvbmEgdW4gdmFsb3IgZGVsIGF1dG9jb21wbGV0YWJsZVxuICAgICAqIEBhdXRob3IgbWdlc3VpdHRpXG4gICAgICovXG4gICAgcHVibGljIG9uU2VsZWN0ZWQoc2VsZWN0ZWQ6IENvbXBsZXRlckl0ZW0pIHtcbiAgICAgICAgaWYgKHNlbGVjdGVkICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRPYmplY3RbdGhpcy5maWVsZFZhbHVlXSA9IHNlbGVjdGVkLm9yaWdpbmFsT2JqZWN0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE9iamVjdFt0aGlzLmZpZWxkVmFsdWVdID0gdGhpcy5lbXB0eTtcblxuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZSB1dGlsaXphIHBhcmEgYXNpZ25hciBsb3MgZGF0b3MgbG9jYWxlcyAoY2FyZ2Fkb3MgcHJldmlhbWVudGUgZGVzZGUgZWwgc2Vydmlkb3IpXG4gICAgICpcbiAgICAgKiBAYXV0aG9yIG1nZXN1aXR0aVxuICAgICAqL1xuICAgIHB1YmxpYyBsb2NhbChkYXRhOiBhbnlbXSB8IE9ic2VydmFibGU8YW55Piwgc2VsZWN0ZWRPYmplY3Q6IGFueSwgZmllbGRWYWx1ZTogc3RyaW5nID0gJycsXG4gICAgICAgIHNlYXJjaEZpZWxkcz86IHN0cmluZyB8IG51bGwsIHRpdGxlRmllbGQ/OiBzdHJpbmcgfCBudWxsLCBlbXB0eU9iamVjdD86IFRFbnRpZGFkKTogTG9jYWxEYXRhIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE9iamVjdCA9IHNlbGVjdGVkT2JqZWN0O1xuICAgICAgICB0aGlzLmZpZWxkVmFsdWUgPSBmaWVsZFZhbHVlO1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2UgPSB0aGlzLmNvbXBsZXRlclNlcnZpY2UubG9jYWwoZGF0YSwgc2VhcmNoRmllbGRzLCB0aXRsZUZpZWxkKTtcbiAgICAgICAgaWYgKGZpZWxkVmFsdWUgIT09ICcnKSB7XG4gICAgICAgICAgICB0aGlzLm1vZGVsU3RyaW5nID0gdGhpcy5zZWxlY3RlZE9iamVjdFt0aGlzLmZpZWxkVmFsdWVdW3NlYXJjaEZpZWxkc107XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm1vZGVsU3RyaW5nID0gdGhpcy5zZWxlY3RlZE9iamVjdFtzZWFyY2hGaWVsZHNdO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5lbXB0eSA9IGVtcHR5T2JqZWN0O1xuXG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2U7XG4gICAgfVxufVxuIl19