angular-archwizard
Version:
An Angular 9+ module containing a wizard component and its supporting components and directives
64 lines • 5.02 kB
JavaScript
import { Directive, Host, Input } from '@angular/core';
import { WizardStep } from '../util/wizard-step.interface';
/**
* The `awCompletedStep` directive can be used to make a wizard step initially completed.
*
* Initially completed steps are shown as completed when the wizard is presented to the user.
*
* A typical use case is to make a step initially completed if it is automatically filled with some derived/predefined information.
*
* ### Syntax
*
* ```html
* <aw-wizard-step awCompletedStep>
* ...
* </aw-wizard-step>
* ```
*
* An optional boolean condition can be specified:
*
* ```html
* <aw-wizard-step [awCompletedStep]="shouldBeCompleted">
* ...
* </aw-wizard-step>
* ```
*
* ### Example
*
* ```html
* <aw-wizard-step stepTitle="First step" [awCompletedStep]="firstStepPrefilled">
* ...
* </aw-wizard-step>
* ```
*/
export class CompletedStepDirective {
/**
* Constructor
*
* @param wizardStep The wizard step, which contains this [[CompletedStepDirective]]
*/
constructor(wizardStep) {
this.wizardStep = wizardStep;
// tslint:disable-next-line:no-input-rename
this.initiallyCompleted = 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.initiallyCompleted = this.initiallyCompleted || this.initiallyCompleted === '';
}
}
CompletedStepDirective.decorators = [
{ type: Directive, args: [{
selector: '[awCompletedStep]'
},] }
];
CompletedStepDirective.ctorParameters = () => [
{ type: WizardStep, decorators: [{ type: Host }] }
];
CompletedStepDirective.propDecorators = {
initiallyCompleted: [{ type: Input, args: ['awCompletedStep',] }]
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGVkLXN0ZXAuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2NvbXBsZXRlZC1zdGVwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRXpEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4Qkc7QUFJSCxNQUFNLE9BQU8sc0JBQXNCO0lBTWpDOzs7O09BSUc7SUFDSCxZQUE0QixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBVGxELDJDQUEyQztRQUVwQyx1QkFBa0IsR0FBRyxJQUFJLENBQUM7SUFRakMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUTtRQUNiLHlIQUF5SDtRQUN6SCxJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsa0JBQXlCLEtBQUssRUFBRSxDQUFDO0lBQ3hHLENBQUM7OztZQXZCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjthQUM5Qjs7O1lBbkNPLFVBQVUsdUJBK0NILElBQUk7OztpQ0FSaEIsS0FBSyxTQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBIb3N0LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7V2l6YXJkU3RlcH0gZnJvbSAnLi4vdXRpbC93aXphcmQtc3RlcC5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIFRoZSBgYXdDb21wbGV0ZWRTdGVwYCBkaXJlY3RpdmUgY2FuIGJlIHVzZWQgdG8gbWFrZSBhIHdpemFyZCBzdGVwIGluaXRpYWxseSBjb21wbGV0ZWQuXG4gKlxuICogSW5pdGlhbGx5IGNvbXBsZXRlZCBzdGVwcyBhcmUgc2hvd24gYXMgY29tcGxldGVkIHdoZW4gdGhlIHdpemFyZCBpcyBwcmVzZW50ZWQgdG8gdGhlIHVzZXIuXG4gKlxuICogQSB0eXBpY2FsIHVzZSBjYXNlIGlzIHRvIG1ha2UgYSBzdGVwIGluaXRpYWxseSBjb21wbGV0ZWQgaWYgaXQgaXMgYXV0b21hdGljYWxseSBmaWxsZWQgd2l0aCBzb21lIGRlcml2ZWQvcHJlZGVmaW5lZCBpbmZvcm1hdGlvbi5cbiAqXG4gKiAjIyMgU3ludGF4XG4gKlxuICogYGBgaHRtbFxuICogPGF3LXdpemFyZC1zdGVwIGF3Q29tcGxldGVkU3RlcD5cbiAqICAgICAuLi5cbiAqIDwvYXctd2l6YXJkLXN0ZXA+XG4gKiBgYGBcbiAqXG4gKiBBbiBvcHRpb25hbCBib29sZWFuIGNvbmRpdGlvbiBjYW4gYmUgc3BlY2lmaWVkOlxuICpcbiAqIGBgYGh0bWxcbiAqIDxhdy13aXphcmQtc3RlcCBbYXdDb21wbGV0ZWRTdGVwXT1cInNob3VsZEJlQ29tcGxldGVkXCI+XG4gKiAgICAgLi4uXG4gKiA8L2F3LXdpemFyZC1zdGVwPlxuICogYGBgXG4gKlxuICogIyMjIEV4YW1wbGVcbiAqXG4gKiBgYGBodG1sXG4gKiA8YXctd2l6YXJkLXN0ZXAgc3RlcFRpdGxlPVwiRmlyc3Qgc3RlcFwiIFthd0NvbXBsZXRlZFN0ZXBdPVwiZmlyc3RTdGVwUHJlZmlsbGVkXCI+XG4gKiAgICAgLi4uXG4gKiA8L2F3LXdpemFyZC1zdGVwPlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thd0NvbXBsZXRlZFN0ZXBdJ1xufSlcbmV4cG9ydCBjbGFzcyBDb21wbGV0ZWRTdGVwRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnYXdDb21wbGV0ZWRTdGVwJylcbiAgcHVibGljIGluaXRpYWxseUNvbXBsZXRlZCA9IHRydWU7XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdG9yXG4gICAqXG4gICAqIEBwYXJhbSB3aXphcmRTdGVwIFRoZSB3aXphcmQgc3RlcCwgd2hpY2ggY29udGFpbnMgdGhpcyBbW0NvbXBsZXRlZFN0ZXBEaXJlY3RpdmVdXVxuICAgKi9cbiAgY29uc3RydWN0b3IoQEhvc3QoKSBwcml2YXRlIHdpemFyZFN0ZXA6IFdpemFyZFN0ZXApIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXphdGlvbiB3b3JrXG4gICAqL1xuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gVGhlIGlucHV0IHJlY2VpdmVzICcnIHdoZW4gc3BlY2lmaWVkIGluIHRoZSB0ZW1wbGF0ZSB3aXRob3V0IGEgdmFsdWUuICBJbiB0aGlzIGNhc2UsIGFwcGx5IHRoZSBkZWZhdWx0IHZhbHVlIChgdHJ1ZWApLlxuICAgIHRoaXMud2l6YXJkU3RlcC5pbml0aWFsbHlDb21wbGV0ZWQgPSB0aGlzLmluaXRpYWxseUNvbXBsZXRlZCB8fCB0aGlzLmluaXRpYWxseUNvbXBsZXRlZCBhcyBhbnkgPT09ICcnO1xuICB9XG59XG4iXX0=