initial import for Open Source 🎉
This commit is contained in:
parent
1898c361f3
commit
9c0dd3b722
2048 changed files with 218743 additions and 0 deletions
|
@ -0,0 +1,55 @@
|
|||
import { Component, Input, Inject, Host, OnChanges, OnInit, SimpleChanges, HostListener } from 'ng-metadata/core';
|
||||
import { LinearWorkflowComponent } from './linear-workflow.component';
|
||||
|
||||
|
||||
/**
|
||||
* A component which displays a single section in a linear workflow.
|
||||
*/
|
||||
@Component({
|
||||
selector: 'linear-workflow-section',
|
||||
templateUrl: '/static/js/directives/ui/linear-workflow/linear-workflow-section.component.html',
|
||||
legacy: {
|
||||
transclude: true
|
||||
}
|
||||
})
|
||||
export class LinearWorkflowSectionComponent implements OnChanges, OnInit {
|
||||
|
||||
@Input('@') public sectionId: string;
|
||||
@Input('@') public sectionTitle: string;
|
||||
@Input('<') public sectionValid: boolean = false;
|
||||
@Input('<') public skipSection: boolean = false;
|
||||
public sectionVisible: boolean = false;
|
||||
public isCurrentSection: boolean = false;
|
||||
|
||||
constructor(@Host() @Inject(LinearWorkflowComponent) private parent: LinearWorkflowComponent) {
|
||||
|
||||
}
|
||||
|
||||
public ngOnInit(): void {
|
||||
if (!this.skipSection) {
|
||||
this.parent.addSection(this);
|
||||
}
|
||||
}
|
||||
|
||||
public ngOnChanges(changes: SimpleChanges): void {
|
||||
switch (Object.keys(changes)[0]) {
|
||||
case 'sectionValid':
|
||||
if (changes['sectionValid'].previousValue && !changes['sectionValid'].currentValue && this.parent) {
|
||||
this.parent.onSectionInvalid(this.sectionId);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'skipSection':
|
||||
if (changes['skipSection'].currentValue && this.isCurrentSection && this.parent) {
|
||||
this.parent.onNextSection();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public onSubmitSection(): void {
|
||||
if (this.sectionValid) {
|
||||
this.parent.onNextSection();
|
||||
}
|
||||
}
|
||||
}
|
Reference in a new issue