/** Core */ import { CoreComponent } from "cmf.core/src/core"; /** Nested modules */ import { ExecutionViewEventArgs } from "cmf.core.controls/src/components/executionView/executionView"; import { EntityPropertyJoin } from "../entityPropertyPicker/entityPropertyPicker"; /** Angular */ import * as ng from "@angular/core"; export { EntityPropertyJoin }; /** * @whatItDoes * * This component displays a modal allowing a user to pick an end property for a given entity type. * It will only allow confirmation when the user has picked a valid property and will emit the change event when this occurs. * * @howToUse * * This component is used with the inputs and outputs mentioned below. * * Give it the entity type name and handle the data change event * * ### Inputs * `string` : **entityTypeName** - Name of the entity type * `boolean` : **includeRelations** - Controls wether the underlying entity property editor will include the relations. Defaults to true. * `string` : **mainTitle** - Title of the modal * * `EntityPropertyJoin[]` : **value** - Displayed value of entity type property joins * `EntityPropertyJoin[][]` : **joins** - Joins that hold the information for the properties for the entity property modal. * Pass as false to not display the joins * `boolean` : **showJoins** - Controls wether joins are shown in the modal * * ### Outputs * (Provide a detailed list of the outputs here. * Syntax for each output description: " * type [string, number, Object...] : name - description") Ex: * `EntityPropertyJoin[]` : **dataChange** - Emits an array of properties and joins when the user confirms the selection * * ### Example * To use the component, assume this HTML Template as an example: * * ```HTML * * ``` * * * @description * * ## EntityPropertyModal Component * * ### Dependencies * * #### Components * * ExecutionView : `cmf.core.controls` * * EntityPropertyPicker : `cmf.core.business.controls` (Ex: `cmf.core.controls`) * * */ export declare class EntityPropertyModal extends CoreComponent { /** * Execution view component reference */ private _executionView; /** * Path to the property selected */ _propertyPath: EntityPropertyJoin[]; /** * Name of the entity type to get the properties from */ entityTypeName: string; /** * Currently selected join information */ joins: EntityPropertyJoin[][]; /** * Boolean value that controls wether joins are shown */ showJoins: boolean; /** * Controls wether the entity property input lying underneath will include relations. Defaults to true. */ includeRelations: boolean; /** * Displayed entity Properties & joins */ value: EntityPropertyJoin[]; /** * Title of the execution view modal */ mainTitle: string; /** * Data change event that is triggered when the modal successfully closes */ dataChange: ng.EventEmitter; /** * Constructor * * @param viewContainerRef the reference to the component view container */ constructor(viewContainerRef: ng.ViewContainerRef); /** * On execution view confirm validate chosen property * @param args Execution view perform args */ onConfirm(args: ExecutionViewEventArgs): void; /** * Store the property path currently selected * @param properties Array of entity property joins */ propertyChange(properties: EntityPropertyJoin[]): void; } export declare class EntityPropertyModalModule { }