@mobilelivenpm/fds-angular-qa
Version:
This library was generated with [Nx](https://nx.dev).
51 lines • 5.21 kB
JavaScript
import { CdkStepperNext, CdkStepperPrevious } from '@angular/cdk/stepper';
import { Directive } from '@angular/core';
import { CdkStepper } from '@angular/cdk/stepper';
import { markFormGroupTouched } from '../shared/forms';
/** Button that moves to the next step in a stepper workflow. */
export class FdsStepperNext extends CdkStepperNext {
constructor(_stepper) {
super(_stepper);
}
/**
* Extend default cdkStepper with additional functionality:
* When user clicks Next button and [stepControl] (FormControl) is invalid
* Mark all fields as touched to show errors.
*/
_handleClick() {
const steps = this._stepper.steps.toArray();
const index = this._stepper.selectedIndex;
if (steps[index] &&
steps[index].stepControl &&
steps[index].stepControl.invalid) {
markFormGroupTouched(steps[index].stepControl);
}
// window.scrollTo(0, 0);
super._handleClick();
}
}
FdsStepperNext.decorators = [
{ type: Directive, args: [{
selector: 'button[fdsStepperNext]',
host: {
'[type]': 'type'
},
inputs: ['type']
},] }
];
FdsStepperNext.ctorParameters = () => [
{ type: CdkStepper }
];
/** Button that moves to the previous step in a stepper workflow. */
export class FdsStepperPrevious extends CdkStepperPrevious {
}
FdsStepperPrevious.decorators = [
{ type: Directive, args: [{
selector: 'button[fdsStepperPrevious]',
host: {
'[type]': 'type'
},
inputs: ['type']
},] }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci1idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9zdGVwcGVyL3N0ZXBwZXItYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUd2RCxnRUFBZ0U7QUFRaEUsTUFBTSxPQUFPLGNBQWUsU0FBUSxjQUFjO0lBR2hELFlBQVksUUFBb0I7UUFDOUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsWUFBWTtRQUNWLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzVDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO1FBQzFDLElBQ0UsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNaLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXO1lBQ3hCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUNoQztZQUNBLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUF3QixDQUFDLENBQUM7U0FDN0Q7UUFDRCx5QkFBeUI7UUFDekIsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7OztZQS9CRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsSUFBSSxFQUFFO29CQUNKLFFBQVEsRUFBRSxNQUFNO2lCQUNqQjtnQkFDRCxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUM7YUFDakI7OztZQVhRLFVBQVU7O0FBdUNuQixvRUFBb0U7QUFRcEUsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGtCQUFrQjs7O1lBUHpELFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNEJBQTRCO2dCQUN0QyxJQUFJLEVBQUU7b0JBQ0osUUFBUSxFQUFFLE1BQU07aUJBQ2pCO2dCQUNELE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQzthQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka1N0ZXBwZXJOZXh0LCBDZGtTdGVwcGVyUHJldmlvdXMgfSBmcm9tICdAYW5ndWxhci9jZGsvc3RlcHBlcic7XG5pbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENka1N0ZXBwZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvc3RlcHBlcic7XG5pbXBvcnQgeyBtYXJrRm9ybUdyb3VwVG91Y2hlZCB9IGZyb20gJy4uL3NoYXJlZC9mb3Jtcyc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKiBCdXR0b24gdGhhdCBtb3ZlcyB0byB0aGUgbmV4dCBzdGVwIGluIGEgc3RlcHBlciB3b3JrZmxvdy4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2J1dHRvbltmZHNTdGVwcGVyTmV4dF0nLFxuICBob3N0OiB7XG4gICAgJ1t0eXBlXSc6ICd0eXBlJ1xuICB9LFxuICBpbnB1dHM6IFsndHlwZSddXG59KVxuZXhwb3J0IGNsYXNzIEZkc1N0ZXBwZXJOZXh0IGV4dGVuZHMgQ2RrU3RlcHBlck5leHQge1xuICBfc3RlcHBlcjogQ2RrU3RlcHBlcjtcblxuICBjb25zdHJ1Y3Rvcihfc3RlcHBlcjogQ2RrU3RlcHBlcikge1xuICAgIHN1cGVyKF9zdGVwcGVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHRlbmQgZGVmYXVsdCBjZGtTdGVwcGVyIHdpdGggYWRkaXRpb25hbCBmdW5jdGlvbmFsaXR5OlxuICAgKiBXaGVuIHVzZXIgY2xpY2tzIE5leHQgYnV0dG9uIGFuZCBbc3RlcENvbnRyb2xdIChGb3JtQ29udHJvbCkgaXMgaW52YWxpZFxuICAgKiBNYXJrIGFsbCBmaWVsZHMgYXMgdG91Y2hlZCB0byBzaG93IGVycm9ycy5cbiAgICovXG4gIF9oYW5kbGVDbGljaygpIHtcbiAgICBjb25zdCBzdGVwcyA9IHRoaXMuX3N0ZXBwZXIuc3RlcHMudG9BcnJheSgpO1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5fc3RlcHBlci5zZWxlY3RlZEluZGV4O1xuICAgIGlmIChcbiAgICAgIHN0ZXBzW2luZGV4XSAmJlxuICAgICAgc3RlcHNbaW5kZXhdLnN0ZXBDb250cm9sICYmXG4gICAgICBzdGVwc1tpbmRleF0uc3RlcENvbnRyb2wuaW52YWxpZFxuICAgICkge1xuICAgICAgbWFya0Zvcm1Hcm91cFRvdWNoZWQoc3RlcHNbaW5kZXhdLnN0ZXBDb250cm9sIGFzIEZvcm1Hcm91cCk7XG4gICAgfVxuICAgIC8vIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcbiAgICBzdXBlci5faGFuZGxlQ2xpY2soKTtcbiAgfVxufVxuXG4vKiogQnV0dG9uIHRoYXQgbW92ZXMgdG8gdGhlIHByZXZpb3VzIHN0ZXAgaW4gYSBzdGVwcGVyIHdvcmtmbG93LiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnYnV0dG9uW2Zkc1N0ZXBwZXJQcmV2aW91c10nLFxuICBob3N0OiB7XG4gICAgJ1t0eXBlXSc6ICd0eXBlJ1xuICB9LFxuICBpbnB1dHM6IFsndHlwZSddXG59KVxuZXhwb3J0IGNsYXNzIEZkc1N0ZXBwZXJQcmV2aW91cyBleHRlbmRzIENka1N0ZXBwZXJQcmV2aW91cyB7fSJdfQ==