libs/common/web-components/src/back-link-adapter/back-link-utils.service.ts
Methods |
constructor()
|
isBackLinkFeatureActiveForActions | ||||||
isBackLinkFeatureActiveForActions(isLastPage: boolean)
|
||||||
Parameters :
Returns :
boolean
|
isBackLinkFeatureActiveForStage | ||||||
isBackLinkFeatureActiveForStage(hideBackLink: boolean | undefined)
|
||||||
Parameters :
Returns :
boolean
|
import { CHANNEL, CHANNEL_TOKEN } from '@allianz/taly-core';
import { Injectable, inject } from '@angular/core';
import { BackLinkAdapterService } from './back-link-adapter.service';
@Injectable({
providedIn: 'root'
})
export class BackLinkUtilsService {
private backLinkAdapterService = inject(BackLinkAdapterService, { optional: true });
private isRetailChannel: boolean;
constructor() {
const channel = inject<CHANNEL>(CHANNEL_TOKEN);
this.isRetailChannel = channel === CHANNEL.RETAIL;
}
isBackLinkFeatureActiveForStage(hideBackLink: boolean | undefined): boolean {
return Boolean(
this.isRetailChannel &&
!hideBackLink &&
this.backLinkAdapterService?.backLinkData?.stageLinkLabel
);
}
isBackLinkFeatureActiveForActions(isLastPage: boolean): boolean {
return Boolean(this.isRetailChannel && isLastPage && this.hasNextButtonLabel());
}
private hasNextButtonLabel(): boolean {
const nextButtonLabel = this.backLinkAdapterService?.backLinkData?.nextButtonLabel;
if (Array.isArray(nextButtonLabel) && nextButtonLabel.length > 0) {
return true;
}
return Boolean(nextButtonLabel);
}
}