@progress/kendo-angular-scheduler
Version:
Kendo UI Scheduler Angular - Outlook or Google-style angular scheduler calendar. Full-featured and customizable embedded scheduling from the creator developers trust for professional UI components.
60 lines (59 loc) • 2.22 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 { Input, EventEmitter, Output, Directive } from '@angular/core';
import { isPresent, getField } from '../common/util';
import * as i0 from "@angular/core";
/**
* @hidden
*/
export class ResourceEditorBase {
resource;
valueChange = new EventEmitter();
resourceValue;
getField = getField;
/**
* @hidden
*/
writeValue(newValue) {
this.resourceValue = newValue;
}
getResourceStyle(dataItem) {
return {
'background-color': getField(dataItem, this.resource.colorField),
'margin-right': isPresent(getField(dataItem, this.resource.valueField)) ? '8px' : '4px'
};
}
onResourceValueChange(newValue) {
this.resourceValue = newValue;
this.emitChange(this.resourceValue);
}
onTouchedCallback = (_) => { };
onChangeCallback = (_) => { };
/**
* @hidden
*/
registerOnChange(fn) {
this.onChangeCallback = fn;
}
/**
* @hidden
*/
registerOnTouched(fn) {
this.onTouchedCallback = fn;
}
emitChange(value) {
this.onChangeCallback(value);
this.valueChange.emit(value);
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResourceEditorBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ResourceEditorBase, inputs: { resource: "resource" }, outputs: { valueChange: "valueChange" }, ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResourceEditorBase, decorators: [{
type: Directive
}], propDecorators: { resource: [{
type: Input
}], valueChange: [{
type: Output
}] } });