/** Core */ import { CoreComponent } from "cmf.core/src/core"; import Cmf from "cmf.lbos"; /** Angular */ import * as ng from "@angular/core"; /** Nested modules */ import { PropertyOptions, PropertyChangeArgs } from "../entityPropertiesEditor/entityPropertiesEditor"; /** * @whatItDoes * EntityAttributes component is used to edit the attributes of an entity, including Custom Properties. * Both the Definition and Version Attributes and Custom Properties are supported. * The Entity instance must be provided * * @howToUse * * This component is used with the inputs mentioned below. * * ### Inputs * * `boolean` : **showOnlyVersionAttributes** - If is to show only version attributes otherwise shows definition attributes * * `Cmf.Foundation.BusinessObjects.Entity | Cmf.Foundation.BusinessObjects.EntityVersion` : **instance** - The Entity instance. * * ### Outputs * * `Cmf.Foundation.BusinessObjects.AttributeCollection` : **attributesToAddOrUpdateChange** - Attributes or Custom Properties to add or update * * `string[]` : **attributesToRemoveChange** - Attributes or Custom Properties to remove * * ### Example * To use the component, assume this HTML Template as an example: * * ```HTML * * * ``` * * @description * * ### Dependencies * * #### Components * * EntityPropertiesEditor : `cmf.core.business.controls` * * BaseWidget : `cmf.core.controls` * * #### Directives * * ProgressIndicator : `cmf.core.controls` * */ export declare class EntityAttributesEdit extends CoreComponent implements ng.OnChanges { private _elementRef; /** * Title */ _title: string; /** * Entity instance's EntityType. */ _entityType: Cmf.Foundation.BusinessObjects.EntityType; /** * The Attributes collection that belong to the Entity. If the Entity is versioned, this has the Entity Version Attributes. */ _attributes: { [key: string]: string | PropertyOptions; }; /** * Determines if there are attributes to display. If the Entity is versioned, this determines if there are Entity Version Attributes to display. */ _hasAttributes: boolean; /** * Attributes to add or update */ _attributesToAddOrUpdate: Cmf.Foundation.BusinessObjects.AttributeCollection; /** * Attributes to add or update */ _attributesToRemove: string[]; /** * Initial attributes values */ private _initialAttributesValues; /** * Entity */ instance: Cmf.Foundation.BusinessObjects.Entity | Cmf.Foundation.BusinessObjects.EntityVersion; /** * Show Version attributes */ showOnlyVersionAttributes: boolean; /** * When "attributes to add or update" change * @event addedChange */ attributesToAddOrUpdateChange: ng.EventEmitter; /** * When "attributes to add or update" change * @event addedChange */ attributesToRemoveChange: ng.EventEmitter; /** * Constructor */ constructor(_elementRef: ng.ElementRef); /** * Fills the attributes from the provided entity instance, taking into account also the provided attributes to hide array. * @param entity the entity instance to be used to fill the Attributes collections. Cmf.Foundation.BusinessObjects.Entity * @param attributesToHide the attributes to be hidden. string[] */ private fillAttributes; /** * On attribute change */ onAttributeChange(args: PropertyChangeArgs): void; /** * On changes method. Angular hook. * * @param changes the changes made to the component properties */ ngOnChanges(changes: ng.SimpleChanges): void; } export declare class EntityAttributesEditModule { }