UNPKG

angular-archwizard

Version:

An Angular 9+ module containing a wizard component and its supporting components and directives

55 lines 4.2 kB
import { Directive, Host, Input } from '@angular/core'; import { WizardStep } from '../util/wizard-step.interface'; /** * The `awOptionalStep` directive can be used to define an optional `wizard-step`. * An optional wizard step is a [[WizardStep]] that doesn't need to be completed to transition to later wizard steps. * * ### Syntax * * ```html * <aw-wizard-step awOptionalStep> * ... * </aw-wizard-step> * ``` * * ### Example * * ```html * <aw-wizard-step stepTitle="Second step" awOptionalStep> * ... * </aw-wizard-step> * ``` * * @author Marc Arndt */ export class OptionalStepDirective { /** * Constructor * * @param wizardStep The wizard step, which contains this [[OptionalStepDirective]] */ constructor(wizardStep) { this.wizardStep = wizardStep; // tslint:disable-next-line:no-input-rename this.optional = true; } /** * Initialization work */ ngOnInit() { // The input receives '' when specified in the template without a value. In this case, apply the default value (`true`). this.wizardStep.optional = this.optional || this.optional === ''; } } OptionalStepDirective.decorators = [ { type: Directive, args: [{ selector: '[awOptionalStep]' },] } ]; OptionalStepDirective.ctorParameters = () => [ { type: WizardStep, decorators: [{ type: Host }] } ]; OptionalStepDirective.propDecorators = { optional: [{ type: Input, args: ['awOptionalStep',] }] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uYWwtc3RlcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vc3JjLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvb3B0aW9uYWwtc3RlcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUV6RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBSUgsTUFBTSxPQUFPLHFCQUFxQjtJQU1oQzs7OztPQUlHO0lBQ0gsWUFBNEIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVRsRCwyQ0FBMkM7UUFFcEMsYUFBUSxHQUFHLElBQUksQ0FBQztJQVF2QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRO1FBQ2IseUhBQXlIO1FBQ3pILElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQWUsS0FBSyxFQUFFLENBQUM7SUFDMUUsQ0FBQzs7O1lBdkJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2FBQzdCOzs7WUExQk8sVUFBVSx1QkFzQ0gsSUFBSTs7O3VCQVJoQixLQUFLLFNBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEhvc3QsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtXaXphcmRTdGVwfSBmcm9tICcuLi91dGlsL3dpemFyZC1zdGVwLmludGVyZmFjZSc7XG5cbi8qKlxuICogVGhlIGBhd09wdGlvbmFsU3RlcGAgZGlyZWN0aXZlIGNhbiBiZSB1c2VkIHRvIGRlZmluZSBhbiBvcHRpb25hbCBgd2l6YXJkLXN0ZXBgLlxuICogQW4gb3B0aW9uYWwgd2l6YXJkIHN0ZXAgaXMgYSBbW1dpemFyZFN0ZXBdXSB0aGF0IGRvZXNuJ3QgbmVlZCB0byBiZSBjb21wbGV0ZWQgdG8gdHJhbnNpdGlvbiB0byBsYXRlciB3aXphcmQgc3RlcHMuXG4gKlxuICogIyMjIFN5bnRheFxuICpcbiAqIGBgYGh0bWxcbiAqIDxhdy13aXphcmQtc3RlcCBhd09wdGlvbmFsU3RlcD5cbiAqICAgICAuLi5cbiAqIDwvYXctd2l6YXJkLXN0ZXA+XG4gKiBgYGBcbiAqXG4gKiAjIyMgRXhhbXBsZVxuICpcbiAqIGBgYGh0bWxcbiAqIDxhdy13aXphcmQtc3RlcCBzdGVwVGl0bGU9XCJTZWNvbmQgc3RlcFwiIGF3T3B0aW9uYWxTdGVwPlxuICogICAgIC4uLlxuICogPC9hdy13aXphcmQtc3RlcD5cbiAqIGBgYFxuICpcbiAqIEBhdXRob3IgTWFyYyBBcm5kdFxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXdPcHRpb25hbFN0ZXBdJ1xufSlcbmV4cG9ydCBjbGFzcyBPcHRpb25hbFN0ZXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdhd09wdGlvbmFsU3RlcCcpXG4gIHB1YmxpYyBvcHRpb25hbCA9IHRydWU7XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdG9yXG4gICAqXG4gICAqIEBwYXJhbSB3aXphcmRTdGVwIFRoZSB3aXphcmQgc3RlcCwgd2hpY2ggY29udGFpbnMgdGhpcyBbW09wdGlvbmFsU3RlcERpcmVjdGl2ZV1dXG4gICAqL1xuICBjb25zdHJ1Y3RvcihASG9zdCgpIHByaXZhdGUgd2l6YXJkU3RlcDogV2l6YXJkU3RlcCkge1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemF0aW9uIHdvcmtcbiAgICovXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBUaGUgaW5wdXQgcmVjZWl2ZXMgJycgd2hlbiBzcGVjaWZpZWQgaW4gdGhlIHRlbXBsYXRlIHdpdGhvdXQgYSB2YWx1ZS4gIEluIHRoaXMgY2FzZSwgYXBwbHkgdGhlIGRlZmF1bHQgdmFsdWUgKGB0cnVlYCkuXG4gICAgdGhpcy53aXphcmRTdGVwLm9wdGlvbmFsID0gdGhpcy5vcHRpb25hbCB8fCB0aGlzLm9wdGlvbmFsIGFzIGFueSA9PT0gJyc7XG4gIH1cbn1cbiJdfQ==