/** Core */ import { CoreComponent } from "cmf.core/src/core"; import Cmf from "cmf.lbos"; import { EntityPropertyService, EditMode } from "../entityPropertiesEditor/entityPropertyService"; import { PropertyOptions, PropertyChangeArgs } from "../entityPropertiesEditor/entityPropertiesEditor"; import { PropertiesEditorProperty } from "../propertiesEditor/propertiesEditor"; /** Angular */ import * as ng from "@angular/core"; export { PropertyChangeArgs }; export { PropertyOptions }; export { EditMode }; /** * @whatItDoes * * This component displays a property of a given entity type for a specific edit mode * * @howToUse * * To use this component, supply an instance of a system object, the property (name of the property to edit), and optionally some propertyOptions. * If you set propertyOptions as a string it will set only to the property label. * * ### Inputs * , "property", "editMode" * `Cmf.Foundation.BusinessObjects.Entity` : **instance** - The instance that is being edited * `EditMode` : **editMode** - The edit mode (create, edit, ...) * `string | Cmf.Foundation.BusinessObjects.EntityTypeProperty` : **property** - The property to edit * ` PropertyOptions | string` : **propertyOptions** - Options for rendering the property. Pass a string to set only the lavel. * `bool`: **isReadonly** - It's possible to override the readonly property only when readonly is other than false. * handy when readonly state is dependent on other conditions * `bool`: **checkValue** - If component should check it's own value to discovered if it needs update it's internal value. * `bool`: **disabled** - It's possible to override the disable property of the entity * * ### Outputs * `PropertyChangeArgs` : **propertyChange** - When a property changes, we will output the property that changed. * The instance object is updated immediately with the change * * ### Example * To use the component, assume this HTML Template as an example: * * ```HTML * * * ``` * * * @description * * ## EntityPropertyEditor Component * * ### Dependencies * * #### Components * * PropertyViewer : `cmf.core.business.controls` * * PropertyEditor : `cmf.core.business.controls` * * #### Services * * EntityPropertyService : `cmf.core.business.controls` * */ export declare class EntityPropertyEditor extends CoreComponent implements ng.OnChanges, ng.DoCheck { private _propertyService; /** * Labels and properties that will be passed to the nested component */ _property: PropertiesEditorProperty; /** * the EditMode for the current context */ private _editMode; /** * Value of the property */ _value: any; /** * Name of the property to render */ _propertyName: string; /** * Entity type properties */ propertyOptions: PropertyOptions | string; /** * Entity */ instance: Cmf.Foundation.BusinessObjects.Entity; private _checkValue; /** * Property __checkValue getter * * @return {boolean} current value of property _checkValue * @method checkValue */ /** * Property _checkValue setter * * @param {boolean | string} [value] new value for property _checkValue * @method checkValue */ checkValue: boolean | string; /** * isReadOnly only applicable when generic readonly calculate from properties is other than false */ isReadonly: boolean; /** * Set the name of the property to render */ /** * Get the name of the property to render */ property: string | Cmf.Foundation.BusinessObjects.EntityTypeProperty; /** * Property Change event emitter. */ propertyChange: ng.EventEmitter; /** * Get the EditMode for the current context */ /** * Set the EditMode for the current context */ editMode: any; /** * On Value Change Event Handling */ onValueChange(value: any, propertyName: string, propertyMeta: PropertiesEditorProperty): void; /** * Constructor * * @param viewContainerRef the reference to the component view container */ constructor(viewContainerRef: ng.ViewContainerRef, _propertyService: EntityPropertyService); /** * On changes method * * @param changes the changes made to the component properties */ ngOnChanges(changes: any): void; /** * Angular do check. * Check if instance changed it's property value so that internal value is updated as well */ ngDoCheck(): void; } export declare class EntityPropertyEditorModule { }