{"version":3,"file":"ng-toolbar-wizard.mjs","sources":["../../../projects/ng-toolbar-wizard/src/lib/ng-toolbar-wizard.service.ts","../../../projects/ng-toolbar-wizard/src/lib/components/wizard-toolbar/wizard-toolbar.component.ts","../../../projects/ng-toolbar-wizard/src/lib/components/wizard-toolbar/wizard-toolbar.component.html","../../../projects/ng-toolbar-wizard/src/lib/ng-toolbar-wizard.component.ts","../../../projects/ng-toolbar-wizard/src/lib/ng-toolbar-wizard.component.html","../../../projects/ng-toolbar-wizard/src/lib/ng-toolbar-wizard.module.ts","../../../projects/ng-toolbar-wizard/src/public-api.ts","../../../projects/ng-toolbar-wizard/src/ng-toolbar-wizard.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class NgToolbarWizardService {\n\n  constructor() { }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\n\r\n@Component({\r\n  selector: 'app-wizard-toolbar',\r\n  templateUrl: './wizard-toolbar.component.html',\r\n  styleUrls: ['./wizard-toolbar.component.scss']\r\n})\r\nexport class WizardToolbarComponent {\r\n  @Input() totalStep = 1;\r\n  @Input() step = 1;\r\n  @Input() title: string;\r\n  @Input() imgPath: string;\r\n\r\n  @Input() textPrev: string;\r\n  @Input() textNext: string;\r\n  @Input() confirmNext: string;\r\n  @Input() textCancel: string;\r\n\r\n  @Output() onNextStepEvent = new EventEmitter<number>();\r\n  @Output() onPrevStepEvent = new EventEmitter<number>();\r\n  @Output() onBackEvent = new EventEmitter<boolean>();\r\n  @Output() onCancelEvent = new EventEmitter<boolean>();\r\n  @Output() onCompleteWizardEvent = new EventEmitter<number>();\r\n\r\n  constructor() { }\r\n\r\n  getTitleToolbar() {\r\n    if (this.title)\r\n      return `${this.title} - ${this.step} / ${this.totalStep}`;\r\n\r\n    return `${this.step} / ${this.totalStep}`\r\n  }\r\n\r\n  getPrevText(): string {\r\n      return this.textPrev || 'Previous';\r\n  }\r\n\r\n  getNextText(): string {\r\n    if(this.totalStep == this.step)\r\n      return this.confirmNext || 'Confirm';\r\n\r\n    return this.textNext || 'Next';\r\n  }\r\n\r\n  getCancelText(): string {\r\n    return this.textCancel || 'Cancel';\r\n  }\r\n\r\n  nextStep() {\r\n    if(this.totalStep == this.step){\r\n      this.onCompleteWizardEvent.emit(this.step);\r\n      return;\r\n    }\r\n\r\n    this.onNextStepEvent.emit(this.step);\r\n  }\r\n\r\n  prevStep() {\r\n    this.onPrevStepEvent.emit(this.step);\r\n  }\r\n\r\n  cancelWizard() {\r\n    this.onCancelEvent.emit(true);\r\n  }\r\n\r\n  back() {\r\n    this.onBackEvent.emit(true);\r\n  }\r\n}\r\n","<div class=\"container-fluid p-0\" class=\"container-top-inside-menu\">\r\n    <div class=\"item-container\">\r\n        <div class=\"back-icon-container\">\r\n            <i class=\"back-icon\" (click)=\"back()\"></i>\r\n        </div>\r\n        <div class=\"page-icon\">\r\n            <img [src]=\"imgPath\" class=\"img-page-icon\" />\r\n        </div>\r\n        <div class=\"title-container\">\r\n            <span class=\"title-top-inside-menu\">{{ getTitleToolbar() }}</span>\r\n        </div>\r\n\r\n        <div class=\"align-self-center content-top-inside-menu\">\r\n            <ng-content></ng-content>\r\n        </div>\r\n\r\n        <div class=\"btn-top-inside-menu\">\r\n            <button class=\"manage-button warn\" (click)=\"cancelWizard()\">{{ getCancelText() }}</button>\r\n        </div>\r\n        <div class=\"btn-top-inside-menu\" color=\"primary\" >\r\n            <button class=\"manage-button\" (click)=\"prevStep()\" [disabled]=\"step == 1\">{{ getPrevText() }}</button>\r\n        </div>\r\n        <div class=\"btn-top-inside-menu\" color=\"primary\" >\r\n            <button class=\"manage-button\" (click)=\"nextStep()\">{{ getNextText() }}</button>\r\n        </div>\r\n    </div>\r\n</div>\r\n  \r\n  ","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Router, RouterOutlet } from '@angular/router';\r\nimport { StepPage } from '../interface/step-page';\r\nimport { ISubPage } from '../interface/sub-page';\r\nimport { ValidateWizard } from '../interface/validate-wizard';\r\n\r\n@Component({\r\n  selector: 'ng-toolbar-wizard',\r\n  templateUrl: './ng-toolbar-wizard.component.html',\r\n  styles: [\r\n  ]\r\n})\r\nexport class NgToolbarWizardComponent {\r\n  @Input() advanceSearchStep: StepPage[];\r\n  @Input() imgPath: string;\r\n  @Input() title: string;\r\n\r\n  @Input() textPrev = 'Previous';\r\n  @Input() textNext = 'Next';\r\n  @Input() confirmNext = 'Confirm';\r\n  @Input() textCancel = 'Cancel';\r\n\r\n  @Output() onNextStepEvent = new EventEmitter<number>();\r\n  @Output() onPrevStepEvent = new EventEmitter<number>();\r\n  @Output() onCompleteWizardEvent = new EventEmitter<number>();\r\n  @Output() onBackEvent = new EventEmitter<boolean>();\r\n  @Output() onCancelEvent = new EventEmitter<boolean>();\r\n\r\n  @Output() onValidateEvent = new EventEmitter<ValidateWizard>();\r\n\r\n  private outletComponent: ISubPage;\r\n  public wizardStep = 1;\r\n\r\n  constructor(private router: Router) { }\r\n\r\n  // Toolbar Event\r\n  backEvent() {\r\n    this.onBackEvent.emit(true);\r\n  }\r\n\r\n  cancelEvent() {\r\n    this.onCancelEvent.emit(true)\r\n  }\r\n\r\n  nextStep(step: number) {\r\n    this.onNextStepEvent.emit(step);\r\n\r\n    if(this.isFormValid()){\r\n      this.wizardStep = this.wizardStep + 1;\r\n      this.executeNextStep(step);\r\n\r\n      this.goToWizardStep(this.wizardStep);\r\n    }\r\n  }\r\n\r\n  prevStep(step: number) {\r\n    this.onPrevStepEvent.emit(step);\r\n\r\n    this.wizardStep = this.wizardStep - 1;\r\n    this.goToWizardStep(this.wizardStep);\r\n  }\r\n\r\n  completeWizard(step: number) {\r\n    if(this.isFormValid()) {\r\n      this.executeNextStep(step);\r\n\r\n      this.onCompleteWizardEvent.emit(step);\r\n    }\r\n  }\r\n\r\n  // Child-Root-Event\r\n  prepareRoute(outlet: RouterOutlet) {\r\n    return outlet?.activatedRouteData?.['animation'];\r\n  }\r\n\r\n  onActivate(component: Component){\r\n    this.outletComponent = <ISubPage>component;\r\n  }\r\n\r\n  // Private function\r\n  private isFormValid(): boolean {\r\n    let isValid = true;\r\n    const error = Array.from(this.outletComponent.isValidForm());\r\n\r\n    if(error.length > 0) {\r\n      this.onValidateEvent.emit({\r\n        idStep: this.wizardStep,\r\n        error: error\r\n      });\r\n      isValid = false;\r\n    }\r\n\r\n    return isValid;\r\n  }\r\n\r\n  private executeNextStep(step: number): void {\r\n    const val = this.outletComponent.getValue();\r\n    const stepEvent = this.advanceSearchStep.find(x => x.step == step);\r\n    if(stepEvent?.nextStep) stepEvent.nextStep(val);\r\n  }\r\n\r\n  private goToWizardStep(step: number) {\r\n    const stepPath = this.advanceSearchStep.find(x => x.step == step);\r\n    if(stepPath) this.router.navigate([stepPath.pagePath]);\r\n  }\r\n}\r\n","<app-wizard-toolbar \r\n    [step]=\"wizardStep\"\r\n    [title]=\"title\"\r\n    [totalStep]=\"advanceSearchStep.length\" \r\n    [imgPath]=\"imgPath\"\r\n    \r\n    [textPrev]=\"textPrev\"\r\n    [textNext]=\"textNext\"\r\n    [confirmNext]=\"confirmNext\"\r\n    [textCancel]=\"textCancel\"\r\n\r\n    (onBackEvent)=\"backEvent()\"\r\n    (onCancelEvent)=\"cancelEvent()\"\r\n    (onNextStepEvent)=\"nextStep($event)\" \r\n    (onPrevStepEvent)=\"prevStep($event)\"\r\n    (onCompleteWizardEvent)=\"completeWizard($event)\">\r\n</app-wizard-toolbar>\r\n\r\n<!-- <div [@routeAnimations]=\"prepareRoute(outlet)\"> -->\r\n    <router-outlet \r\n        #outlet=\"outlet\"\r\n        (activate)=\"onActivate($event)\"></router-outlet>\r\n<!-- </div> -->\r\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { WizardToolbarComponent } from './components/wizard-toolbar/wizard-toolbar.component';\nimport { NgToolbarWizardComponent } from './ng-toolbar-wizard.component';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n  declarations: [\n    NgToolbarWizardComponent,\n    WizardToolbarComponent\n  ],\n  imports: [\n    CommonModule,\n    RouterModule,\n  ],\n  exports: [\n    NgToolbarWizardComponent\n  ]\n})\nexport class NgToolbarWizardModule { }\n","/*\n * Public API Surface of ng-toolbar-wizard\n */\n\nexport * from './lib/ng-toolbar-wizard.service';\nexport * from './lib/ng-toolbar-wizard.component';\nexport * from './lib/ng-toolbar-wizard.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}