/** Core */ import { CoreComponent } from "cmf.core/src/core"; import Cmf from "cmf.lbos"; /** Angular2 */ import * as ng from "@angular/core"; import { WizardCloneEntityService } from "../wizardCloneEntityService"; import { ColumnViewModel, ColumnViewAddArgs, ColumnViewSelectedArgs, AutoSelectInput, ColumnView } from "cmf.core.controls/src/components/columnView/columnView"; import { OnValidateArgs, OnValidate, ValidatorModel } from "cmf.core.controls/src/directives/validator/validator"; /** * @whatItDoes * * This component will allow user to modified entities before clone * * @howToUse * * This component should only be used within the Clone Wizard * * * ### Inputs: * * `Entity` : **entity** - The entity that will be cloned * * `EntityType` : **entityType** - The entityType which entity belongs * * ### Outputs: * * onClonesUpdated: Clones updated event emitter. * ### Example * * * * * */ export declare class DetailsStep extends CoreComponent implements ng.OnChanges, OnValidate { private _elementRef; private _services; private _validatorModel; /** * Page settings ColumnView generic methods accessor */ private _columnViewUtil; /** * Current selected leaf */ private _selectedLeaf; /** * Counters that count how many rows were created. Used to generate instance name on add */ private _counter; private _nameCssSelector; /** * Instance that will be cloned */ entity: Cmf.Foundation.BusinessObjects.Entity; /** * EntityType */ entityType: Cmf.Foundation.BusinessObjects.EntityType; /** * Mode used in ColumnView component */ model: ColumnViewModel.ColumnViewModel; /** * Clones that will be created from cloned. The key of the map is leaf.id */ clones: Map; /** * Current selected clone. */ selectedClone: Cmf.Foundation.BusinessObjects.Entity; /** * EntityType properties that are able to be modified on clone. * This is only necessary to load once since its not excepted that entityType changes */ properties: Cmf.Foundation.BusinessObjects.EntityTypeProperty[]; /** * Event emitter that triggers when clones are modified */ onClonesUpdated: ng.EventEmitter; /** * ColumnView component. */ columnView: ColumnView; /** * Title show above the columnView. Informs how many clones are created */ columnViewTitle: string; autoSelectionSetup: AutoSelectInput; /** * Constructor * @param viewContainerRef view reference * @param _elementRef element reference * @param _services service reference * @param _validatorModel validator model */ constructor(viewContainerRef: ng.ViewContainerRef, _elementRef: ng.ElementRef, _services: WizardCloneEntityService, _validatorModel: ValidatorModel); /** * OnChanges is used here to capture the entityType since it is not available in onInit */ ngOnChanges(changes: ng.SimpleChanges): void; /** * On Remove row event */ onRemove(args: ColumnViewSelectedArgs): void; /** * On Add row event. Created a new leaf, creates a new instance and select the created row */ onAdd(args: ColumnViewAddArgs): void; onAddSeveral(args: ColumnViewAddArgs): void; /** * On Select row event */ onSelect(args: ColumnViewSelectedArgs): void; /** * On propertyEditor value change. */ onClonePropertiesUpdated(event: any): void; /** * On Validate event method. * Is valid when there is at least one clone created. */ onValidate(args: OnValidateArgs): Promise; /** * Method that emits an array of clones and updated the title of the columnView */ getClones(): void; private buildColumnViewModel; private generateTemporaryName; private updateTitle; private updateSelectedLeaf; private removeLeafFromModel; private createCloneInstance; private selectNamePropertyEditor; private addClones; } export declare class DetailsStepModule { }