@wavemaker/app-ng-runtime 11.5.2-next.140998 → 11.5.2-next.141004

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. app-ng-runtime/build-task/bundles/index.umd.js +1 -1
  2. app-ng-runtime/build-task/esm2020/data/form/form-field/form-field.build.mjs +2 -2
  3. app-ng-runtime/build-task/fesm2015/index.mjs +1 -1
  4. app-ng-runtime/build-task/fesm2015/index.mjs.map +1 -1
  5. app-ng-runtime/build-task/fesm2020/index.mjs +1 -1
  6. app-ng-runtime/build-task/fesm2020/index.mjs.map +1 -1
  7. app-ng-runtime/components/base/bundles/index.umd.js +40 -10
  8. app-ng-runtime/components/base/esm2020/pipes/custom-pipes.mjs +24 -11
  9. app-ng-runtime/components/base/esm2020/pipes/wm-pipe.mjs +17 -0
  10. app-ng-runtime/components/base/esm2020/widgets/common/partial/partial.directive.mjs +2 -1
  11. app-ng-runtime/components/base/fesm2015/index.mjs +40 -10
  12. app-ng-runtime/components/base/fesm2015/index.mjs.map +1 -1
  13. app-ng-runtime/components/base/fesm2020/index.mjs +40 -10
  14. app-ng-runtime/components/base/fesm2020/index.mjs.map +1 -1
  15. app-ng-runtime/components/base/pipes/custom-pipes.d.ts +5 -2
  16. app-ng-runtime/components/base/pipes/wm-pipe.d.ts +9 -0
  17. app-ng-runtime/components/chart/bundles/index.umd.js +54 -35
  18. app-ng-runtime/components/chart/esm2020/chart.component.mjs +8 -6
  19. app-ng-runtime/components/chart/esm2020/chart.utils.mjs +50 -13
  20. app-ng-runtime/components/chart/fesm2015/index.mjs +56 -17
  21. app-ng-runtime/components/chart/fesm2015/index.mjs.map +1 -1
  22. app-ng-runtime/components/chart/fesm2020/index.mjs +56 -17
  23. app-ng-runtime/components/chart/fesm2020/index.mjs.map +1 -1
  24. app-ng-runtime/components/containers/wizard/bundles/index.umd.js +14 -3
  25. app-ng-runtime/components/containers/wizard/esm2020/wizard.component.mjs +13 -4
  26. app-ng-runtime/components/containers/wizard/esm2020/wizard.props.mjs +2 -1
  27. app-ng-runtime/components/containers/wizard/fesm2015/index.mjs +14 -3
  28. app-ng-runtime/components/containers/wizard/fesm2015/index.mjs.map +1 -1
  29. app-ng-runtime/components/containers/wizard/fesm2020/index.mjs +13 -3
  30. app-ng-runtime/components/containers/wizard/fesm2020/index.mjs.map +1 -1
  31. app-ng-runtime/components/containers/wizard/wizard.component.d.ts +2 -0
  32. app-ng-runtime/components/data/form/bundles/index.umd.js +41 -27
  33. app-ng-runtime/components/data/form/esm2020/form-field/form-field.directive.mjs +28 -19
  34. app-ng-runtime/components/data/form/esm2020/form.component.mjs +19 -7
  35. app-ng-runtime/components/data/form/fesm2015/index.mjs +45 -27
  36. app-ng-runtime/components/data/form/fesm2015/index.mjs.map +1 -1
  37. app-ng-runtime/components/data/form/fesm2020/index.mjs +45 -24
  38. app-ng-runtime/components/data/form/fesm2020/index.mjs.map +1 -1
  39. app-ng-runtime/components/data/form/form-field/form-field.directive.d.ts +2 -0
  40. app-ng-runtime/components/data/table/bundles/index.umd.js +3 -2
  41. app-ng-runtime/components/data/table/esm2020/table.component.mjs +4 -3
  42. app-ng-runtime/components/data/table/fesm2015/index.mjs +3 -2
  43. app-ng-runtime/components/data/table/fesm2015/index.mjs.map +1 -1
  44. app-ng-runtime/components/data/table/fesm2020/index.mjs +3 -2
  45. app-ng-runtime/components/data/table/fesm2020/index.mjs.map +1 -1
  46. app-ng-runtime/components/data/table/table.component.d.ts +1 -1
  47. app-ng-runtime/components/input/default/bundles/index.umd.js +231 -192
  48. app-ng-runtime/components/input/default/esm2020/caption-position.directive.mjs +2 -2
  49. app-ng-runtime/components/input/default/esm2020/number/number.component.mjs +7 -6
  50. app-ng-runtime/components/input/default/esm2020/number/number.props.mjs +4 -2
  51. app-ng-runtime/components/input/default/esm2020/select/select.component.mjs +58 -35
  52. app-ng-runtime/components/input/default/esm2020/text/calendar/input-calendar.component.mjs +7 -6
  53. app-ng-runtime/components/input/default/esm2020/text/calendar/input-calendar.props.mjs +4 -2
  54. app-ng-runtime/components/input/default/esm2020/text/color/input-color.component.mjs +7 -6
  55. app-ng-runtime/components/input/default/esm2020/text/color/input-color.props.mjs +4 -2
  56. app-ng-runtime/components/input/default/esm2020/text/email/input-email.component.mjs +7 -6
  57. app-ng-runtime/components/input/default/esm2020/text/email/input-email.props.mjs +4 -2
  58. app-ng-runtime/components/input/default/esm2020/text/number/input-number.component.mjs +5 -5
  59. app-ng-runtime/components/input/default/esm2020/text/number/input-number.props.mjs +4 -2
  60. app-ng-runtime/components/input/default/esm2020/text/text/input-text.component.mjs +8 -7
  61. app-ng-runtime/components/input/default/esm2020/text/text/input-text.props.mjs +4 -2
  62. app-ng-runtime/components/input/default/esm2020/textarea/textarea.component.mjs +5 -5
  63. app-ng-runtime/components/input/default/esm2020/textarea/textarea.props.mjs +3 -1
  64. app-ng-runtime/components/input/default/fesm2015/index.mjs +113 -74
  65. app-ng-runtime/components/input/default/fesm2015/index.mjs.map +1 -1
  66. app-ng-runtime/components/input/default/fesm2020/index.mjs +110 -74
  67. app-ng-runtime/components/input/default/fesm2020/index.mjs.map +1 -1
  68. app-ng-runtime/components/input/default/number/number.component.d.ts +2 -0
  69. app-ng-runtime/components/input/default/select/select.component.d.ts +4 -1
  70. app-ng-runtime/components/input/default/text/calendar/input-calendar.component.d.ts +2 -0
  71. app-ng-runtime/components/input/default/text/color/input-color.component.d.ts +2 -0
  72. app-ng-runtime/components/input/default/text/email/input-email.component.d.ts +2 -0
  73. app-ng-runtime/components/input/default/text/number/input-number.component.d.ts +2 -0
  74. app-ng-runtime/components/input/default/text/text/input-text.component.d.ts +2 -0
  75. app-ng-runtime/components/input/default/textarea/textarea.component.d.ts +2 -0
  76. app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +2 -2
  77. app-ng-runtime/components/input/epoch/bundles/index.umd.js +50 -25
  78. app-ng-runtime/components/input/epoch/esm2020/base-date-time.component.mjs +36 -14
  79. app-ng-runtime/components/input/epoch/esm2020/date/date.component.mjs +5 -5
  80. app-ng-runtime/components/input/epoch/esm2020/date-time/date-time.component.mjs +6 -5
  81. app-ng-runtime/components/input/epoch/esm2020/time/time.component.mjs +7 -5
  82. app-ng-runtime/components/input/epoch/fesm2015/index.mjs +50 -25
  83. app-ng-runtime/components/input/epoch/fesm2015/index.mjs.map +1 -1
  84. app-ng-runtime/components/input/epoch/fesm2020/index.mjs +50 -25
  85. app-ng-runtime/components/input/epoch/fesm2020/index.mjs.map +1 -1
  86. app-ng-runtime/components/navigation/menu/bundles/index.umd.js +15 -5
  87. app-ng-runtime/components/navigation/menu/esm2020/menu.component.mjs +12 -4
  88. app-ng-runtime/components/navigation/menu/esm2020/menu.props.mjs +2 -1
  89. app-ng-runtime/components/navigation/menu/esm2020/nav/nav.component.mjs +3 -3
  90. app-ng-runtime/components/navigation/menu/esm2020/nav/nav.props.mjs +2 -1
  91. app-ng-runtime/components/navigation/menu/fesm2015/index.mjs +15 -5
  92. app-ng-runtime/components/navigation/menu/fesm2015/index.mjs.map +1 -1
  93. app-ng-runtime/components/navigation/menu/fesm2020/index.mjs +15 -5
  94. app-ng-runtime/components/navigation/menu/fesm2020/index.mjs.map +1 -1
  95. app-ng-runtime/components/navigation/menu/menu.component.d.ts +3 -0
  96. app-ng-runtime/components/navigation/menu/nav/nav.component.d.ts +1 -0
  97. app-ng-runtime/components/navigation/popover/bundles/index.umd.js +2 -1
  98. app-ng-runtime/components/navigation/popover/esm2020/popover.component.mjs +3 -2
  99. app-ng-runtime/components/navigation/popover/fesm2015/index.mjs +2 -1
  100. app-ng-runtime/components/navigation/popover/fesm2015/index.mjs.map +1 -1
  101. app-ng-runtime/components/navigation/popover/fesm2020/index.mjs +2 -1
  102. app-ng-runtime/components/navigation/popover/fesm2020/index.mjs.map +1 -1
  103. app-ng-runtime/components/prefab/bundles/index.umd.js +1 -0
  104. app-ng-runtime/components/prefab/esm2020/prefab-container/prefab-container.directive.mjs +2 -1
  105. app-ng-runtime/components/prefab/fesm2015/index.mjs +1 -0
  106. app-ng-runtime/components/prefab/fesm2015/index.mjs.map +1 -1
  107. app-ng-runtime/components/prefab/fesm2020/index.mjs +1 -0
  108. app-ng-runtime/components/prefab/fesm2020/index.mjs.map +1 -1
  109. app-ng-runtime/core/bundles/index.umd.js +2 -1
  110. app-ng-runtime/core/esm2020/utils/utils.mjs +3 -2
  111. app-ng-runtime/core/fesm2015/index.mjs +2 -1
  112. app-ng-runtime/core/fesm2015/index.mjs.map +1 -1
  113. app-ng-runtime/core/fesm2020/index.mjs +2 -1
  114. app-ng-runtime/core/fesm2020/index.mjs.map +1 -1
  115. app-ng-runtime/package.json +1 -1
  116. app-ng-runtime/runtime/base/bundles/index.umd.js +26 -1
  117. app-ng-runtime/runtime/base/components/base-page.component.d.ts +1 -0
  118. app-ng-runtime/runtime/base/esm2020/components/base-page.component.mjs +26 -1
  119. app-ng-runtime/runtime/base/esm2020/services/pipe-provider.service.mjs +2 -2
  120. app-ng-runtime/runtime/base/fesm2015/index.mjs +26 -1
  121. app-ng-runtime/runtime/base/fesm2015/index.mjs.map +1 -1
  122. app-ng-runtime/runtime/base/fesm2020/index.mjs +26 -1
  123. app-ng-runtime/runtime/base/fesm2020/index.mjs.map +1 -1
  124. app-ng-runtime/scripts/@wavemaker/nvd3/build/nv.d3.min.js +1 -0
  125. app-ng-runtime/scripts/d3/d3.min.js +2 -5
  126. app-ng-runtime/scripts/datatable/datatable.js +3 -3
  127. app-ng-runtime/scripts/@wavemaker.com/nvd3/build/nv.d3.min.js +0 -13
@@ -12,6 +12,7 @@ const registerProps$1 = () => {
12
12
  register('wm-wizard', new Map([
13
13
  ['actionsalignment', { value: 'right', ...PROP_STRING }],
14
14
  ['cancelable', { value: true, ...PROP_BOOLEAN }],
15
+ ['enablenext', { value: false, ...PROP_BOOLEAN }],
15
16
  ['cancelbtnlabel', { value: 'Cancel', ...PROP_STRING }],
16
17
  ['class', { value: 'classic', ...PROP_STRING }],
17
18
  ['defaultstep', { value: 'none', ...PROP_STRING }],
@@ -358,7 +359,7 @@ class WizardComponent extends StylableComponent {
358
359
  if (!this.currentStep) {
359
360
  return;
360
361
  }
361
- return this.currentStep.enableNext && this.currentStep.isValid;
362
+ return this.enablenext ? true : (this.currentStep.enableNext && this.currentStep.isValid);
362
363
  }
363
364
  get enableDone() {
364
365
  if (!this.currentStep) {
@@ -492,18 +493,27 @@ class WizardComponent extends StylableComponent {
492
493
  next(eventName = 'next') {
493
494
  const currentStep = this.currentStep;
494
495
  const currentStepIndex = this.getCurrentStepIndex();
495
- let nextStep;
496
496
  // abort if onSkip method returns false
497
497
  if (eventName === 'skip') {
498
498
  if (currentStep.invokeSkipCB(currentStepIndex) === false) {
499
499
  return;
500
500
  }
501
+ this.extendNextFn(currentStep, currentStepIndex);
501
502
  }
502
- else if (eventName === 'next') {
503
+ else if (this.currentStep.isValid && eventName === 'next') {
503
504
  if (currentStep.invokeNextCB(currentStepIndex) === false) {
504
505
  return;
505
506
  }
507
+ this.extendNextFn(currentStep, currentStepIndex);
508
+ }
509
+ else if (this.enablenext && !this.currentStep.isValid) {
510
+ Array.from(this.currentStep.getAllEmbeddedForms())?.forEach((form) => {
511
+ form.widget.highlightInvalidFields();
512
+ });
506
513
  }
514
+ }
515
+ extendNextFn(currentStep, currentStepIndex) {
516
+ let nextStep;
507
517
  nextStep = this.getNextValidStepFormIndex(currentStepIndex + 1);
508
518
  nextStep.isInitialized = true;
509
519
  // If there are any steps which has show then only change state of current step else remain same
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/containers/wizard/src/wizard.props.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard-step/wizard-step.props.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard-step/wizard-step.directive.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard.component.html","../../../../../projects/components/widgets/containers/wizard/src/wizard.component.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard.module.ts","../../../../../projects/components/widgets/containers/wizard/src/index.ts"],"sourcesContent":["import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-wizard',\n new Map(\n [\n ['actionsalignment', {value: 'right', ...PROP_STRING}],\n ['cancelable', {value: true, ...PROP_BOOLEAN}],\n ['cancelbtnlabel', {value: 'Cancel', ...PROP_STRING}],\n ['class', {value: 'classic', ...PROP_STRING}],\n ['defaultstep', {value: 'none', ...PROP_STRING}],\n ['donebtnlabel', {value: 'Done', ...PROP_STRING}],\n ['name', PROP_STRING],\n ['nextbtnlabel', {value: 'Next', ...PROP_STRING}],\n ['previousbtnlabel', {value: 'Previous', ...PROP_STRING}],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['stepstyle', {value: 'auto', ...PROP_STRING}]\n ]\n )\n );\n};\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-wizardstep',\n new Map(\n [\n ['class', PROP_STRING],\n ['enableskip', {value: false, ...PROP_BOOLEAN}],\n ['iconclass', {value: 'wi wi-person', ...PROP_STRING}],\n ['doneiconclass', {value: 'wi wi-done', ...PROP_STRING}],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['title', {value: 'Step Title', ...PROP_STRING}],\n ['subtitle', PROP_STRING]\n ]\n )\n );\n};\n","import {ContentChildren, Directive, HostBinding, Injector, Optional, Self} from '@angular/core';\nimport { NgForm } from '@angular/forms';\n\nimport { BaseComponent, IWidgetConfig, provideAsWidgetRef, RedrawableDirective } from '@wm/components/base';\nimport { WizardComponent } from '../wizard.component';\n\nimport { registerProps } from './wizard-step.props';\n\nconst DEFAULT_CLS = 'app-wizard-step-content';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-wizardstep',\n hostClass: DEFAULT_CLS,\n};\n\nconst enum STEP_STATUS {\n CURRENT = 1,\n DISABLED,\n COMPLETED\n}\n\n@Directive({\n selector: 'form[wmWizardStep]',\n providers: [\n provideAsWidgetRef(WizardStepDirective),\n NgForm\n ],\n exportAs: 'wmWizardStep'\n})\nexport class WizardStepDirective extends BaseComponent {\n static initializeProps = registerProps();\n\n public show: boolean;\n public name: string;\n public enableskip: any;\n public disablenext: boolean;\n public disabledone: boolean;\n public disableprevious: boolean;\n public isInitialized: boolean;\n isDone: boolean = false ;\n\n private status: STEP_STATUS = STEP_STATUS.DISABLED;\n private wizardComponent: WizardComponent;\n\n // reference to the components which needs a redraw(eg, grid, chart) when the height of this component changes\n @ContentChildren(RedrawableDirective, {descendants: true}) reDrawableComponents;\n\n @HostBinding('class.current')\n get isCurrent() {\n return this.active;\n }\n\n /**\n * along with the wizard form , also validate the forms\n * if there are any inside the wizard\n * @returns {boolean}\n */\n public get isValid() {\n return (this.ngForm.valid || this.ngForm.disabled) && this.areEmbeddedFormsValid();\n }\n\n /**\n * get all the forms inside the wizard if any and validate\n * @returns {boolean}\n */\n private areEmbeddedFormsValid() {\n let embeddedForms = this.getAllEmbeddedForms();\n for (let form of embeddedForms) {\n if (form.widget && !form.widget.ngform.valid) {\n return false;\n }\n }\n return true;\n }\n\n private getAllEmbeddedForms() {\n return this.$element.find('form');\n }\n\n public get enableNext() {\n return !this.disablenext;\n }\n\n public get enableDone() {\n return !this.disabledone;\n }\n\n public get enablePrev() {\n return !this.disableprevious;\n }\n\n public set active(nv: boolean) {\n const isActive = this.active;\n this.status = STEP_STATUS.CURRENT;\n if (nv && !isActive) {\n this.redrawChildren();\n }\n }\n\n public get active(): boolean {\n return this.status === STEP_STATUS.CURRENT;\n }\n\n public set done(nv: boolean) {\n if (nv) {\n this.status = STEP_STATUS.COMPLETED;\n }\n }\n\n public get done(): boolean {\n return this.status === STEP_STATUS.COMPLETED;\n }\n\n public set disabled(nv: boolean) {\n if (nv) {\n this.status = STEP_STATUS.DISABLED;\n }\n }\n\n public get disabled(): boolean {\n return this.status === STEP_STATUS.DISABLED;\n }\n\n constructor(inj: Injector, @Self() private ngForm: NgForm) {\n super(inj, WIDGET_CONFIG);\n // If we inject directly as a param in the constructor, getting circular dependency error in unit testcases\n this.wizardComponent = this.inj.get(WizardComponent);\n }\n\n public invokeNextCB(index: number): boolean {\n return this.invokeEventCallback('next', {currentStep: this, stepIndex: index});\n }\n\n public invokePrevCB(index: number): boolean {\n return this.invokeEventCallback('prev', {currentStep: this, stepIndex: index});\n }\n\n public invokeSkipCB(index: number): boolean {\n return this.invokeEventCallback('skip', {currentStep: this, stepIndex: index});\n }\n\n // redraw all the projected components which are projected.\n private redrawChildren() {\n setTimeout(() => {\n if (this.reDrawableComponents) {\n this.reDrawableComponents.forEach(c => c.redraw());\n }\n const stepIndex = (this as any).wizardComponent.getCurrentStepIndex();\n this.invokeEventCallback('load', { stepIndex });\n }, 100);\n }\n}\n","<div class=\"app-wizard-heading\" role=\"tab\">\n <ul class=\"app-wizard-steps nav nav-pills {{stepClass}}\">\n <li class=\"app-wizard-step\" *ngFor=\"let step of steps; let i = index\" [hidden]=\"!step.show\"\n [ngClass]=\"{active: step.done, current: step.active, disabled: step.disabled}\"\n (click)=\"onWizardHeaderClick($event, step)\">\n <a href=\"javascript:void(0)\" [attr.aria-label]=\"step.title\" [attr.title]=\"step.title\" [ngClass]=\"{'title-center-align':class && class.includes('classic') && !step.subtitle}\">\n <span class=\"arrow\" *ngIf=\"class && class.includes('classic')\"></span>\n <span class=\"wizard-step-number\">\n <span class=\"count\" *ngIf=\"class && class.includes('number') && !step.isDone\">{{i+1}}</span>\n <i class=\"dottedstepper\" *ngIf=\"class && (class.includes('dottedstepper') || class.includes('text-inline') && !class.includes('iconstepper')) && !step.isDone\"></i>\n <i class=\"app-icon wi wi-done\" *ngIf=\"class && (class.includes('dottedstepper') || class.includes('number')) && step.isDone\"></i>\n <i class=\"app-icon {{step.iconclass}}\" *ngIf=\"(class && class.includes('iconstepper')) && ((step.iconclass && !step.isDone) || (step.iconclass && step.isDone && step.doneiconclass ===''))\"></i>\n <i class=\"app-icon {{step.doneiconclass}}\" *ngIf=\"step.doneiconclass && step.isDone && (class && class.includes('iconstepper'))\"></i>\n </span>\n <span class=\"title-wrapper\">\n <span *ngIf=\"class && class.includes('text-inline')\">{{'0' + (i+1)}}</span>\n <span class=\"step-title\" [textContent]=\"step.title\"></span>\n </span>\n <span class=\"subtitle-wrapper\" [attr.title]=\"step.subtitle\" *ngIf=\"step.subtitle\">\n <span class=\"step-title\" [textContent]=\"step.subtitle\"></span>\n <a class=\"read_more\" (click)=\"readMoreSubtitle()\" style=\"display:none\">more</a>\n </span>\n </a> \n </li>\n </ul>\n</div>\n<div class=\"app-wizard-body panel-body\" role=\"tabpanel\">\n <p wmMessage *ngIf=\"message.caption\" caption.bind=\"message.caption\" type.bind=\"message.type\"></p>\n <ng-content ngProjectAs=\"form[wmWizardStep]\"></ng-content>\n</div>\n<div class=\"app-wizard-actions panel-footer {{actionsalignment}}\">\n <a class=\"app-wizard-skip\" name=\"skipStep_{{name}}\" *ngIf=\"currentStep?.enableskip\" title=\"Skip step\" (click)=\"skip()\">Skip &raquo;</a>\n <div class=\"app-wizard-actions-right\">\n <button type=\"button\" name=\"cancelBtn_{{name}}\" class=\"btn app-button btn-default\" *ngIf=\"cancelable\"\n (click)=\"cancel()\" [title]=\"cancelbtnlabel\" [textContent]=\"cancelbtnlabel\"></button>\n <button type=\"button\" name=\"previousBtn_{{name}}\" class=\"btn app-button btn-default\"\n *ngIf=\"hasPrevStep\" (click)=\"prev()\" [disabled]=\"!enablePrev\">\n <i class=\"app-icon wi wi-chevron-left\"></i>\n <span class=\"btn-caption\" [textContent]=\"previousbtnlabel\"></span>\n </button>\n <button type=\"button\" name=\"nextBtn_{{name}}\" class=\"btn app-button btn-primary\"\n *ngIf=\"hasNextStep\" (click)=\"next()\" [disabled]=\"!enableNext\">\n <span class=\"btn-caption\" [textContent]=\"nextbtnlabel\"></span>\n <i class=\"app-icon wi wi-chevron-right\"></i>\n </button>\n <button type=\"button\" name=\"doneBtn_{{name}}\" class=\"btn app-button btn-success\"\n *ngIf=\"showDoneBtn\" (click)=\"done()\"\n [disabled]=\"!enableDone\">\n <i class=\"app-icon wm-sl-l sl-check\"></i>\n <span class=\"btn-caption\" [textContent]=\"donebtnlabel\"></span>\n </button>\n </div>\n</div>\n","import {\n AfterContentInit,\n AfterViewInit,\n Component,\n ContentChildren,\n Injector,\n OnInit,\n Optional,\n QueryList\n} from '@angular/core';\n\nimport {noop} from '@wm/core';\nimport { APPLY_STYLES_TYPE, IWidgetConfig, provideAsWidgetRef, styler, StylableComponent } from '@wm/components/base';\n\nimport { registerProps } from './wizard.props';\nimport { WizardStepDirective } from './wizard-step/wizard-step.directive';\n\nconst DEFAULT_CLS = 'app-wizard panel clearfix';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-wizard',\n hostClass: DEFAULT_CLS\n};\n\n@Component({\n selector: 'div[wmWizard]',\n templateUrl: './wizard.component.html',\n providers: [\n provideAsWidgetRef(WizardComponent)\n ]\n})\nexport class WizardComponent extends StylableComponent implements OnInit, AfterContentInit, AfterViewInit {\n static initializeProps = registerProps();\n\n @ContentChildren(WizardStepDirective) steps: QueryList<WizardStepDirective>;\n\n public message: {caption: string, type: string};\n public currentStep: WizardStepDirective;\n\n public stepClass: string;\n public class;\n private readonly promiseResolverFn: Function;\n public actionsalignment: any;\n public cancelable: any;\n\n get hasPrevStep(): boolean {\n return !this.isFirstStep(this.currentStep);\n }\n\n get hasNextStep(): boolean {\n return !this.isLastStep(this.currentStep);\n }\n\n get showDoneBtn(): boolean {\n if (!this.currentStep) {\n return;\n }\n return !this.hasNextStep && this.currentStep.enableDone;\n }\n\n get enablePrev(): boolean {\n if (!this.currentStep) {\n return;\n }\n return this.currentStep.enablePrev;\n }\n\n get enableNext(): boolean {\n if (!this.currentStep) {\n return;\n }\n return this.currentStep.enableNext && this.currentStep.isValid;\n }\n\n get enableDone(): boolean {\n if (!this.currentStep) {\n return;\n }\n return this.currentStep.enableDone && this.currentStep.isValid;\n }\n\n constructor(inj: Injector) {\n let resolveFn: Function = noop;\n\n super(inj, WIDGET_CONFIG, new Promise(res => resolveFn = res));\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.SHELL);\n\n this.promiseResolverFn = resolveFn;\n\n // initialize the message object with default values\n this.message = {\n caption: '',\n type: ''\n };\n }\n\n /**\n * returns next valid step. the index passed is also checked if its valid step\n * @param index\n * @returns {WizardStepDirective}\n */\n private getNextValidStepFormIndex(index: number): WizardStepDirective {\n for (let i = index; i < this.steps.length; i++) {\n const step = this.getStepRefByIndex(i);\n if (step.show) {\n return step;\n }\n }\n }\n\n /**\n * returns previous valid step. the index passed is also checked if its valid step\n * @param index\n * @returns {WizardStepDirective}\n */\n private getPreviousValidStepFormIndex(index: number): WizardStepDirective {\n for (let i = index; i >= 0; i--) {\n const step = this.getStepRefByIndex(i);\n if (step.show) {\n return step;\n }\n }\n }\n\n /**\n * returns current step index value.\n * @returns {number}\n */\n private getCurrentStepIndex(): number {\n return this.getStepIndexByRef(this.currentStep);\n }\n\n /**\n * returns stepRef when index is passed.\n * @param {number} index\n * @returns {WizardStepDirective}\n */\n private getStepRefByIndex(index: number): WizardStepDirective {\n return this.steps.toArray()[index];\n }\n\n /**\n * returns the index value of the step.\n * @param {WizardStepDirective} wizardStep\n * @returns {number}\n */\n private getStepIndexByRef(wizardStep: WizardStepDirective): number {\n return this.steps.toArray().indexOf(wizardStep);\n }\n\n /**\n * gets stepRef by searching on the name property.\n * @param {string} name\n * @returns {WizardStepDirective}\n */\n private getStepRefByName(name: string): WizardStepDirective {\n return this.steps.find(step => step.name === name);\n }\n\n /**\n * sets default step as current step if configured\n * or finds first valid step and set it as current step.\n * @param {WizardStepDirective} step\n */\n private setDefaultStep(step: WizardStepDirective) {\n // If the default step has show true then only update the currentStep\n if (step && step.show) {\n this.currentStep = step;\n step.active = true;\n step.isInitialized = true;\n // Mark all previous step status COMPLETED\n let index = this.getStepIndexByRef(step) - 1;\n while (index >= 0) {\n const prevStep = this.getStepRefByIndex(index);\n prevStep.done = true;\n prevStep.isInitialized = true;\n index--;\n }\n } else {\n // set next valid step as current step\n step = this.getNextValidStepFormIndex(0);\n if (step) {\n this.setDefaultStep(step);\n }\n }\n this.addMoreText();\n }\n\n /**\n * Selects the associated step when the wizard header is clicked.\n * @param $event\n * @param {WizardStepDirective} currentStep\n */\n private onWizardHeaderClick($event: Event, currentStep: WizardStepDirective) {\n // select the step if it's status is done\n if (currentStep.done) {\n // set all the next steps status as disabled and previous steps as done\n this.steps.forEach((step, index) => {\n if (index < this.getStepIndexByRef(currentStep)) {\n step.done = true;\n step.isDone = true;\n } else {\n step.disabled = true;\n step.isDone = false;\n }\n });\n // set the selected step as current step and make it active\n this.currentStep = currentStep;\n this.currentStep.active = true;\n this.addMoreText();\n }\n }\n\n // Method to navigate to next step\n public next(eventName: string = 'next') {\n const currentStep = this.currentStep;\n const currentStepIndex = this.getCurrentStepIndex();\n\n let nextStep: WizardStepDirective;\n\n // abort if onSkip method returns false\n if (eventName === 'skip') {\n if (currentStep.invokeSkipCB(currentStepIndex) === false) {\n return;\n }\n } else if (eventName === 'next') {\n if (currentStep.invokeNextCB(currentStepIndex) === false) {\n return;\n }\n }\n nextStep = this.getNextValidStepFormIndex(currentStepIndex + 1);\n nextStep.isInitialized = true;\n\n // If there are any steps which has show then only change state of current step else remain same\n if (nextStep) {\n currentStep.isDone = true;\n currentStep.done = true;\n nextStep.active = true;\n this.currentStep = nextStep;\n }\n this.addMoreText();\n }\n // Method to navigate to previous step\n public prev() {\n const currentStep = this.currentStep;\n const currentStepIndex = this.getCurrentStepIndex();\n\n let prevStep: WizardStepDirective;\n\n // abort if onPrev method returns false.\n if (currentStep.invokePrevCB(currentStepIndex) === false) {\n return;\n }\n\n prevStep = this.getPreviousValidStepFormIndex(currentStepIndex - 1);\n\n // If there are any steps which has show then only change state of current step else remain same\n if (prevStep) {\n currentStep.isDone = false;\n currentStep.disabled = true;\n prevStep.active = true;\n this.currentStep = prevStep;\n }\n this.addMoreText();\n }\n\n public skip() {\n this.next('skip');\n }\n\n // Method to invoke on-Done event on wizard\n public done() {\n this.currentStep.isDone = true;\n this.invokeEventCallback('done', {steps: this.steps.toArray()});\n }\n // Method to invoke on-Cancel event on wizard\n public cancel () {\n this.invokeEventCallback('cancel', {steps: this.steps.toArray()});\n }\n public addMoreText(){\n setTimeout(() => {\n\n\n var newWindowWidth = $(window).width();\n if(newWindowWidth < 768){\n $(\".app-wizard-step.current .subtitle-wrapper .step-title\").css({\"height\":\"auto\",\"display\":\"block\"});\n var subtitleTextLength = $(\".app-wizard-step.current .subtitle-wrapper .step-title\").height();\n $(\".read_more\").css(\"display\",\"none\");\n $(\".current .subtitle-wrapper\").removeClass(\"readmore_subtitle\");\n\n if(subtitleTextLength>44){\n $(\".app-wizard-step.current .subtitle-wrapper .step-title\").css({\"height\":\"44px\",\"display\":\"-webkit-box\"});\n $(\".current .read_more\").css(\"display\",\"block\");\n $(\".active .read_more\").css(\"display\",\"none\");\n $(\".disable .read_more\").css(\"display\",\"none\");\n $(\".app-wizard-step>a\").css(\"height\",\"100px\")\n }\n }\n });\n\n }\n public readMoreSubtitle(){\n $(\".current .subtitle-wrapper\").addClass(\"readmore_subtitle\");\n $(\".current .read_more\").css(\"display\",\"none\");\n $(document).on(\"mouseup\",function(e:any)\n {\n var container = $(\".subtitle-wrapper\");\n // if the target of the click isn't the container nor a descendant of the container\n if (!container.is(e.target) && container.has(e.target).length === 0)\n {\n $(\".current .subtitle-wrapper\").removeClass(\"readmore_subtitle\");\n $(\".current .read_more\").css(\"display\",\"block\");\n $(document).off(\"mouseup\");\n }\n });\n }\n\n private isFirstStep(stepRef: WizardStepDirective) {\n return this.steps.first === stepRef;\n }\n\n private isLastStep(stepRef: WizardStepDirective) {\n return this.steps.last === stepRef;\n }\n\n // Define the property change handler. This Method will be triggered when there is a change in the widget property\n onPropertyChange(key: string, nv: any, ov?: any) {\n // Monitoring changes for properties and accordingly handling respective changes\n\n if (key === 'stepstyle') {\n this.stepClass = nv === 'justified' ? 'nav-justified' : '';\n } else if (key === 'defaultstep') {\n this.setDefaultStep(this.getStepRefByName(nv));\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngAfterContentInit() {\n super.ngAfterContentInit();\n this.promiseResolverFn();\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(\n this.nativeElement.querySelector('.panel-body') as HTMLElement,\n this,\n APPLY_STYLES_TYPE.INNER_SHELL\n );\n setTimeout(() => { if($(window).width()<768){\n $(\".app-wizard\").removeClass(\"vertical\");\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { WmComponentsModule } from '@wm/components/base';\n\nimport { WizardComponent } from './wizard.component';\nimport { WizardStepDirective} from './wizard-step/wizard-step.directive';\n\nconst components = [\n WizardStepDirective,\n WizardComponent\n];\n\n@NgModule({\n imports: [\n CommonModule,\n WmComponentsModule,\n FormsModule\n ],\n declarations: [...components],\n exports: [...components]\n})\nexport class WizardModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["registerProps","DEFAULT_CLS","WIDGET_CONFIG"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/containers/wizard/src/wizard.props.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard-step/wizard-step.props.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard-step/wizard-step.directive.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard.component.html","../../../../../projects/components/widgets/containers/wizard/src/wizard.component.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard.module.ts","../../../../../projects/components/widgets/containers/wizard/src/index.ts"],"sourcesContent":["import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-wizard',\n new Map(\n [\n ['actionsalignment', {value: 'right', ...PROP_STRING}],\n ['cancelable', {value: true, ...PROP_BOOLEAN}],\n ['enablenext', {value: false, ...PROP_BOOLEAN}],\n ['cancelbtnlabel', {value: 'Cancel', ...PROP_STRING}],\n ['class', {value: 'classic', ...PROP_STRING}],\n ['defaultstep', {value: 'none', ...PROP_STRING}],\n ['donebtnlabel', {value: 'Done', ...PROP_STRING}],\n ['name', PROP_STRING],\n ['nextbtnlabel', {value: 'Next', ...PROP_STRING}],\n ['previousbtnlabel', {value: 'Previous', ...PROP_STRING}],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['stepstyle', {value: 'auto', ...PROP_STRING}]\n ]\n )\n );\n};\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-wizardstep',\n new Map(\n [\n ['class', PROP_STRING],\n ['enableskip', {value: false, ...PROP_BOOLEAN}],\n ['iconclass', {value: 'wi wi-person', ...PROP_STRING}],\n ['doneiconclass', {value: 'wi wi-done', ...PROP_STRING}],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['title', {value: 'Step Title', ...PROP_STRING}],\n ['subtitle', PROP_STRING]\n ]\n )\n );\n};\n","import {ContentChildren, Directive, HostBinding, Injector, Optional, Self} from '@angular/core';\nimport { NgForm } from '@angular/forms';\n\nimport { BaseComponent, IWidgetConfig, provideAsWidgetRef, RedrawableDirective } from '@wm/components/base';\nimport { WizardComponent } from '../wizard.component';\n\nimport { registerProps } from './wizard-step.props';\n\nconst DEFAULT_CLS = 'app-wizard-step-content';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-wizardstep',\n hostClass: DEFAULT_CLS,\n};\n\nconst enum STEP_STATUS {\n CURRENT = 1,\n DISABLED,\n COMPLETED\n}\n\n@Directive({\n selector: 'form[wmWizardStep]',\n providers: [\n provideAsWidgetRef(WizardStepDirective),\n NgForm\n ],\n exportAs: 'wmWizardStep'\n})\nexport class WizardStepDirective extends BaseComponent {\n static initializeProps = registerProps();\n\n public show: boolean;\n public name: string;\n public enableskip: any;\n public disablenext: boolean;\n public disabledone: boolean;\n public disableprevious: boolean;\n public isInitialized: boolean;\n isDone: boolean = false ;\n\n private status: STEP_STATUS = STEP_STATUS.DISABLED;\n private wizardComponent: WizardComponent;\n\n // reference to the components which needs a redraw(eg, grid, chart) when the height of this component changes\n @ContentChildren(RedrawableDirective, {descendants: true}) reDrawableComponents;\n\n @HostBinding('class.current')\n get isCurrent() {\n return this.active;\n }\n\n /**\n * along with the wizard form , also validate the forms\n * if there are any inside the wizard\n * @returns {boolean}\n */\n public get isValid() {\n return (this.ngForm.valid || this.ngForm.disabled) && this.areEmbeddedFormsValid();\n }\n\n /**\n * get all the forms inside the wizard if any and validate\n * @returns {boolean}\n */\n private areEmbeddedFormsValid() {\n let embeddedForms = this.getAllEmbeddedForms();\n for (let form of embeddedForms) {\n if (form.widget && !form.widget.ngform.valid) {\n return false;\n }\n }\n return true;\n }\n\n private getAllEmbeddedForms() {\n return this.$element.find('form');\n }\n\n public get enableNext() {\n return !this.disablenext;\n }\n\n public get enableDone() {\n return !this.disabledone;\n }\n\n public get enablePrev() {\n return !this.disableprevious;\n }\n\n public set active(nv: boolean) {\n const isActive = this.active;\n this.status = STEP_STATUS.CURRENT;\n if (nv && !isActive) {\n this.redrawChildren();\n }\n }\n\n public get active(): boolean {\n return this.status === STEP_STATUS.CURRENT;\n }\n\n public set done(nv: boolean) {\n if (nv) {\n this.status = STEP_STATUS.COMPLETED;\n }\n }\n\n public get done(): boolean {\n return this.status === STEP_STATUS.COMPLETED;\n }\n\n public set disabled(nv: boolean) {\n if (nv) {\n this.status = STEP_STATUS.DISABLED;\n }\n }\n\n public get disabled(): boolean {\n return this.status === STEP_STATUS.DISABLED;\n }\n\n constructor(inj: Injector, @Self() private ngForm: NgForm) {\n super(inj, WIDGET_CONFIG);\n // If we inject directly as a param in the constructor, getting circular dependency error in unit testcases\n this.wizardComponent = this.inj.get(WizardComponent);\n }\n\n public invokeNextCB(index: number): boolean {\n return this.invokeEventCallback('next', {currentStep: this, stepIndex: index});\n }\n\n public invokePrevCB(index: number): boolean {\n return this.invokeEventCallback('prev', {currentStep: this, stepIndex: index});\n }\n\n public invokeSkipCB(index: number): boolean {\n return this.invokeEventCallback('skip', {currentStep: this, stepIndex: index});\n }\n\n // redraw all the projected components which are projected.\n private redrawChildren() {\n setTimeout(() => {\n if (this.reDrawableComponents) {\n this.reDrawableComponents.forEach(c => c.redraw());\n }\n const stepIndex = (this as any).wizardComponent.getCurrentStepIndex();\n this.invokeEventCallback('load', { stepIndex });\n }, 100);\n }\n}\n","<div class=\"app-wizard-heading\" role=\"tab\">\n <ul class=\"app-wizard-steps nav nav-pills {{stepClass}}\">\n <li class=\"app-wizard-step\" *ngFor=\"let step of steps; let i = index\" [hidden]=\"!step.show\"\n [ngClass]=\"{active: step.done, current: step.active, disabled: step.disabled}\"\n (click)=\"onWizardHeaderClick($event, step)\">\n <a href=\"javascript:void(0)\" [attr.aria-label]=\"step.title\" [attr.title]=\"step.title\" [ngClass]=\"{'title-center-align':class && class.includes('classic') && !step.subtitle}\">\n <span class=\"arrow\" *ngIf=\"class && class.includes('classic')\"></span>\n <span class=\"wizard-step-number\">\n <span class=\"count\" *ngIf=\"class && class.includes('number') && !step.isDone\">{{i+1}}</span>\n <i class=\"dottedstepper\" *ngIf=\"class && (class.includes('dottedstepper') || class.includes('text-inline') && !class.includes('iconstepper')) && !step.isDone\"></i>\n <i class=\"app-icon wi wi-done\" *ngIf=\"class && (class.includes('dottedstepper') || class.includes('number')) && step.isDone\"></i>\n <i class=\"app-icon {{step.iconclass}}\" *ngIf=\"(class && class.includes('iconstepper')) && ((step.iconclass && !step.isDone) || (step.iconclass && step.isDone && step.doneiconclass ===''))\"></i>\n <i class=\"app-icon {{step.doneiconclass}}\" *ngIf=\"step.doneiconclass && step.isDone && (class && class.includes('iconstepper'))\"></i>\n </span>\n <span class=\"title-wrapper\">\n <span *ngIf=\"class && class.includes('text-inline')\">{{'0' + (i+1)}}</span>\n <span class=\"step-title\" [textContent]=\"step.title\"></span>\n </span>\n <span class=\"subtitle-wrapper\" [attr.title]=\"step.subtitle\" *ngIf=\"step.subtitle\">\n <span class=\"step-title\" [textContent]=\"step.subtitle\"></span>\n <a class=\"read_more\" (click)=\"readMoreSubtitle()\" style=\"display:none\">more</a>\n </span>\n </a> \n </li>\n </ul>\n</div>\n<div class=\"app-wizard-body panel-body\" role=\"tabpanel\">\n <p wmMessage *ngIf=\"message.caption\" caption.bind=\"message.caption\" type.bind=\"message.type\"></p>\n <ng-content ngProjectAs=\"form[wmWizardStep]\"></ng-content>\n</div>\n<div class=\"app-wizard-actions panel-footer {{actionsalignment}}\">\n <a class=\"app-wizard-skip\" name=\"skipStep_{{name}}\" *ngIf=\"currentStep?.enableskip\" title=\"Skip step\" (click)=\"skip()\">Skip &raquo;</a>\n <div class=\"app-wizard-actions-right\">\n <button type=\"button\" name=\"cancelBtn_{{name}}\" class=\"btn app-button btn-default\" *ngIf=\"cancelable\"\n (click)=\"cancel()\" [title]=\"cancelbtnlabel\" [textContent]=\"cancelbtnlabel\"></button>\n <button type=\"button\" name=\"previousBtn_{{name}}\" class=\"btn app-button btn-default\"\n *ngIf=\"hasPrevStep\" (click)=\"prev()\" [disabled]=\"!enablePrev\">\n <i class=\"app-icon wi wi-chevron-left\"></i>\n <span class=\"btn-caption\" [textContent]=\"previousbtnlabel\"></span>\n </button>\n <button type=\"button\" name=\"nextBtn_{{name}}\" class=\"btn app-button btn-primary\"\n *ngIf=\"hasNextStep\" (click)=\"next()\" [disabled]=\"!enableNext\">\n <span class=\"btn-caption\" [textContent]=\"nextbtnlabel\"></span>\n <i class=\"app-icon wi wi-chevron-right\"></i>\n </button>\n <button type=\"button\" name=\"doneBtn_{{name}}\" class=\"btn app-button btn-success\"\n *ngIf=\"showDoneBtn\" (click)=\"done()\"\n [disabled]=\"!enableDone\">\n <i class=\"app-icon wm-sl-l sl-check\"></i>\n <span class=\"btn-caption\" [textContent]=\"donebtnlabel\"></span>\n </button>\n </div>\n</div>\n","import {\n AfterContentInit,\n AfterViewInit,\n Component,\n ContentChildren,\n Injector,\n OnInit,\n Optional,\n QueryList\n} from '@angular/core';\n\nimport {noop} from '@wm/core';\nimport { APPLY_STYLES_TYPE, IWidgetConfig, provideAsWidgetRef, styler, StylableComponent } from '@wm/components/base';\n\nimport { registerProps } from './wizard.props';\nimport { WizardStepDirective } from './wizard-step/wizard-step.directive';\n\nconst DEFAULT_CLS = 'app-wizard panel clearfix';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-wizard',\n hostClass: DEFAULT_CLS\n};\n\n@Component({\n selector: 'div[wmWizard]',\n templateUrl: './wizard.component.html',\n providers: [\n provideAsWidgetRef(WizardComponent)\n ]\n})\nexport class WizardComponent extends StylableComponent implements OnInit, AfterContentInit, AfterViewInit {\n static initializeProps = registerProps();\n\n @ContentChildren(WizardStepDirective) steps: QueryList<WizardStepDirective>;\n\n public message: {caption: string, type: string};\n public currentStep: WizardStepDirective;\n\n public stepClass: string;\n public class;\n private readonly promiseResolverFn: Function;\n public actionsalignment: any;\n public cancelable: any;\n public enablenext: any;\n\n get hasPrevStep(): boolean {\n return !this.isFirstStep(this.currentStep);\n }\n\n get hasNextStep(): boolean {\n return !this.isLastStep(this.currentStep);\n }\n\n get showDoneBtn(): boolean {\n if (!this.currentStep) {\n return;\n }\n return !this.hasNextStep && this.currentStep.enableDone;\n }\n\n get enablePrev(): boolean {\n if (!this.currentStep) {\n return;\n }\n return this.currentStep.enablePrev;\n }\n\n get enableNext(): boolean {\n if (!this.currentStep) {\n return;\n }\n return this.enablenext ? true : (this.currentStep.enableNext && this.currentStep.isValid);\n }\n\n get enableDone(): boolean {\n if (!this.currentStep) {\n return;\n }\n return this.currentStep.enableDone && this.currentStep.isValid;\n }\n\n constructor(inj: Injector) {\n let resolveFn: Function = noop;\n\n super(inj, WIDGET_CONFIG, new Promise(res => resolveFn = res));\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.SHELL);\n\n this.promiseResolverFn = resolveFn;\n\n // initialize the message object with default values\n this.message = {\n caption: '',\n type: ''\n };\n }\n\n /**\n * returns next valid step. the index passed is also checked if its valid step\n * @param index\n * @returns {WizardStepDirective}\n */\n private getNextValidStepFormIndex(index: number): WizardStepDirective {\n for (let i = index; i < this.steps.length; i++) {\n const step = this.getStepRefByIndex(i);\n if (step.show) {\n return step;\n }\n }\n }\n\n /**\n * returns previous valid step. the index passed is also checked if its valid step\n * @param index\n * @returns {WizardStepDirective}\n */\n private getPreviousValidStepFormIndex(index: number): WizardStepDirective {\n for (let i = index; i >= 0; i--) {\n const step = this.getStepRefByIndex(i);\n if (step.show) {\n return step;\n }\n }\n }\n\n /**\n * returns current step index value.\n * @returns {number}\n */\n private getCurrentStepIndex(): number {\n return this.getStepIndexByRef(this.currentStep);\n }\n\n /**\n * returns stepRef when index is passed.\n * @param {number} index\n * @returns {WizardStepDirective}\n */\n private getStepRefByIndex(index: number): WizardStepDirective {\n return this.steps.toArray()[index];\n }\n\n /**\n * returns the index value of the step.\n * @param {WizardStepDirective} wizardStep\n * @returns {number}\n */\n private getStepIndexByRef(wizardStep: WizardStepDirective): number {\n return this.steps.toArray().indexOf(wizardStep);\n }\n\n /**\n * gets stepRef by searching on the name property.\n * @param {string} name\n * @returns {WizardStepDirective}\n */\n private getStepRefByName(name: string): WizardStepDirective {\n return this.steps.find(step => step.name === name);\n }\n\n /**\n * sets default step as current step if configured\n * or finds first valid step and set it as current step.\n * @param {WizardStepDirective} step\n */\n private setDefaultStep(step: WizardStepDirective) {\n // If the default step has show true then only update the currentStep\n if (step && step.show) {\n this.currentStep = step;\n step.active = true;\n step.isInitialized = true;\n // Mark all previous step status COMPLETED\n let index = this.getStepIndexByRef(step) - 1;\n while (index >= 0) {\n const prevStep = this.getStepRefByIndex(index);\n prevStep.done = true;\n prevStep.isInitialized = true;\n index--;\n }\n } else {\n // set next valid step as current step\n step = this.getNextValidStepFormIndex(0);\n if (step) {\n this.setDefaultStep(step);\n }\n }\n this.addMoreText();\n }\n\n /**\n * Selects the associated step when the wizard header is clicked.\n * @param $event\n * @param {WizardStepDirective} currentStep\n */\n private onWizardHeaderClick($event: Event, currentStep: WizardStepDirective) {\n // select the step if it's status is done\n if (currentStep.done) {\n // set all the next steps status as disabled and previous steps as done\n this.steps.forEach((step, index) => {\n if (index < this.getStepIndexByRef(currentStep)) {\n step.done = true;\n step.isDone = true;\n } else {\n step.disabled = true;\n step.isDone = false;\n }\n });\n // set the selected step as current step and make it active\n this.currentStep = currentStep;\n this.currentStep.active = true;\n this.addMoreText();\n }\n }\n\n // Method to navigate to next step\n public next(eventName: string = 'next') {\n const currentStep = this.currentStep;\n const currentStepIndex = this.getCurrentStepIndex();\n\n // abort if onSkip method returns false\n if (eventName === 'skip') {\n if (currentStep.invokeSkipCB(currentStepIndex) === false) {\n return;\n }\n this.extendNextFn(currentStep, currentStepIndex);\n } else if (this.currentStep.isValid && eventName === 'next') {\n if (currentStep.invokeNextCB(currentStepIndex) === false) {\n return;\n }\n this.extendNextFn(currentStep, currentStepIndex);\n } else if (this.enablenext && !this.currentStep.isValid){\n Array.from((<any>this).currentStep.getAllEmbeddedForms())?.forEach((form:any) => {\n form.widget.highlightInvalidFields();\n });\n }\n }\n\n extendNextFn(currentStep, currentStepIndex){\n let nextStep: WizardStepDirective;\n nextStep = this.getNextValidStepFormIndex(currentStepIndex + 1);\n nextStep.isInitialized = true;\n\n // If there are any steps which has show then only change state of current step else remain same\n if (nextStep) {\n currentStep.isDone = true;\n currentStep.done = true;\n nextStep.active = true;\n this.currentStep = nextStep;\n }\n this.addMoreText();\n }\n // Method to navigate to previous step\n public prev() {\n const currentStep = this.currentStep;\n const currentStepIndex = this.getCurrentStepIndex();\n\n let prevStep: WizardStepDirective;\n\n // abort if onPrev method returns false.\n if (currentStep.invokePrevCB(currentStepIndex) === false) {\n return;\n }\n\n prevStep = this.getPreviousValidStepFormIndex(currentStepIndex - 1);\n\n // If there are any steps which has show then only change state of current step else remain same\n if (prevStep) {\n currentStep.isDone = false;\n currentStep.disabled = true;\n prevStep.active = true;\n this.currentStep = prevStep;\n }\n this.addMoreText();\n }\n\n public skip() {\n this.next('skip');\n }\n\n // Method to invoke on-Done event on wizard\n public done() {\n this.currentStep.isDone = true;\n this.invokeEventCallback('done', {steps: this.steps.toArray()});\n }\n // Method to invoke on-Cancel event on wizard\n public cancel () {\n this.invokeEventCallback('cancel', {steps: this.steps.toArray()});\n }\n public addMoreText(){\n setTimeout(() => {\n\n\n var newWindowWidth = $(window).width();\n if(newWindowWidth < 768){\n $(\".app-wizard-step.current .subtitle-wrapper .step-title\").css({\"height\":\"auto\",\"display\":\"block\"});\n var subtitleTextLength = $(\".app-wizard-step.current .subtitle-wrapper .step-title\").height();\n $(\".read_more\").css(\"display\",\"none\");\n $(\".current .subtitle-wrapper\").removeClass(\"readmore_subtitle\");\n\n if(subtitleTextLength>44){\n $(\".app-wizard-step.current .subtitle-wrapper .step-title\").css({\"height\":\"44px\",\"display\":\"-webkit-box\"});\n $(\".current .read_more\").css(\"display\",\"block\");\n $(\".active .read_more\").css(\"display\",\"none\");\n $(\".disable .read_more\").css(\"display\",\"none\");\n $(\".app-wizard-step>a\").css(\"height\",\"100px\")\n }\n }\n });\n\n }\n public readMoreSubtitle(){\n $(\".current .subtitle-wrapper\").addClass(\"readmore_subtitle\");\n $(\".current .read_more\").css(\"display\",\"none\");\n $(document).on(\"mouseup\",function(e:any)\n {\n var container = $(\".subtitle-wrapper\");\n // if the target of the click isn't the container nor a descendant of the container\n if (!container.is(e.target) && container.has(e.target).length === 0)\n {\n $(\".current .subtitle-wrapper\").removeClass(\"readmore_subtitle\");\n $(\".current .read_more\").css(\"display\",\"block\");\n $(document).off(\"mouseup\");\n }\n });\n }\n\n private isFirstStep(stepRef: WizardStepDirective) {\n return this.steps.first === stepRef;\n }\n\n private isLastStep(stepRef: WizardStepDirective) {\n return this.steps.last === stepRef;\n }\n\n // Define the property change handler. This Method will be triggered when there is a change in the widget property\n onPropertyChange(key: string, nv: any, ov?: any) {\n // Monitoring changes for properties and accordingly handling respective changes\n\n if (key === 'stepstyle') {\n this.stepClass = nv === 'justified' ? 'nav-justified' : '';\n } else if (key === 'defaultstep') {\n this.setDefaultStep(this.getStepRefByName(nv));\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngAfterContentInit() {\n super.ngAfterContentInit();\n this.promiseResolverFn();\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(\n this.nativeElement.querySelector('.panel-body') as HTMLElement,\n this,\n APPLY_STYLES_TYPE.INNER_SHELL\n );\n setTimeout(() => { if($(window).width()<768){\n $(\".app-wizard\").removeClass(\"vertical\");\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { WmComponentsModule } from '@wm/components/base';\n\nimport { WizardComponent } from './wizard.component';\nimport { WizardStepDirective} from './wizard-step/wizard-step.directive';\n\nconst components = [\n WizardStepDirective,\n WizardComponent\n];\n\n@NgModule({\n imports: [\n CommonModule,\n WmComponentsModule,\n FormsModule\n ],\n declarations: [...components],\n exports: [...components]\n})\nexport class WizardModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["registerProps","DEFAULT_CLS","WIDGET_CONFIG"],"mappings":"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"}
@@ -15,6 +15,7 @@ export declare class WizardComponent extends StylableComponent implements OnInit
15
15
  private readonly promiseResolverFn;
16
16
  actionsalignment: any;
17
17
  cancelable: any;
18
+ enablenext: any;
18
19
  get hasPrevStep(): boolean;
19
20
  get hasNextStep(): boolean;
20
21
  get showDoneBtn(): boolean;
@@ -70,6 +71,7 @@ export declare class WizardComponent extends StylableComponent implements OnInit
70
71
  */
71
72
  private onWizardHeaderClick;
72
73
  next(eventName?: string): void;
74
+ extendNextFn(currentStep: any, currentStepIndex: any): void;
73
75
  prev(): void;
74
76
  skip(): void;
75
77
  done(): void;
@@ -326,8 +326,19 @@
326
326
  $ele: $ele
327
327
  };
328
328
  };
329
+ // Function to get the active element markup based on widget type
330
+ const getActiveElement = (element) => {
331
+ const widgetType = element.getAttribute('widgettype');
332
+ switch (widgetType) {
333
+ case 'select':
334
+ return element.querySelector('select');
335
+ case 'textarea':
336
+ return element.querySelector('textarea');
337
+ default:
338
+ return element.querySelector('input');
339
+ }
340
+ };
329
341
  const setTouchedState = (self, ngForm, fieldName) => {
330
- var _a, _b;
331
342
  if (ngForm.valid) {
332
343
  return;
333
344
  }
@@ -338,15 +349,13 @@
338
349
  }
339
350
  else {
340
351
  let element = self.$element.find(`[wmformfield][key="${fieldName}"]`);
341
- // checking for name attribute if the key attribute is not present on formfield
342
352
  if (!element.length) {
343
353
  element = self.$element.find(`[wmformfield][name="${fieldName}"]`);
344
354
  }
345
- if (element.length) {
346
- element[0].setAttribute('__errormsg', element[0].getAttribute('__validationId'));
347
- (_a = element[0].querySelector('input')) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-invalid', ngForm.invalid);
348
- (_b = element[0].querySelector('input')) === null || _b === void 0 ? void 0 : _b.setAttribute('aria-describedby', element[0].getAttribute('__validationId'));
349
- }
355
+ element[0].setAttribute('__errormsg', element[0].getAttribute('__validationId'));
356
+ let activeElement = getActiveElement(element[0]);
357
+ activeElement === null || activeElement === void 0 ? void 0 : activeElement.setAttribute('aria-invalid', ngForm.invalid);
358
+ activeElement === null || activeElement === void 0 ? void 0 : activeElement.setAttribute('aria-describedby', element[0].getAttribute('__validationId'));
350
359
  ngForm.markAsTouched();
351
360
  }
352
361
  };
@@ -1752,21 +1761,36 @@
1752
1761
  this._activeField = true;
1753
1762
  $($evt.target).closest('.live-field').addClass('active');
1754
1763
  }
1755
- _onBlurField($evt) {
1756
- var _a, _b, _c, _d;
1757
- $($evt.target).closest('.live-field').removeClass('active');
1758
- this.nativeElement.querySelector('p.text-danger');
1759
- // Fix for [WMS-23959]: ADA issue - adding aria-describedby, aria-invalid, __errormsg attributes only when the form field is invalid , else removing the attributes
1764
+ // Function to get the active element markup based on widget type
1765
+ getActiveElement() {
1766
+ const widgetType = this.nativeElement.getAttribute('widgettype');
1767
+ switch (widgetType) {
1768
+ case 'select':
1769
+ return this.nativeElement.querySelector('select');
1770
+ case 'textarea':
1771
+ return this.nativeElement.querySelector('textarea');
1772
+ default:
1773
+ return this.nativeElement.querySelector('input');
1774
+ }
1775
+ }
1776
+ setAriaAttributes() {
1777
+ const element = this.getActiveElement();
1760
1778
  if (this.ngform.controls[this._fieldName].invalid && this.ngform.controls[this._fieldName].touched && this.form.isUpdateMode) {
1761
1779
  this.nativeElement.setAttribute('__errormsg', `${this.nativeElement.getAttribute('__validationId')}`);
1762
- (_a = this.nativeElement.querySelector('input')) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-invalid', `${this.ngform.controls[this._fieldName].invalid}`);
1763
- (_b = this.nativeElement.querySelector('input')) === null || _b === void 0 ? void 0 : _b.setAttribute('aria-describedby', `${this.nativeElement.getAttribute('__validationId')}`);
1780
+ element === null || element === void 0 ? void 0 : element.setAttribute('aria-invalid', `${this.ngform.controls[this._fieldName].invalid}`);
1781
+ element === null || element === void 0 ? void 0 : element.setAttribute('aria-describedby', `${this.nativeElement.getAttribute('__validationId')}`);
1764
1782
  }
1765
1783
  else {
1766
1784
  this.nativeElement.removeAttribute('__errormsg');
1767
- (_c = this.nativeElement.querySelector('input')) === null || _c === void 0 ? void 0 : _c.removeAttribute('aria-invalid');
1768
- (_d = this.nativeElement.querySelector('input')) === null || _d === void 0 ? void 0 : _d.removeAttribute('aria-describedby');
1785
+ element === null || element === void 0 ? void 0 : element.removeAttribute('aria-invalid');
1786
+ element === null || element === void 0 ? void 0 : element.removeAttribute('aria-describedby');
1769
1787
  }
1788
+ }
1789
+ _onBlurField($evt) {
1790
+ $($evt.target).closest('.live-field').removeClass('active');
1791
+ this.nativeElement.querySelector('p.text-danger');
1792
+ // Fix for [WMS-23959]: ADA issue - adding aria-describedby, aria-invalid, __errormsg attributes only when the form field is invalid , else removing the attributes
1793
+ this.setAriaAttributes();
1770
1794
  this._activeField = false;
1771
1795
  this._triggeredByUser = false;
1772
1796
  this._clicktriggeredByUser = false;
@@ -1965,7 +1989,6 @@
1965
1989
  }
1966
1990
  // On field value change, propagate event to parent form
1967
1991
  onValueChange(val) {
1968
- var _a, _b, _c, _d;
1969
1992
  if (!this.isDestroyed) {
1970
1993
  const captionEl = $(this.nativeElement).find('.caption-floating');
1971
1994
  if (captionEl.length > 0) {
@@ -1976,16 +1999,7 @@
1976
1999
  this.app.notify('captionPositionAnimate', { displayVal: hasValue, nativeEl: captionEl, isSelectMultiple: this.formWidget && this.formWidget.multiple, isFocused: this._activeField });
1977
2000
  }
1978
2001
  // Fix for [WMS-23959]: ADA issue - adding aria-describedby, aria-invalid, __errormsg attributes only when the form field is invalid , else removing the attributes
1979
- if (this.ngform.controls[this._fieldName].invalid && this.ngform.controls[this._fieldName].touched && this.form.isUpdateMode) {
1980
- this.nativeElement.setAttribute('__errormsg', `${this.nativeElement.getAttribute('__validationId')}`);
1981
- (_a = this.nativeElement.querySelector('input')) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-invalid', this._triggeredByUser && this.ngform.controls[this._fieldName].invalid ? 'true' : 'false');
1982
- (_b = this.nativeElement.querySelector('input')) === null || _b === void 0 ? void 0 : _b.setAttribute('aria-describedby', `${this.nativeElement.getAttribute('__validationId')}`);
1983
- }
1984
- else {
1985
- this.nativeElement.removeAttribute('__errormsg');
1986
- (_c = this.nativeElement.querySelector('input')) === null || _c === void 0 ? void 0 : _c.removeAttribute('aria-invalid');
1987
- (_d = this.nativeElement.querySelector('input')) === null || _d === void 0 ? void 0 : _d.removeAttribute('aria-describedby');
1988
- }
2002
+ this.setAriaAttributes();
1989
2003
  this.form.onFieldValueChange(this, val);
1990
2004
  this.notifyChanges();
1991
2005
  // Do mark as touched, only incase when user has entered an input but not through the script. Hence added mousedown event check