@progress/kendo-angular-label
Version:
Kendo UI Label for Angular
59 lines (58 loc) • 2.01 kB
JavaScript
/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { Observable } from 'rxjs';
import { EventEmitter } from '@angular/core';
/**
* @hidden
*/
export class FloatingLabelInputAdapter {
component;
onFocus;
onBlur;
autoFillStart;
autoFillEnd;
onValueChange;
get focusableId() {
const component = this.component;
if ('focusableId' in component) {
return component.focusableId;
}
else if ('id' in component) {
return component.id;
}
return "";
}
set focusableId(value) {
const component = this.component;
if ('focusableId' in component) {
component.focusableId = value;
}
else if ('id' in component) {
component.id = value;
}
}
constructor(component, formControl) {
this.component = component;
const isObservableOrEventEmitter = (event) => event instanceof Observable || event instanceof EventEmitter;
if (isObservableOrEventEmitter(component.onFocus)) {
this.onFocus = component.onFocus;
}
if (isObservableOrEventEmitter(component.autoFillStart)) {
this.autoFillStart = component.autoFillStart;
}
if (isObservableOrEventEmitter(component.autoFillEnd)) {
this.autoFillEnd = component.autoFillEnd;
}
if (isObservableOrEventEmitter(component.onBlur)) {
this.onBlur = component.onBlur;
}
if (formControl) {
this.onValueChange = formControl.valueChanges;
}
else if (component.valueChange) {
this.onValueChange = component.valueChange;
}
}
}