UNPKG

@neocomplexx/ngx-neo-completer-mat

Version:
46 lines 6.63 kB
/** * Esta clase permite simplificar el uso de los autocompletadores para funcionar con objetos y no con simples string. */ var NgxNeoCompleterMatService = /** @class */ (function () { function NgxNeoCompleterMatService(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 */ NgxNeoCompleterMatService.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 */ NgxNeoCompleterMatService.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 NgxNeoCompleterMatService; }()); export { NgxNeoCompleterMatService }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LW5lby1jb21wbGV0ZXItbWF0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmVvY29tcGxleHgvbmd4LW5lby1jb21wbGV0ZXItbWF0LyIsInNvdXJjZXMiOlsibGliL25neC1uZW8tY29tcGxldGVyLW1hdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBOztHQUVHO0FBSUg7SUFrQkksbUNBQVksZ0JBQWtDO1FBZDlDLHVFQUF1RTtRQUNoRSxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQVF4QixnREFBZ0Q7UUFDekMsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUtuQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7T0FHRztJQUNJLDhDQUFVLEdBQWpCLFVBQWtCLFFBQXVCO1FBQ3JDLElBQUksUUFBUSxJQUFJLElBQUksRUFBRTtZQUNsQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDO1NBQ2xFO2FBQU07WUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBR3JEO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSx5Q0FBSyxHQUFaLFVBQWEsSUFBNkIsRUFBRSxjQUFtQixFQUFFLFVBQXVCLEVBQ3BGLFlBQTRCLEVBQUUsVUFBMEIsRUFBRSxXQUFzQjtRQURuQiwyQkFBQSxFQUFBLGVBQXVCO1FBRXBGLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlFLElBQUksVUFBVSxLQUFLLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3pFO2FBQU07WUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDeEQ7UUFFRCxJQUFJLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQztRQUV6QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQUNMLGdDQUFDO0FBQUQsQ0FBQyxBQXhERCxJQXdEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBsZXRlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NvbXBsZXRlci1zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tcGxldGVySXRlbSB9IGZyb20gJy4vY29tcG9uZW50cy9jb21wbGV0ZXItaXRlbSc7XHJcbmltcG9ydCB7IExvY2FsRGF0YSB9IGZyb20gJy4vc2VydmljZXMvbG9jYWwtZGF0YSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbi8qKlxyXG4gKiBFc3RhIGNsYXNlIHBlcm1pdGUgc2ltcGxpZmljYXIgZWwgdXNvIGRlIGxvcyBhdXRvY29tcGxldGFkb3JlcyBwYXJhIGZ1bmNpb25hciBjb24gb2JqZXRvcyB5IG5vIGNvbiBzaW1wbGVzIHN0cmluZy5cclxuICovXHJcblxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBOZ3hOZW9Db21wbGV0ZXJNYXRTZXJ2aWNlPFRFbnRpZGFkPiAge1xyXG5cclxuICAgIHB1YmxpYyBjb21wbGV0ZXJTZXJ2aWNlOiBDb21wbGV0ZXJTZXJ2aWNlO1xyXG5cclxuICAgIC8vIHZhcmlhYmxlIHF1ZSByZWFsaXphIGVsIGJpbmRpbmcgY29uIGVsIGNvbXBvbmVudGUgaHRtbCA6IFsobmdNb2RlbCldXHJcbiAgICBwdWJsaWMgbW9kZWxTdHJpbmcgPSAnJztcclxuXHJcbiAgICAvLyBTZXJ2aWNpbyBxdWUgc2UgZW5jYXJnYSBkZSByZWFsaXphciBsYSBidXNxdWVkYSBjdWFuZG8gdmFtb3MgYXV0b2NvbXBsZXRhbmRvIDogW2RhdGFzb3VyY2VdXHJcbiAgICBwdWJsaWMgZGF0YVNvdXJjZTogTG9jYWxEYXRhO1xyXG5cclxuICAgIC8vIE9iamV0byBxdWUgdGllbmUgbGEgcHJvcGllZGFkIHF1ZSBxdWVyZW1vcyBoYWNlciBiaW5kaW5nXHJcbiAgICBwdWJsaWMgc2VsZWN0ZWRPYmplY3Q6IGFueTtcclxuXHJcbiAgICAvLyBQcm9waWVkYWQgc29icmUgbGEgcXVlIHF1ZXJlbW9zIGhhY2VyIGJpbmRpbmdcclxuICAgIHB1YmxpYyBmaWVsZFZhbHVlID0gJyc7XHJcblxyXG4gICAgcHVibGljIGVtcHR5OiBURW50aWRhZDtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihjb21wbGV0ZXJTZXJ2aWNlOiBDb21wbGV0ZXJTZXJ2aWNlKSB7XHJcbiAgICAgICAgdGhpcy5jb21wbGV0ZXJTZXJ2aWNlID0gY29tcGxldGVyU2VydmljZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNlIGVqZWN1dGEgY3VhbmRvIGVsIHVzdWFyaW8gc2VsZWNjaW9uYSB1biB2YWxvciBkZWwgYXV0b2NvbXBsZXRhYmxlXHJcbiAgICAgKiBAYXV0aG9yIG1nZXN1aXR0aVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb25TZWxlY3RlZChzZWxlY3RlZDogQ29tcGxldGVySXRlbSkge1xyXG4gICAgICAgIGlmIChzZWxlY3RlZCAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRPYmplY3RbdGhpcy5maWVsZFZhbHVlXSA9IHNlbGVjdGVkLm9yaWdpbmFsT2JqZWN0O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRPYmplY3RbdGhpcy5maWVsZFZhbHVlXSA9IHRoaXMuZW1wdHk7XHJcblxyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZSB1dGlsaXphIHBhcmEgYXNpZ25hciBsb3MgZGF0b3MgbG9jYWxlcyAoY2FyZ2Fkb3MgcHJldmlhbWVudGUgZGVzZGUgZWwgc2Vydmlkb3IpXHJcbiAgICAgKlxyXG4gICAgICogQGF1dGhvciBtZ2VzdWl0dGlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGxvY2FsKGRhdGE6IGFueVtdIHwgT2JzZXJ2YWJsZTxhbnk+LCBzZWxlY3RlZE9iamVjdDogYW55LCBmaWVsZFZhbHVlOiBzdHJpbmcgPSAnJyxcclxuICAgICAgICBzZWFyY2hGaWVsZHM/OiBzdHJpbmcgfCBudWxsLCB0aXRsZUZpZWxkPzogc3RyaW5nIHwgbnVsbCwgZW1wdHlPYmplY3Q/OiBURW50aWRhZCk6IExvY2FsRGF0YSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE9iamVjdCA9IHNlbGVjdGVkT2JqZWN0O1xyXG4gICAgICAgIHRoaXMuZmllbGRWYWx1ZSA9IGZpZWxkVmFsdWU7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlID0gdGhpcy5jb21wbGV0ZXJTZXJ2aWNlLmxvY2FsKGRhdGEsIHNlYXJjaEZpZWxkcywgdGl0bGVGaWVsZCk7XHJcbiAgICAgICAgaWYgKGZpZWxkVmFsdWUgIT09ICcnKSB7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZWxTdHJpbmcgPSB0aGlzLnNlbGVjdGVkT2JqZWN0W3RoaXMuZmllbGRWYWx1ZV1bc2VhcmNoRmllbGRzXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLm1vZGVsU3RyaW5nID0gdGhpcy5zZWxlY3RlZE9iamVjdFtzZWFyY2hGaWVsZHNdO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5lbXB0eSA9IGVtcHR5T2JqZWN0O1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5kYXRhU291cmNlO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==