/** Angular2 */ import * as ng from "@angular/core"; /** Core */ import { CoreComponent } from "cmf.core/src/core"; import { ModuleLoaderComponent } from 'cmf.core/src/domain/extensions/module.loader'; import { ModalViewInstance } from "../modalView/modalView"; import { WizardInvoker } from "./command/invoker"; /** Bags */ import { WizardBag } from "./wizardBag"; import { PageBag } from "../page/pageBag"; import { ResultEventArgs } from "../resultMessage/resultType"; /** * Wizard component serves as the container for a sequential list of steps. * Each step is represented by an instance of the {@link WizardStep} component. * * ## Example * * Assume this HTML Template * * ```html * * * * * * * * * * ``` * * Next we have the component's class * * ```javascript * @Core.Component(...) * @Core.View(...) * * export class MyWizard extends CoreComponent { * * constructor(loader: ng.DynamicComponentLoader, element: ng.ElementRef) { * super(loader, element); * } * } * * ``` */ export declare class Wizard extends CoreComponent implements ng.OnInit, ng.AfterViewInit, ng.AfterViewChecked, ng.OnChanges { private element; private modalInstance; private pageBag; bag: WizardBag; private wizardInvoker; private _loader; private _viewContainerRef; /** * The title of the wizard * * @property {string} mainTitle which is delegated to the header wizard component */ private mainTitle; /** * Deprecated title input */ title: string; /** * Title of the progress tab */ progressTabTitle: string; /** * The action-id of the wizard, which will be used as the context for validating each step. This is normally a string. * * @property {string} delegated to each step */ private actionId; /** * The action-name of the wizard. The last step of a wizard is normally the "finish" action. Here we can tell the wizard the name of the final action. * * @property {string} used to describe the name of the last action, by default it will be Finish */ private actionName; /** * The cancel-name of the wizard. * Here we can tell the wizard the name of the cancel action. * * @property {string} used to describe the name of the last action, by default it will be Finish */ private cancelName; /** * The init event, so the wizard can inform the upper components that it is initiating * * @property {ng.EventEmitter} init event */ private init; /** * The finish event, so the wizard can inform the upper components that it has finish. Normally the caller will take care of the rest. * * @property {ng.EventEmitter} finish event */ private finish; /** * The close event, so the wizard can inform when the user clicks the close button on the wizad * * @property {ng.EventEmitter} close event */ private close; /** * When a step is visited we delegate to a wizard client the possibility to override any wizard step state (hide/disable) . * * @property {ng.EventEmitter} init step event */ private activatestep; /** * Gets or sets the Wizard Icon */ private icon; /** * Wizard receiver */ private wizardReceiver; /** * the current control displayed in the detailsControl section */ private _currentDetailsComponent; private _detailsRef; private _resultsStepComponent; private _progressStepComponent; private stepCommentsQueryList; private stepQueryList; /** * Wizard comments */ _comments: string; /** * Defines if the comments will appear in the wizard */ showComments: boolean; /** * Defines if success messages will appear */ showSuccessMessages: boolean; /** * Comments */ comments: string; /** * Defines if the comments will appear expanded */ commentsExpanded: boolean; /** * Defines if the comments are mandatory to be filled */ commentsRequired: boolean; /** * Defines if the wizard should refresh after close */ closeWithoutRefresh: boolean; /** * If there are messages for popover show it even if they're not of error type */ showPopOverForAllMsgTypes: boolean; /** * Comments update event */ commentsChange: ng.EventEmitter; /** * On wizard finish callback */ onWizardFinishCallback: (result: boolean) => void; /** * Signature enabled */ signatureEnabled: boolean; /** * @method constructor */ constructor(element: ng.ElementRef, modalInstance: ModalViewInstance, pageBag: PageBag, bag: WizardBag, wizardInvoker: WizardInvoker, _loader: ng.NgModuleFactoryLoader, _viewContainerRef: ng.ViewContainerRef); private applyCustomization; /** * Will display the Results step and will analyze if the result should result in a wizard invalidation or not. */ private triggerResultsStep; /** * Will display the Progress step. */ triggerProgressStep(resultArgs: ResultEventArgs): void; /** * When the wizard Angular component is initiated, we place the title in the wizard bag and start the command pattern */ ngOnInit(): void; /** * On change method * @param changes */ ngOnChanges(changes: ng.SimpleChanges): void; /** * When all the changes to the component and its children are performed - bootstrap wizard */ ngAfterViewInit(): void; /** * Start/Restart wizard */ startWizard(): void; /** * Required for manual inspecting flex components */ ngAfterViewChecked(): void; /** * Opens a modal to edit comments */ openCommentsModal(): void; /** * On comments change - notify parent component * @param event */ onCommentsChange($event: any): void; /** * Evaluates the page bag context pre-conditions using the supplied to changes to the context * @param changes Object containing the changes that should be considered on the context, such as {'instance': newInstance} * so that the validation can use the new data * @param finishWizardOnFail (Defaults to true) Finishes the wizard in case that any issue is found on the context evaluation * @returns True if the evaluation was successful, or there was nothing to evaluate */ reEvaluateContextPreConditions(changes?: any, finishWizardOnFail?: boolean): Promise; /** * This method deals with the ending the wizard. It receives a CompleteWizardArgs object which will be used to determine * if the results step is required. When there is an error or there are Result messages to show, the wizard will present a Results step. * The wizard also allows configuring if, in case of error, the wizard is invalidated when the error is not recoverable or allows navigation otherwise * * Client should know what commands to pipe, so it's better to have the chaining of commands in the wizard client */ completeWizard(resultArgs: ResultEventArgs): void; /** * Setup details component * @param detailsComponent */ setDetailsControl(detailsComponent: ModuleLoaderComponent): void; }