in src/components/users/signin-social/signinSocialViewModelBinder.ts [32:87]
public async modelToState(model: SigninSocialModel, state: WidgetState): Promise<void> {
state.security = model.security;
let classNames;
if (model.styles) {
const styleModel = await this.styleCompiler.getStyleModelAsync(model.styles);
classNames = styleModel.classNames;
}
const identityProviders = await this.identityService.getIdentityProviders();
const aadIdentityProvider = identityProviders.find(x => x.type === "aad");
const aadB2CIdentityProvider = identityProviders.find(x => x.type === "aadB2C");
// Is necessary for displaying Terms of Use. Will be called when the back-end implementation is done
const termsOfService = await this.getTermsOfService();
const termsOfUse = (termsOfService.text && termsOfService.enabled) ? termsOfService.text : undefined;
if (aadIdentityProvider) {
state.aadConfig = {
classNames: classNames,
label: model.aadLabel,
replyUrl: model.aadReplyUrl || undefined,
termsOfUse: aadB2CIdentityProvider ? undefined : termsOfUse // display terms of use only once if both configs are present
};
}
if (aadB2CIdentityProvider) {
state.aadB2CConfig = {
classNames: classNames,
label: model.aadB2CLabel,
replyUrl: model.aadB2CReplyUrl || undefined,
termsOfUse
};
}
state.security = model.security;
const settings = await this.settingsProvider.getSettings();
state.mode = settings["environment"];
if (model.styles) {
state.styles = await this.styleCompiler.getStyleModelAsync(model.styles);
}
let isRedesignEnabled = false;
try {
isRedesignEnabled = !!(await this.siteService.getSetting(isRedesignEnabledSetting));
} catch (error) {
this.logger?.trackError(error, { message: `Failed to get setting: ${isRedesignEnabledSetting} - SigninSocialViewModelBinder` });
} finally {
state.isRedesignEnabled = isRedesignEnabled;
}
}