/** Core */ import { CoreComponent } from "cmf.core/src/core"; import Cmf from "cmf.lbos"; /** Angular */ import * as ng from "@angular/core"; /** Transaction Wizard */ import * as TransactionWizardPackage from "../../directives/transactionWizard/transactionWizard"; import * as TransactionExecutionViewPackage from "../../directives/transactionExecutionView/transactionExecutionView"; import { PageBag } from "cmf.core.controls/src/components/page/pageBag"; /** * The edit relations wizard * * ## Example * * Assume this HTML Template * * ```html * * * ``` * * * ### Inputs * `ng.EventEmitter` : **currentRelationsDefinition** - Emits the definition relations as they are, compared to the original ones * `ng.EventEmitter` : **currentRelationsVersioned** - Emits the versioned relations as they are, compared to the original ones * * ## WizardEditRelations Component * * ### Dependencies * * #### Components * * EntityRelationsEditModule : `cmf.core.business.controls` * * TransactionWizardModule: `cmf.core.business.controls` * * TransactionExecutionViewModule: `cmf.core.business.controls` * * WizardModule: `cmf.core.controls` * * #### Services * _This component does not depend on any service_ * * #### Directives * _This component does not depend on any directive_ */ export declare class WizardEditRelations extends CoreComponent implements TransactionWizardPackage.TransactionWizardInterface, TransactionExecutionViewPackage.TransactionExecutionViewInterface, ng.OnInit { private _elementRef; private _pageBag; /** * The current instance */ instance: Cmf.Foundation.BusinessObjects.Entity; /** * The instance's EntityType */ entityType: Cmf.Foundation.BusinessObjects.EntityType; /** * Builds the ExecutionView main title (e.g. "Edit Material Relations") */ mainWizardTitle: string; /** * The current relations for Definition entities */ currentRelationsDefinition: Map; /** * The current relations for Versioned entities */ currentRelationsVersioned: Map; /** * Whether or not we show the system relations */ showSystemRelations: boolean; /** * Whether or not we have definition relations */ hasDefinitionRelations: boolean; /** * Whether or not we have versioned relations */ hasVersionedRelations: boolean; /** * Nested wizard component */ private _executionView; /** * Constructor */ constructor(_elementRef: ng.ElementRef, _pageBag: PageBag); /** * On Init */ ngOnInit(): void; /** * Captures changes on the entity type's relations * @param currentRelations a Map containing the current relations per EntityType */ onRelationsChange(currentRelations: Map, type: string): void; /** * Prepare data input */ prepareDataInput(): Promise; /** * Handle data output */ handleDataOutput(outputs: Array): Promise; /** * Prepare transaction input */ prepareTransactionInput(args: TransactionWizardPackage.TransactionWizardArgs): Promise; /** * Decides which tabs are to be shown in the ExecutionView */ private checkTabsAvailability; /** * Checks if we have any definition or versioned entity type available */ private checkDefinitionVersionedEntities; } export declare class WizardEditRelationsModule { }