UNPKG

@mobilelivenpm/fds-angular-qa

Version:

This library was generated with [Nx](https://nx.dev).

51 lines 5.21 kB
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==