UNPKG

angular-wizard-form

Version:

<!-- [![npm version](https://badge.fury.io/js/angular2-wizard.svg)](https://badge.fury.io/js/angular2-wizard) --> <!-- [![Build Status](https://travis-ci.org/maiyaporn/angular2-wizard.svg?branch=master)](https://travis-ci.org/maiyaporn/angular2-wizard) --

4 lines (3 loc) 14.9 kB
{ "/Users/brunocau/project/digibee/angular-wizard-form/src/wizard-step.component.ts":{"path":"/Users/brunocau/project/digibee/angular-wizard-form/src/wizard-step.component.ts","statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1,"column":70}},"2":{"start":{"line":12,"column":0},"end":{"line":38,"column":0}},"3":{"start":{"line":14,"column":11},"end":{"line":14,"column":26}},"4":{"start":{"line":15,"column":11},"end":{"line":15,"column":26}},"5":{"start":{"line":16,"column":11},"end":{"line":16,"column":27}},"6":{"start":{"line":17,"column":11},"end":{"line":17,"column":27}},"7":{"start":{"line":19,"column":12},"end":{"line":19,"column":64}},"8":{"start":{"line":20,"column":12},"end":{"line":20,"column":64}},"9":{"start":{"line":21,"column":12},"end":{"line":21,"column":68}},"10":{"start":{"line":23,"column":10},"end":{"line":23,"column":28}},"11":{"start":{"line":24,"column":2},"end":{"line":24,"column":20}},"12":{"start":{"line":29,"column":2},"end":{"line":32,"column":3}},"13":{"start":{"line":35,"column":4},"end":{"line":35,"column":26}},"14":{"start":{"line":30,"column":4},"end":{"line":30,"column":30}},"15":{"start":{"line":31,"column":4},"end":{"line":31,"column":28}},"16":{"start":{"line":13,"column":11},"end":{"line":13,"column":25}},"17":{"start":{"line":12,"column":13},"end":{"line":38,"column":1}},"18":{"start":{"line":38,"column":0},"end":{"line":38,"column":1}},"19":{"start":{"line":12,"column":13},"end":{"line":12,"column":32}}},"fnMap":{"1":{"name":"(anonymous_2)","line":12,"loc":{"start":{"line":12,"column":0},"end":{"line":12,"column":-1}}},"2":{"name":"WizardStepComponent","line":26,"loc":{"start":{"line":26,"column":2},"end":{"line":26,"column":19}}},"3":{"name":"(anonymous_4)","line":34,"loc":{"start":{"line":34,"column":2},"end":{"line":36,"column":3}}},"4":{"name":"(anonymous_5)","line":29,"loc":{"start":{"line":29,"column":32},"end":{"line":32,"column":3}}}},"branchMap":{},"s":{"1":1,"2":1,"3":2,"4":2,"5":2,"6":2,"7":2,"8":2,"9":2,"10":1,"11":1,"12":2,"13":2,"14":0,"15":0,"16":1,"17":1,"18":1,"19":1},"b":{},"f":{"1":1,"2":1,"3":2,"4":0},"code":"import { Component, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'wizard-step',\n template:\n `\n <div [hidden]=\"!isActive\">\n <ng-content></ng-content>\n </div>\n `\n})\nexport class WizardStepComponent {\n @Input() title: string;\n @Input() hidden = false;\n @Input() isValid = true;\n @Input() showNext = true;\n @Input() showPrev = true;\n\n @Output() onNext: EventEmitter<any> = new EventEmitter<any>();\n @Output() onPrev: EventEmitter<any> = new EventEmitter<any>();\n @Output() onComplete: EventEmitter<any> = new EventEmitter<any>();\n\n private _isActive = false;\n isDisabled = true;\n\n constructor() { }\n\n @Input('isActive')\n set isActive(isActive: boolean) {\n this._isActive = isActive;\n this.isDisabled = false;\n }\n\n get isActive(): boolean {\n return this._isActive;\n }\n\n}\n","l":{"1":1,"12":1,"13":1,"14":2,"15":2,"16":2,"17":2,"19":2,"20":2,"21":2,"23":1,"24":1,"29":2,"30":0,"31":0,"35":2,"38":1}}, "/Users/brunocau/project/digibee/angular-wizard-form/src/wizard.component.ts":{"path":"/Users/brunocau/project/digibee/angular-wizard-form/src/wizard.component.ts","statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1,"column":116}},"2":{"start":{"line":2,"column":0},"end":{"line":2,"column":61}},"3":{"start":{"line":54,"column":0},"end":{"line":140,"column":0}},"4":{"start":{"line":58,"column":2},"end":{"line":58,"column":30}},"5":{"start":{"line":61,"column":2},"end":{"line":61,"column":22}},"6":{"start":{"line":64,"column":2},"end":{"line":64,"column":22}},"7":{"start":{"line":66,"column":10},"end":{"line":66,"column":50}},"8":{"start":{"line":67,"column":10},"end":{"line":67,"column":31}},"9":{"start":{"line":70,"column":2},"end":{"line":70,"column":93}},"10":{"start":{"line":74,"column":2},"end":{"line":77,"column":3}},"11":{"start":{"line":74,"column":2},"end":{"line":77,"column":2}},"12":{"start":{"line":75,"column":4},"end":{"line":75,"column":61}},"13":{"start":{"line":75,"column":37},"end":{"line":75,"column":59}},"14":{"start":{"line":76,"column":4},"end":{"line":76,"column":34}},"15":{"start":{"line":79,"column":2},"end":{"line":81,"column":3}},"16":{"start":{"line":80,"column":4},"end":{"line":80,"column":52}},"17":{"start":{"line":80,"column":38},"end":{"line":80,"column":50}},"18":{"start":{"line":83,"column":2},"end":{"line":85,"column":3}},"19":{"start":{"line":84,"column":4},"end":{"line":84,"column":29}},"20":{"start":{"line":87,"column":2},"end":{"line":89,"column":3}},"21":{"start":{"line":88,"column":4},"end":{"line":88,"column":50}},"22":{"start":{"line":88,"column":35},"end":{"line":88,"column":48}},"23":{"start":{"line":92,"column":4},"end":{"line":96,"column":5}},"24":{"start":{"line":93,"column":6},"end":{"line":93,"column":39}},"25":{"start":{"line":94,"column":6},"end":{"line":94,"column":27}},"26":{"start":{"line":95,"column":6},"end":{"line":95,"column":36}},"27":{"start":{"line":99,"column":2},"end":{"line":101,"column":3}},"28":{"start":{"line":100,"column":4},"end":{"line":100,"column":47}},"29":{"start":{"line":103,"column":2},"end":{"line":105,"column":3}},"30":{"start":{"line":104,"column":4},"end":{"line":104,"column":56}},"31":{"start":{"line":107,"column":2},"end":{"line":109,"column":3}},"32":{"start":{"line":108,"column":4},"end":{"line":108,"column":36}},"33":{"start":{"line":111,"column":9},"end":{"line":115,"column":3}},"34":{"start":{"line":112,"column":4},"end":{"line":114,"column":5}},"35":{"start":{"line":113,"column":6},"end":{"line":113,"column":29}},"36":{"start":{"line":117,"column":9},"end":{"line":124,"column":3}},"37":{"start":{"line":118,"column":4},"end":{"line":123,"column":5}},"38":{"start":{"line":119,"column":42},"end":{"line":119,"column":78}},"39":{"start":{"line":120,"column":6},"end":{"line":120,"column":36}},"40":{"start":{"line":121,"column":6},"end":{"line":121,"column":34}},"41":{"start":{"line":122,"column":6},"end":{"line":122,"column":33}},"42":{"start":{"line":126,"column":9},"end":{"line":133,"column":3}},"43":{"start":{"line":127,"column":4},"end":{"line":132,"column":5}},"44":{"start":{"line":128,"column":42},"end":{"line":128,"column":78}},"45":{"start":{"line":129,"column":6},"end":{"line":129,"column":36}},"46":{"start":{"line":130,"column":6},"end":{"line":130,"column":34}},"47":{"start":{"line":131,"column":6},"end":{"line":131,"column":33}},"48":{"start":{"line":135,"column":9},"end":{"line":138,"column":3}},"49":{"start":{"line":136,"column":4},"end":{"line":136,"column":38}},"50":{"start":{"line":137,"column":4},"end":{"line":137,"column":29}},"51":{"start":{"line":56,"column":2},"end":{"line":56,"column":46}},"52":{"start":{"line":54,"column":13},"end":{"line":140,"column":1}},"53":{"start":{"line":140,"column":0},"end":{"line":140,"column":1}},"54":{"start":{"line":54,"column":13},"end":{"line":54,"column":28}}},"fnMap":{"1":{"name":"(anonymous_2)","line":54,"loc":{"start":{"line":54,"column":0},"end":{"line":54,"column":-1}}},"2":{"name":"WizardComponent","line":72,"loc":{"start":{"line":72,"column":2},"end":{"line":72,"column":19}}},"3":{"name":"(anonymous_4)","line":74,"loc":{"start":{"line":74,"column":2},"end":{"line":77,"column":3}}},"4":{"name":"(anonymous_5)","line":75,"loc":{"start":{"line":75,"column":33},"end":{"line":75,"column":59}}},"5":{"name":"(anonymous_6)","line":79,"loc":{"start":{"line":79,"column":2},"end":{"line":81,"column":3}}},"6":{"name":"(anonymous_7)","line":80,"loc":{"start":{"line":80,"column":34},"end":{"line":80,"column":50}}},"7":{"name":"(anonymous_8)","line":83,"loc":{"start":{"line":83,"column":2},"end":{"line":85,"column":3}}},"8":{"name":"(anonymous_9)","line":87,"loc":{"start":{"line":87,"column":2},"end":{"line":89,"column":3}}},"9":{"name":"(anonymous_10)","line":88,"loc":{"start":{"line":88,"column":31},"end":{"line":88,"column":48}}},"10":{"name":"(anonymous_11)","line":91,"loc":{"start":{"line":91,"column":42},"end":{"line":97,"column":3}}},"11":{"name":"(anonymous_12)","line":99,"loc":{"start":{"line":99,"column":2},"end":{"line":101,"column":3}}},"12":{"name":"(anonymous_13)","line":103,"loc":{"start":{"line":103,"column":2},"end":{"line":105,"column":3}}},"13":{"name":"(anonymous_14)","line":107,"loc":{"start":{"line":107,"column":2},"end":{"line":109,"column":3}}},"14":{"name":"(anonymous_15)","line":111,"loc":{"start":{"line":111,"column":43},"end":{"line":115,"column":3}}},"15":{"name":"(anonymous_16)","line":117,"loc":{"start":{"line":117,"column":2},"end":{"line":124,"column":3}}},"16":{"name":"(anonymous_17)","line":126,"loc":{"start":{"line":126,"column":2},"end":{"line":133,"column":3}}},"17":{"name":"(anonymous_18)","line":135,"loc":{"start":{"line":135,"column":2},"end":{"line":138,"column":3}}}},"branchMap":{"1":{"line":92,"type":"if","locations":[{"start":{"line":92,"column":4},"end":{"line":96,"column":5}},{"start":{"line":92,"column":4},"end":{"line":96,"column":5}}]},"2":{"line":92,"type":"binary-expr","locations":[{"start":{"line":92,"column":8},"end":{"line":92,"column":32}},{"start":{"line":92,"column":36},"end":{"line":92,"column":52}}]},"3":{"line":112,"type":"if","locations":[{"start":{"line":112,"column":4},"end":{"line":114,"column":5}},{"start":{"line":112,"column":4},"end":{"line":114,"column":5}}]},"4":{"line":118,"type":"if","locations":[{"start":{"line":118,"column":4},"end":{"line":123,"column":5}},{"start":{"line":118,"column":4},"end":{"line":123,"column":5}}]},"5":{"line":127,"type":"if","locations":[{"start":{"line":127,"column":4},"end":{"line":132,"column":5}},{"start":{"line":127,"column":4},"end":{"line":132,"column":5}}]}},"s":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":0,"8":0,"9":1,"10":1,"11":0,"12":0,"13":0,"14":0,"15":1,"16":0,"17":0,"18":1,"19":0,"20":1,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":1,"28":0,"29":1,"30":0,"31":1,"32":0,"33":1,"34":0,"35":0,"36":1,"37":0,"38":0,"39":0,"40":0,"41":0,"42":1,"43":0,"44":0,"45":0,"46":0,"47":0,"48":1,"49":0,"50":0,"51":1,"52":1,"53":1,"54":1},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},"f":{"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"code":"import { Component, Output, EventEmitter, ContentChildren, QueryList, AfterContentInit, Input } from '@angular/core';\nimport { WizardStepComponent } from './wizard-step.component';\n\n@Component({\n selector: 'form-wizard',\n template:\n `<div class=\"card\">\n <div class=\"card-header\">\n <ul class=\"nav nav-justified\">\n <li class=\"nav-item\"\n *ngFor=\"let step of steps\"\n [ngClass]=\"{'active': step.isActive, 'enabled': !step.isDisabled, 'disabled': step.isDisabled, 'completed': isCompleted}\">\n <a (click)=\"goToStep(step)\">{{step.title}}</a>\n </li>\n </ul>\n </div>\n <div class=\"card-block\">\n <ng-content></ng-content>\n </div>\n <div class=\"card-footer\" [hidden]=\"isCompleted\">\n <button\n type=\"button\"\n class=\"btn btn-secondary float-left\"\n (click)=\"previous()\"\n [hidden]=\"!hasPrevStep || !activeStep.showPrev\">{{txtBtnPrevious}}</button>\n <button\n type=\"button\"\n class=\"btn btn-secondary float-right\"\n (click)=\"next()\"\n [disabled]=\"!activeStep.isValid\"\n [hidden]=\"!hasNextStep || !activeStep.showNext\">{{txtBtnNext}}</button>\n\n <button\n type=\"button\"\n class=\"btn btn-secondary float-right\"\n (click)=\"complete()\"\n [disabled]=\"!activeStep.isValid\"\n [hidden]=\"hasNextStep\">{{txtBtnDone}}</button>\n </div>\n </div>`\n ,\n styles: [\n '.card { height: 100%; }',\n '.card-header { background-color: #fff; padding: 0; font-size: 1.25rem; }',\n '.card-block { overflow-y: auto; }',\n '.card-footer { background-color: #fff; border-top: 0 none; }',\n '.nav-item { padding: 1rem 0rem; border-bottom: 0.5rem solid #ccc; }',\n '.active { font-weight: bold; color: black; border-bottom-color: #1976D2 !important; }',\n '.enabled { cursor: pointer; border-bottom-color: rgb(88, 162, 234); }',\n '.disabled { color: #ccc; }',\n '.completed { cursor: default; }'\n ]\n})\nexport class WizardComponent implements AfterContentInit {\n @ContentChildren(WizardStepComponent)\n wizardSteps: QueryList<WizardStepComponent>;\n @Input()\n txtBtnPrevious = 'Previous';\n\n @Input()\n txtBtnNext = 'Next';\n\n @Input()\n txtBtnDone = 'Done';\n\n private _steps: Array<WizardStepComponent> = [];\n private _isCompleted = false;\n\n @Output()\n onStepChanged: EventEmitter<WizardStepComponent> = new EventEmitter<WizardStepComponent>();\n\n constructor() { }\n\n ngAfterContentInit() {\n this.wizardSteps.forEach(step => this._steps.push(step));\n this.steps[0].isActive = true;\n }\n\n get steps(): Array<WizardStepComponent> {\n return this._steps.filter(step => !step.hidden);\n }\n\n get isCompleted(): boolean {\n return this._isCompleted;\n }\n\n get activeStep(): WizardStepComponent {\n return this.steps.find(step => step.isActive);\n }\n\n set activeStep(step: WizardStepComponent) {\n if (step !== this.activeStep && !step.isDisabled) {\n this.activeStep.isActive = false;\n step.isActive = true;\n this.onStepChanged.emit(step);\n }\n }\n\n public get activeStepIndex(): number {\n return this.steps.indexOf(this.activeStep);\n }\n\n get hasNextStep(): boolean {\n return this.activeStepIndex < this.steps.length - 1;\n }\n\n get hasPrevStep(): boolean {\n return this.activeStepIndex > 0;\n }\n\n public goToStep(step: WizardStepComponent): void {\n if (!this.isCompleted) {\n this.activeStep = step;\n }\n }\n\n public next(): void {\n if (this.hasNextStep) {\n let nextStep: WizardStepComponent = this.steps[this.activeStepIndex + 1];\n this.activeStep.onNext.emit();\n nextStep.isDisabled = false;\n this.activeStep = nextStep;\n }\n }\n\n public previous(): void {\n if (this.hasPrevStep) {\n let prevStep: WizardStepComponent = this.steps[this.activeStepIndex - 1];\n this.activeStep.onPrev.emit();\n prevStep.isDisabled = false;\n this.activeStep = prevStep;\n }\n }\n\n public complete(): void {\n this.activeStep.onComplete.emit();\n this._isCompleted = true;\n }\n\n}\n","l":{"1":1,"2":1,"54":1,"56":1,"58":1,"61":1,"64":1,"66":0,"67":0,"70":1,"74":1,"75":0,"76":0,"79":1,"80":0,"83":1,"84":0,"87":1,"88":0,"92":0,"93":0,"94":0,"95":0,"99":1,"100":0,"103":1,"104":0,"107":1,"108":0,"111":1,"112":0,"113":0,"117":1,"118":0,"119":0,"120":0,"121":0,"122":0,"126":1,"127":0,"128":0,"129":0,"130":0,"131":0,"135":1,"136":0,"137":0,"140":1}}}