@anjuna/angular-core
Version:
<p align="center"> <img src="//cdn.zuora.com/theme/0.6.0/assets/anjuna/anjuna-logo.svg"/> <br/><br/> </p>
79 lines • 9.49 kB
JavaScript
import { __decorate, __metadata, __param } from "tslib";
import { ChangeDetectorRef, Input, Optional, Self, ElementRef, EventEmitter, HostListener, HostBinding, AfterViewInit, Directive } from '@angular/core';
import { ControlValueAccessor, NgControl, NgModel } from '@angular/forms';
var PickerAbstract = /** @class */ (function () {
function PickerAbstract(_element, changeRef, ngControl) {
this._element = _element;
this.changeRef = changeRef;
this.ngControl = ngControl;
this.onChange = function () { };
this.onTouch = function () { };
this.valueChange = new EventEmitter();
if (this.ngControl) {
this.ngControl.valueAccessor = this;
}
}
PickerAbstract.prototype.ngAfterViewInit = function () {
this.picker = this._element.nativeElement.querySelector(this.pickerSelector);
if (this.picker) {
this.picker.setInputValue(this.innerDateValue);
this.outerValue = this._element.nativeElement.value;
}
};
// // Start: ControlValueAccessor requirement
PickerAbstract.prototype.writeValue = function (newValue) {
if (this.picker && this.innerDateValue !== newValue) {
this.picker.setInputValue(newValue);
this.outerValue = this._element.nativeElement.value;
}
this.innerDateValue = newValue;
};
PickerAbstract.prototype.registerOnChange = function (fn) {
this.onChange = fn;
};
PickerAbstract.prototype.registerOnTouched = function (fn) {
this.onTouch = fn;
};
// // End: ControlValueAccessor requirements
PickerAbstract.prototype.changeHandler = function (changedVal) {
if (changedVal.refreshOuter) {
this.outerValue = changedVal.outer;
}
this.innerDateValue = changedVal.inner;
this.propogateInnerValueChange();
this.changeRef.markForCheck();
// Handle for keyup
if (changedVal.inner) {
this.onTouch();
}
};
PickerAbstract.prototype.propogateInnerValueChange = function () {
if (this.ngControl) {
this.ngControl.control.setValue(this.innerDateValue);
}
this.valueChange.emit(this.innerDateValue);
};
PickerAbstract.ctorParameters = function () { return [
{ type: ElementRef },
{ type: ChangeDetectorRef },
{ type: NgControl, decorators: [{ type: Optional }, { type: Self }] }
]; };
__decorate([
Input(),
__metadata("design:type", NgModel)
], PickerAbstract.prototype, "ngModel", void 0);
__decorate([
HostBinding('value'),
__metadata("design:type", String)
], PickerAbstract.prototype, "outerValue", void 0);
PickerAbstract = __decorate([
Directive(),
__param(2, Optional()), __param(2, Self()),
__metadata("design:paramtypes", [ElementRef,
ChangeDetectorRef,
NgControl])
], PickerAbstract);
return PickerAbstract;
}());
export { PickerAbstract };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFuanVuYS9hbmd1bGFyLWNvcmUvIiwic291cmNlcyI6WyJsaWIvZm9ybXMvZGlyZWN0aXZlcy9waWNrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzFFO0lBV0ksd0JBQW9CLFFBQW9CLEVBQ3BCLFNBQTRCLEVBQ1IsU0FBcUI7UUFGekMsYUFBUSxHQUFSLFFBQVEsQ0FBWTtRQUNwQixjQUFTLEdBQVQsU0FBUyxDQUFtQjtRQUNSLGNBQVMsR0FBVCxTQUFTLENBQVk7UUE0QnRELGFBQVEsR0FBeUIsY0FBVyxDQUFDLENBQUM7UUFDOUMsWUFBTyxHQUFlLGNBQVcsQ0FBQyxDQUFDO1FBM0J0QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFFbkQsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUN2QztJQUNMLENBQUM7SUFFTSx3Q0FBZSxHQUF0QjtRQUNJLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUU3RSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7U0FDdkQ7SUFDTCxDQUFDO0lBRUQsNkNBQTZDO0lBQ3RDLG1DQUFVLEdBQWpCLFVBQWtCLFFBQWM7UUFDNUIsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssUUFBUSxFQUFFO1lBQ2pELElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1NBQ3ZEO1FBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUM7SUFDbkMsQ0FBQztJQUtNLHlDQUFnQixHQUF2QixVQUF3QixFQUFPO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSwwQ0FBaUIsR0FBeEIsVUFBeUIsRUFBTztRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBQ0QsNENBQTRDO0lBRXJDLHNDQUFhLEdBQXBCLFVBQXFCLFVBQStEO1FBQ2hGLElBQUksVUFBVSxDQUFDLFlBQVksRUFBRTtZQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7U0FDdEM7UUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFFdkMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUU5QixtQkFBbUI7UUFDbkIsSUFBSSxVQUFVLENBQUMsS0FBSyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNsQjtJQUNMLENBQUM7SUFFTyxrREFBeUIsR0FBakM7UUFDSSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUN4RDtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMvQyxDQUFDOztnQkEvRDZCLFVBQVU7Z0JBQ1QsaUJBQWlCO2dCQUNJLFNBQVMsdUJBQWhELFFBQVEsWUFBSSxJQUFJOztJQVBwQjtRQUFSLEtBQUssRUFBRTtrQ0FBVSxPQUFPO21EQUFDO0lBR0o7UUFBckIsV0FBVyxDQUFDLE9BQU8sQ0FBQzs7c0RBQTJCO0lBVHZDLGNBQWM7UUFEMUIsU0FBUyxFQUFFO1FBY0ssV0FBQSxRQUFRLEVBQUUsQ0FBQSxFQUFFLFdBQUEsSUFBSSxFQUFFLENBQUE7eUNBRkQsVUFBVTtZQUNULGlCQUFpQjtZQUNJLFNBQVM7T0FicEQsY0FBYyxDQTJFMUI7SUFBRCxxQkFBQztDQUFBLEFBM0VELElBMkVDO1NBM0VZLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgSW5wdXQsIE9wdGlvbmFsLCBTZWxmLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSG9zdEJpbmRpbmcsIEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCwgTmdNb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgUGlja2VyQWJzdHJhY3QgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcHVibGljIHJlYWRvbmx5IHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZSB8IG51bGw+O1xuXG4gICAgcHVibGljIHBpY2tlclNlbGVjdG9yOiBzdHJpbmc7XG4gICAgcHVibGljIHBpY2tlcjogYW55O1xuXG4gICAgQElucHV0KCkgbmdNb2RlbDogTmdNb2RlbDtcblxuICAgIHByaXZhdGUgaW5uZXJEYXRlVmFsdWU6IERhdGU7XG4gICAgQEhvc3RCaW5kaW5nKCd2YWx1ZScpIHB1YmxpYyBvdXRlclZhbHVlOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgY2hhbmdlUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHByaXZhdGUgbmdDb250cm9sPzogTmdDb250cm9sXG4gICAgKSB7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGUgfCBudWxsPigpO1xuXG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLnBpY2tlciA9IHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKHRoaXMucGlja2VyU2VsZWN0b3IpO1xuXG4gICAgICAgIGlmICh0aGlzLnBpY2tlcikge1xuICAgICAgICAgICAgdGhpcy5waWNrZXIuc2V0SW5wdXRWYWx1ZSh0aGlzLmlubmVyRGF0ZVZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMub3V0ZXJWYWx1ZSA9IHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC8vIFN0YXJ0OiBDb250cm9sVmFsdWVBY2Nlc3NvciByZXF1aXJlbWVudFxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKG5ld1ZhbHVlOiBEYXRlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnBpY2tlciAmJiB0aGlzLmlubmVyRGF0ZVZhbHVlICE9PSBuZXdWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5waWNrZXIuc2V0SW5wdXRWYWx1ZShuZXdWYWx1ZSk7XG4gICAgICAgICAgICB0aGlzLm91dGVyVmFsdWUgPSB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlubmVyRGF0ZVZhbHVlID0gbmV3VmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2hhbmdlOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9ICgpID0+IHsvKiovfTtcbiAgICBwdWJsaWMgb25Ub3VjaDogKCkgPT4gdm9pZCA9ICgpID0+IHsvKiovfTtcblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICAgIH1cbiAgICAvLyAvLyBFbmQ6IENvbnRyb2xWYWx1ZUFjY2Vzc29yIHJlcXVpcmVtZW50c1xuXG4gICAgcHVibGljIGNoYW5nZUhhbmRsZXIoY2hhbmdlZFZhbDoge2lubmVyOiBEYXRlLCBvdXRlcjogc3RyaW5nLCByZWZyZXNoT3V0ZXI6IGJvb2xlYW59KTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VkVmFsLnJlZnJlc2hPdXRlcikge1xuICAgICAgICAgICAgdGhpcy5vdXRlclZhbHVlID0gY2hhbmdlZFZhbC5vdXRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5uZXJEYXRlVmFsdWUgPSBjaGFuZ2VkVmFsLmlubmVyO1xuXG4gICAgICAgIHRoaXMucHJvcG9nYXRlSW5uZXJWYWx1ZUNoYW5nZSgpO1xuICAgICAgICB0aGlzLmNoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcblxuICAgICAgICAvLyBIYW5kbGUgZm9yIGtleXVwXG4gICAgICAgIGlmIChjaGFuZ2VkVmFsLmlubmVyKSB7XG4gICAgICAgICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcHJvcG9nYXRlSW5uZXJWYWx1ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sLnNldFZhbHVlKHRoaXMuaW5uZXJEYXRlVmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLmlubmVyRGF0ZVZhbHVlKTtcbiAgICB9XG59XG4iXX0=