@pega/dx-component-builder-sdk
Version:
Utility for building custom UI components
86 lines (69 loc) • 2.4 kB
text/typescript
import { Component, OnInit, Input, Output, EventEmitter, forwardRef } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormGroup } from '@angular/forms';
import { Utils } from '@pega/angular-sdk-components';
import { ComponentMapperComponent } from '@pega/angular-sdk-components';
export class MultiStepComponent implements OnInit {
pConn$: typeof PConnect;
formGroup$: FormGroup;
arMainButtons$: any[];
arSecondaryButtons$: any[];
arChildren$: any[];
bIsVertical$: boolean;
arCurrentStepIndicies$: number[];
arNavigationSteps$: any[];
actionButtonClick: EventEmitter<any> = new EventEmitter();
svgCurrent$: string;
svgNotCurrent$: string;
bShow$ = true;
constructor(private utils: Utils) {}
ngOnInit(): void {
// svg icons
this.svgCurrent$ = this.utils.getImageSrc('circle-solid', this.utils.getSDKStaticContentUrl());
this.svgNotCurrent$ = this.utils.getImageSrc('circle-solid', this.utils.getSDKStaticContentUrl());
}
onActionButtonClick(oData: any) {
this.actionButtonClick.emit(oData);
}
_getVIconClass(status): string {
if (status == 'current') {
return 'psdk-vertical-step-icon-selected';
}
return 'psdk-vertical-step-icon';
}
_getVLabelClass(status): string {
if (status == 'current') {
return 'psdk-vertical-step-label-selected';
}
return 'psdk-vertical-step-label';
}
_getVBodyClass(index: number): string {
if (index < this.arNavigationSteps$.length - 1) {
return 'psdk-vertical-step-body psdk-vertical-step-line';
}
return 'psdk-vertical-step-body';
}
_getHIconClass(status): string {
if (status == 'current') {
return 'psdk-horizontal-step-icon-selected';
}
return 'psdk-horizontal-step-icon';
}
_getHLabelClass(status): string {
if (status == 'current') {
return 'psdk-horizontal-step-label-selected';
}
return 'psdk-horizontal-step-label';
}
_showHLine(index: number): boolean {
return index < this.arNavigationSteps$.length - 1;
}
}