UNPKG

@ngx-performance-ui/core

Version:
134 lines 7.86 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { ChangeDetectorRef, Component, Injector, Input } from '@angular/core'; /** * @template T, U */ export class AbstractNgModelComponent { /** * @param {?} injector */ constructor(injector) { this.injector = injector; this.valueFn = (/** * @param {?} value * @return {?} */ value => (/** @type {?} */ (((/** @type {?} */ (value)))))); this.valueLimitFn = (/** * @param {?} value * @return {?} */ value => false); this.cdRef = injector.get(ChangeDetectorRef); } /** * @param {?} value * @return {?} */ set value(value) { value = this.valueFn((/** @type {?} */ (((/** @type {?} */ (value))))), this._value); if (this.valueLimitFn(value, this._value) !== false) return; this._value = value; this.notifyValueChange(); } /** * @return {?} */ get value() { return this._value || this.defaultValue; } /** * @return {?} */ get defaultValue() { return this._value; } /** * @return {?} */ notifyValueChange() { if (this.onChange) { this.onChange(this.value); } } /** * @param {?} value * @return {?} */ writeValue(value) { this._value = this.valueLimitFn(value, this._value) || value; setTimeout((/** * @return {?} */ () => this.cdRef.detectChanges()), 0); } /** * @param {?} fn * @return {?} */ registerOnChange(fn) { this.onChange = fn; } /** * @param {?} fn * @return {?} */ registerOnTouched(fn) { this.onTouched = fn; } /** * @param {?} isDisabled * @return {?} */ setDisabledState(isDisabled) { this.disabled = isDisabled; } } AbstractNgModelComponent.decorators = [ { type: Component, args: [{ template: '' }] } ]; /** @nocollapse */ AbstractNgModelComponent.ctorParameters = () => [ { type: Injector } ]; AbstractNgModelComponent.propDecorators = { disabled: [{ type: Input }], id: [{ type: Input }], ngModel: [{ type: Input }], valueFn: [{ type: Input }], valueLimitFn: [{ type: Input }], value: [{ type: Input }] }; if (false) { /** * @type {?} * @protected */ AbstractNgModelComponent.prototype._value; /** @type {?} */ AbstractNgModelComponent.prototype.disabled; /** @type {?} */ AbstractNgModelComponent.prototype.id; /** @type {?} */ AbstractNgModelComponent.prototype.ngModel; /** @type {?} */ AbstractNgModelComponent.prototype.valueFn; /** @type {?} */ AbstractNgModelComponent.prototype.valueLimitFn; /** @type {?} */ AbstractNgModelComponent.prototype.onChange; /** @type {?} */ AbstractNgModelComponent.prototype.onTouched; /** * @type {?} * @protected */ AbstractNgModelComponent.prototype.cdRef; /** @type {?} */ AbstractNgModelComponent.prototype.injector; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbW9kZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neC1wZXJmb3JtYW5jZS11aS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2Fic3RyYWN0cy9uZy1tb2RlbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUc5RSxNQUFNLE9BQU8sd0JBQXdCOzs7O0lBeUNuQyxZQUFtQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBNUJyQyxZQUFPOzs7O1FBQXVDLEtBQUssQ0FBQyxFQUFFLENBQUMsbUJBQUEsQ0FBQyxtQkFBQSxLQUFLLEVBQU8sQ0FBQyxFQUFLLEVBQUM7UUFHM0UsaUJBQVk7Ozs7UUFBeUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUM7UUEwQmxFLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQy9DLENBQUM7Ozs7O0lBekJELElBQ0ksS0FBSyxDQUFDLEtBQVE7UUFDaEIsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQUEsQ0FBQyxtQkFBQSxLQUFLLEVBQU8sQ0FBQyxFQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXZELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUs7WUFBRSxPQUFPO1FBRTVELElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7Ozs7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMxQyxDQUFDOzs7O0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7Ozs7SUFXRCxpQkFBaUI7UUFDZixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0I7SUFDSCxDQUFDOzs7OztJQUVELFVBQVUsQ0FBQyxLQUFRO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQztRQUM3RCxVQUFVOzs7UUFBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Ozs7O0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDOzs7OztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQzs7Ozs7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUM3QixDQUFDOzs7WUFuRUYsU0FBUyxTQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTs7OztZQUZZLFFBQVE7Ozt1QkFNNUMsS0FBSztpQkFHTCxLQUFLO3NCQUdMLEtBQUs7c0JBR0wsS0FBSzsyQkFHTCxLQUFLO29CQUdMLEtBQUs7Ozs7Ozs7SUFqQk4sMENBQW9COztJQUVwQiw0Q0FDa0I7O0lBRWxCLHNDQUNXOztJQUVYLDJDQUNnQjs7SUFFaEIsMkNBQzJFOztJQUUzRSxnREFDb0U7O0lBb0JwRSw0Q0FBMkI7O0lBQzNCLDZDQUFvQjs7Ozs7SUFFcEIseUNBQW1DOztJQUV2Qiw0Q0FBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEluamVjdG9yLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXG5leHBvcnQgY2xhc3MgQWJzdHJhY3ROZ01vZGVsQ29tcG9uZW50PFQgPSBhbnksIFUgPSBUPiBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgcHJvdGVjdGVkIF92YWx1ZTogVDtcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBpZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIG5nTW9kZWw6IG51bWJlcjtcblxuICBASW5wdXQoKVxuICB2YWx1ZUZuOiAodmFsdWU6IFUsIHByZXZpb3VzVmFsdWU/OiBUKSA9PiBUID0gdmFsdWUgPT4gKHZhbHVlIGFzIGFueSkgYXMgVDtcblxuICBASW5wdXQoKVxuICB2YWx1ZUxpbWl0Rm46ICh2YWx1ZTogVCwgcHJldmlvdXNWYWx1ZT86IFQpID0+IGFueSA9IHZhbHVlID0+IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWx1ZTogVCkge1xuICAgIHZhbHVlID0gdGhpcy52YWx1ZUZuKCh2YWx1ZSBhcyBhbnkpIGFzIFUsIHRoaXMuX3ZhbHVlKTtcblxuICAgIGlmICh0aGlzLnZhbHVlTGltaXRGbih2YWx1ZSwgdGhpcy5fdmFsdWUpICE9PSBmYWxzZSkgcmV0dXJuO1xuXG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLm5vdGlmeVZhbHVlQ2hhbmdlKCk7XG4gIH1cblxuICBnZXQgdmFsdWUoKTogVCB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlIHx8IHRoaXMuZGVmYXVsdFZhbHVlO1xuICB9XG5cbiAgZ2V0IGRlZmF1bHRWYWx1ZSgpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBvbkNoYW5nZTogKHZhbHVlOiBUKSA9PiB7fTtcbiAgb25Ub3VjaGVkOiAoKSA9PiB7fTtcblxuICBwcm90ZWN0ZWQgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLmNkUmVmID0gaW5qZWN0b3IuZ2V0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgfVxuXG4gIG5vdGlmeVZhbHVlQ2hhbmdlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IFQpOiB2b2lkIHtcbiAgICB0aGlzLl92YWx1ZSA9IHRoaXMudmFsdWVMaW1pdEZuKHZhbHVlLCB0aGlzLl92YWx1ZSkgfHwgdmFsdWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKSwgMCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG59XG4iXX0=